From 213feff2754d1be86de092595d516f7b85c19047 Mon Sep 17 00:00:00 2001 From: github-actions-bot Date: Thu, 21 Nov 2024 13:08:27 +0000 Subject: [PATCH] Updates --- 1c-enterprise/daily/index.xml | 2 +- 2-dimensional-array/daily/index.xml | 2 +- 4d/daily/index.xml | 2 +- abap-cds/daily/index.xml | 2 +- abap/daily/index.xml | 2 +- abnf/daily/index.xml | 2 +- actionscript/daily/index.xml | 2 +- ada/daily/index.xml | 2 +- adobe-font-metrics/daily/index.xml | 2 +- agda/daily/index.xml | 2 +- ags-script/daily/index.xml | 2 +- aidl/daily/index.xml | 2 +- al/daily/index.xml | 2 +- all/daily/index.xml | 26 +++++-------------- alloy/daily/index.xml | 2 +- alpine-abuild/daily/index.xml | 2 +- altium-designer/daily/index.xml | 2 +- ampl/daily/index.xml | 2 +- angelscript/daily/index.xml | 2 +- ant-build-system/daily/index.xml | 2 +- antlr/daily/index.xml | 2 +- apacheconf/daily/index.xml | 2 +- apex/daily/index.xml | 2 +- api-blueprint/daily/index.xml | 2 +- apl/daily/index.xml | 2 +- apollo-guidance-computer/daily/index.xml | 2 +- applescript/daily/index.xml | 2 +- arc/daily/index.xml | 2 +- asciidoc/daily/index.xml | 2 +- asl/daily/index.xml | 2 +- asn.1/daily/index.xml | 2 +- asp.net/daily/index.xml | 2 +- aspectj/daily/index.xml | 2 +- assembly/daily/index.xml | 2 +- astro/daily/index.xml | 2 +- asymptote/daily/index.xml | 2 +- ats/daily/index.xml | 2 +- augeas/daily/index.xml | 2 +- autohotkey/daily/index.xml | 2 +- autoit/daily/index.xml | 2 +- avro-idl/daily/index.xml | 2 +- awk/daily/index.xml | 2 +- ballerina/daily/index.xml | 2 +- basic/daily/index.xml | 2 +- batchfile/daily/index.xml | 2 +- beef/daily/index.xml | 2 +- befunge/daily/index.xml | 2 +- berry/daily/index.xml | 2 +- bibtex/daily/index.xml | 2 +- bicep/daily/index.xml | 2 +- bison/daily/index.xml | 2 +- bitbake/daily/index.xml | 2 +- blade/daily/index.xml | 2 +- blitzbasic/daily/index.xml | 2 +- blitzmax/daily/index.xml | 2 +- bluespec/daily/index.xml | 2 +- boo/daily/index.xml | 2 +- boogie/daily/index.xml | 2 +- brainfuck/daily/index.xml | 2 +- brightscript/daily/index.xml | 2 +- browserslist/daily/index.xml | 2 +- c%23/daily/index.xml | 22 ++++++++-------- c++/daily/index.xml | 9 +------ c-objdump/daily/index.xml | 2 +- c/daily/index.xml | 12 ++++----- c2hs-haskell/daily/index.xml | 2 +- cabal-config/daily/index.xml | 2 +- cadence/daily/index.xml | 2 +- cairo/daily/index.xml | 2 +- cap'n-proto/daily/index.xml | 2 +- cartocss/daily/index.xml | 2 +- ceylon/daily/index.xml | 2 +- chapel/daily/index.xml | 2 +- charity/daily/index.xml | 2 +- chuck/daily/index.xml | 2 +- cil/daily/index.xml | 2 +- cirru/daily/index.xml | 2 +- clarion/daily/index.xml | 2 +- clarity/daily/index.xml | 2 +- classic-asp/daily/index.xml | 2 +- clean/daily/index.xml | 2 +- click/daily/index.xml | 2 +- clips/daily/index.xml | 2 +- clojure/daily/index.xml | 9 +------ closure-templates/daily/index.xml | 2 +- .../daily/index.xml | 2 +- cmake/daily/index.xml | 2 +- cobol/daily/index.xml | 2 +- codeowners/daily/index.xml | 2 +- codeql/daily/index.xml | 2 +- coffeescript/daily/index.xml | 2 +- coldfusion-cfc/daily/index.xml | 2 +- coldfusion/daily/index.xml | 2 +- collada/daily/index.xml | 2 +- common-lisp/daily/index.xml | 2 +- common-workflow-language/daily/index.xml | 2 +- component-pascal/daily/index.xml | 2 +- conll-u/daily/index.xml | 2 +- cool/daily/index.xml | 2 +- coq/daily/index.xml | 2 +- cpp-objdump/daily/index.xml | 2 +- creole/daily/index.xml | 2 +- crystal/daily/index.xml | 2 +- cson/daily/index.xml | 2 +- csound-document/daily/index.xml | 2 +- csound-score/daily/index.xml | 2 +- csound/daily/index.xml | 2 +- css/daily/index.xml | 2 +- csv/daily/index.xml | 2 +- cuda/daily/index.xml | 2 +- cue/daily/index.xml | 2 +- curl-config/daily/index.xml | 2 +- curry/daily/index.xml | 2 +- cweb/daily/index.xml | 2 +- cycript/daily/index.xml | 2 +- cython/daily/index.xml | 2 +- d-objdump/daily/index.xml | 2 +- d/daily/index.xml | 2 +- dafny/daily/index.xml | 2 +- darcs-patch/daily/index.xml | 2 +- dart/daily/index.xml | 2 +- dataweave/daily/index.xml | 2 +- debian-package-control-file/daily/index.xml | 2 +- denizenscript/daily/index.xml | 2 +- desktop/daily/index.xml | 2 +- dhall/daily/index.xml | 2 +- diff/daily/index.xml | 2 +- digital-command-language/daily/index.xml | 2 +- dircolors/daily/index.xml | 2 +- directx-3d-file/daily/index.xml | 2 +- dm/daily/index.xml | 2 +- dns-zone/daily/index.xml | 2 +- dockerfile/daily/index.xml | 9 +------ dogescript/daily/index.xml | 2 +- dtrace/daily/index.xml | 2 +- dylan/daily/index.xml | 2 +- e-mail/daily/index.xml | 2 +- e/daily/index.xml | 2 +- eagle/daily/index.xml | 2 +- earthly/daily/index.xml | 2 +- easybuild/daily/index.xml | 2 +- ebnf/daily/index.xml | 2 +- ec/daily/index.xml | 2 +- ecere-projects/daily/index.xml | 2 +- ecl/daily/index.xml | 2 +- eclipse/daily/index.xml | 2 +- editorconfig/daily/index.xml | 2 +- edje-data-collection/daily/index.xml | 2 +- edn/daily/index.xml | 2 +- eiffel/daily/index.xml | 2 +- ejs/daily/index.xml | 2 +- elixir/daily/index.xml | 2 +- elm/daily/index.xml | 2 +- emacs-lisp/daily/index.xml | 2 +- emberscript/daily/index.xml | 2 +- eq/daily/index.xml | 2 +- erlang/daily/index.xml | 2 +- euphoria/daily/index.xml | 2 +- f%23/daily/index.xml | 2 +- f*/daily/index.xml | 2 +- factor/daily/index.xml | 2 +- fancy/daily/index.xml | 2 +- fantom/daily/index.xml | 2 +- faust/daily/index.xml | 2 +- fennel/daily/index.xml | 2 +- figlet-font/daily/index.xml | 2 +- filebench-wml/daily/index.xml | 2 +- filterscript/daily/index.xml | 2 +- fish/daily/index.xml | 2 +- fluent/daily/index.xml | 2 +- flux/daily/index.xml | 2 +- formatted/daily/index.xml | 2 +- forth/daily/index.xml | 2 +- fortran-free-form/daily/index.xml | 2 +- fortran/daily/index.xml | 9 +------ freebasic/daily/index.xml | 2 +- freemarker/daily/index.xml | 2 +- frege/daily/index.xml | 2 +- futhark/daily/index.xml | 2 +- g-code/daily/index.xml | 2 +- game-maker-language/daily/index.xml | 2 +- gaml/daily/index.xml | 2 +- gams/daily/index.xml | 2 +- gap/daily/index.xml | 2 +- gcc-machine-description/daily/index.xml | 2 +- gdb/daily/index.xml | 2 +- gdscript/daily/index.xml | 2 +- gedcom/daily/index.xml | 2 +- gemfile.lock/daily/index.xml | 2 +- genie/daily/index.xml | 2 +- genshi/daily/index.xml | 2 +- gentoo-ebuild/daily/index.xml | 2 +- gentoo-eclass/daily/index.xml | 2 +- gerber-image/daily/index.xml | 2 +- gettext-catalog/daily/index.xml | 2 +- gherkin/daily/index.xml | 2 +- git-attributes/daily/index.xml | 2 +- git-config/daily/index.xml | 2 +- gleam/daily/index.xml | 2 +- glsl/daily/index.xml | 2 +- .../daily/index.xml | 2 +- glyph/daily/index.xml | 2 +- gn/daily/index.xml | 2 +- gnuplot/daily/index.xml | 2 +- go-checksums/daily/index.xml | 2 +- go-module/daily/index.xml | 2 +- go/daily/index.xml | 9 ++++++- golo/daily/index.xml | 2 +- gosu/daily/index.xml | 2 +- grace/daily/index.xml | 2 +- gradle/daily/index.xml | 2 +- grammatical-framework/daily/index.xml | 2 +- graph-modeling-language/daily/index.xml | 2 +- graphql/daily/index.xml | 2 +- graphviz-(dot)/daily/index.xml | 2 +- groovy-server-pages/daily/index.xml | 2 +- groovy/daily/index.xml | 2 +- gsc/daily/index.xml | 2 +- hack/daily/index.xml | 2 +- haml/daily/index.xml | 2 +- handlebars/daily/index.xml | 2 +- haproxy/daily/index.xml | 2 +- harbour/daily/index.xml | 2 +- haskell/daily/index.xml | 9 ++++++- haxe/daily/index.xml | 2 +- hcl/daily/index.xml | 2 +- hiveql/daily/index.xml | 2 +- hlsl/daily/index.xml | 2 +- holyc/daily/index.xml | 2 +- hoon/daily/index.xml | 2 +- html+ecr/daily/index.xml | 2 +- html+eex/daily/index.xml | 2 +- html+erb/daily/index.xml | 2 +- html+php/daily/index.xml | 2 +- html+razor/daily/index.xml | 2 +- html/daily/index.xml | 2 +- http/daily/index.xml | 2 +- hxml/daily/index.xml | 2 +- hy/daily/index.xml | 2 +- hyphy/daily/index.xml | 2 +- idl/daily/index.xml | 2 +- idris/daily/index.xml | 2 +- ignore-list/daily/index.xml | 2 +- igor-pro/daily/index.xml | 2 +- imagej-macro/daily/index.xml | 2 +- inform-7/daily/index.xml | 2 +- ini/daily/index.xml | 2 +- inno-setup/daily/index.xml | 2 +- io/daily/index.xml | 2 +- ioke/daily/index.xml | 2 +- irc-log/daily/index.xml | 2 +- isabelle-root/daily/index.xml | 2 +- isabelle/daily/index.xml | 2 +- j/daily/index.xml | 2 +- janet/daily/index.xml | 2 +- jar-manifest/daily/index.xml | 2 +- jasmin/daily/index.xml | 2 +- java-properties/daily/index.xml | 2 +- java-server-pages/daily/index.xml | 2 +- java/daily/index.xml | 9 +------ javascript+erb/daily/index.xml | 2 +- javascript/daily/index.xml | 2 +- jest-snapshot/daily/index.xml | 2 +- jflex/daily/index.xml | 2 +- jinja/daily/index.xml | 2 +- jison-lex/daily/index.xml | 2 +- jison/daily/index.xml | 2 +- jolie/daily/index.xml | 2 +- jq/daily/index.xml | 2 +- json-with-comments/daily/index.xml | 2 +- json/daily/index.xml | 2 +- json5/daily/index.xml | 2 +- jsoniq/daily/index.xml | 2 +- jsonld/daily/index.xml | 2 +- jsonnet/daily/index.xml | 2 +- julia/daily/index.xml | 9 +------ jupyter-notebook/daily/index.xml | 2 +- kaitai-struct/daily/index.xml | 2 +- kakounescript/daily/index.xml | 2 +- kicad-layout/daily/index.xml | 2 +- kicad-legacy-layout/daily/index.xml | 2 +- kicad-schematic/daily/index.xml | 2 +- kit/daily/index.xml | 2 +- kotlin/daily/index.xml | 2 +- krl/daily/index.xml | 2 +- kusto/daily/index.xml | 2 +- kvlang/daily/index.xml | 2 +- labview/daily/index.xml | 2 +- lark/daily/index.xml | 2 +- lasso/daily/index.xml | 2 +- latte/daily/index.xml | 2 +- lean/daily/index.xml | 2 +- less/daily/index.xml | 2 +- lex/daily/index.xml | 2 +- lfe/daily/index.xml | 2 +- ligolang/daily/index.xml | 2 +- lilypond/daily/index.xml | 2 +- limbo/daily/index.xml | 2 +- linker-script/daily/index.xml | 2 +- linux-kernel-module/daily/index.xml | 2 +- liquid/daily/index.xml | 2 +- literate-agda/daily/index.xml | 2 +- literate-coffeescript/daily/index.xml | 2 +- literate-haskell/daily/index.xml | 2 +- livescript/daily/index.xml | 2 +- llvm/daily/index.xml | 2 +- logos/daily/index.xml | 2 +- logtalk/daily/index.xml | 2 +- lolcode/daily/index.xml | 2 +- lookml/daily/index.xml | 2 +- loomscript/daily/index.xml | 2 +- lsl/daily/index.xml | 2 +- ltspice-symbol/daily/index.xml | 2 +- lua/daily/index.xml | 2 +- m/daily/index.xml | 2 +- m4/daily/index.xml | 2 +- m4sugar/daily/index.xml | 2 +- macaulay2/daily/index.xml | 2 +- makefile/daily/index.xml | 2 +- mako/daily/index.xml | 2 +- markdown/daily/index.xml | 7 ----- marko/daily/index.xml | 2 +- mask/daily/index.xml | 2 +- mathematica/daily/index.xml | 2 +- matlab/daily/index.xml | 2 +- maven-pom/daily/index.xml | 2 +- max/daily/index.xml | 2 +- maxscript/daily/index.xml | 2 +- mcfunction/daily/index.xml | 2 +- mercury/daily/index.xml | 2 +- meson/daily/index.xml | 2 +- metal/daily/index.xml | 2 +- .../daily/index.xml | 2 +- .../daily/index.xml | 2 +- minid/daily/index.xml | 2 +- mint/daily/index.xml | 2 +- mirah/daily/index.xml | 2 +- mirc-script/daily/index.xml | 2 +- mlir/daily/index.xml | 2 +- modelica/daily/index.xml | 2 +- modula-2/daily/index.xml | 2 +- modula-3/daily/index.xml | 2 +- module-management-system/daily/index.xml | 2 +- monkey-c/daily/index.xml | 2 +- monkey/daily/index.xml | 2 +- moocode/daily/index.xml | 2 +- moonscript/daily/index.xml | 2 +- motoko/daily/index.xml | 2 +- motorola-68k-assembly/daily/index.xml | 2 +- mql4/daily/index.xml | 2 +- mql5/daily/index.xml | 2 +- mtml/daily/index.xml | 2 +- muf/daily/index.xml | 2 +- mupad/daily/index.xml | 2 +- muse/daily/index.xml | 2 +- mustache/daily/index.xml | 2 +- myghty/daily/index.xml | 2 +- nanorc/daily/index.xml | 2 +- nasl/daily/index.xml | 2 +- ncl/daily/index.xml | 2 +- nearley/daily/index.xml | 2 +- nemerle/daily/index.xml | 2 +- neon/daily/index.xml | 2 +- nesc/daily/index.xml | 2 +- netlinx+erb/daily/index.xml | 2 +- netlinx/daily/index.xml | 2 +- netlogo/daily/index.xml | 2 +- newlisp/daily/index.xml | 2 +- nextflow/daily/index.xml | 2 +- nginx/daily/index.xml | 2 +- nim/daily/index.xml | 2 +- ninja/daily/index.xml | 2 +- nit/daily/index.xml | 2 +- nix/daily/index.xml | 2 +- nl/daily/index.xml | 2 +- npm-config/daily/index.xml | 2 +- nsis/daily/index.xml | 2 +- nu/daily/index.xml | 2 +- numpy/daily/index.xml | 2 +- nunjucks/daily/index.xml | 2 +- nwscript/daily/index.xml | 2 +- objdump/daily/index.xml | 2 +- object-data-instance-notation/daily/index.xml | 2 +- objective-c++/daily/index.xml | 2 +- objective-c/daily/index.xml | 2 +- objective-j/daily/index.xml | 2 +- objectscript/daily/index.xml | 2 +- ocaml/daily/index.xml | 2 +- odin/daily/index.xml | 2 +- omgrofl/daily/index.xml | 2 +- ooc/daily/index.xml | 2 +- opa/daily/index.xml | 2 +- opal/daily/index.xml | 2 +- open-policy-agent/daily/index.xml | 2 +- opencl/daily/index.xml | 2 +- openedge-abl/daily/index.xml | 2 +- openqasm/daily/index.xml | 2 +- openrc-runscript/daily/index.xml | 2 +- openscad/daily/index.xml | 2 +- openstep-property-list/daily/index.xml | 2 +- opentype-feature-file/daily/index.xml | 2 +- org/daily/index.xml | 2 +- ox/daily/index.xml | 2 +- oxygene/daily/index.xml | 2 +- oz/daily/index.xml | 2 +- p4/daily/index.xml | 2 +- pan/daily/index.xml | 2 +- papyrus/daily/index.xml | 2 +- parrot-assembly/daily/index.xml | 2 +- .../daily/index.xml | 2 +- parrot/daily/index.xml | 2 +- pascal/daily/index.xml | 2 +- pawn/daily/index.xml | 2 +- peg.js/daily/index.xml | 2 +- pep8/daily/index.xml | 2 +- perl/daily/index.xml | 2 +- php/daily/index.xml | 9 ++++++- pic/daily/index.xml | 2 +- pickle/daily/index.xml | 2 +- picolisp/daily/index.xml | 2 +- piglatin/daily/index.xml | 2 +- pike/daily/index.xml | 2 +- plantuml/daily/index.xml | 2 +- plpgsql/daily/index.xml | 2 +- plsql/daily/index.xml | 2 +- pod-6/daily/index.xml | 2 +- pod/daily/index.xml | 2 +- pogoscript/daily/index.xml | 2 +- pony/daily/index.xml | 2 +- postcss/daily/index.xml | 2 +- postscript/daily/index.xml | 2 +- pov-ray-sdl/daily/index.xml | 2 +- powerbuilder/daily/index.xml | 2 +- powershell/daily/index.xml | 2 +- prisma/daily/index.xml | 2 +- processing/daily/index.xml | 2 +- procfile/daily/index.xml | 2 +- proguard/daily/index.xml | 2 +- prolog/daily/index.xml | 2 +- promela/daily/index.xml | 2 +- propeller-spin/daily/index.xml | 2 +- protocol-buffer-text-format/daily/index.xml | 2 +- protocol-buffer/daily/index.xml | 2 +- public-key/daily/index.xml | 2 +- pug/daily/index.xml | 2 +- puppet/daily/index.xml | 2 +- pure-data/daily/index.xml | 2 +- purebasic/daily/index.xml | 2 +- purescript/daily/index.xml | 2 +- python-console/daily/index.xml | 2 +- python-traceback/daily/index.xml | 2 +- python/daily/index.xml | 23 +--------------- q%23/daily/index.xml | 2 +- q/daily/index.xml | 2 +- qmake/daily/index.xml | 2 +- qml/daily/index.xml | 2 +- qt-script/daily/index.xml | 2 +- quake/daily/index.xml | 2 +- r/daily/index.xml | 2 +- racket/daily/index.xml | 2 +- ragel/daily/index.xml | 2 +- raku/daily/index.xml | 2 +- raml/daily/index.xml | 2 +- rascal/daily/index.xml | 2 +- raw-token-data/daily/index.xml | 2 +- rdoc/daily/index.xml | 2 +- readline-config/daily/index.xml | 2 +- realbasic/daily/index.xml | 2 +- reason/daily/index.xml | 2 +- rebol/daily/index.xml | 2 +- record-jar/daily/index.xml | 2 +- red/daily/index.xml | 2 +- redcode/daily/index.xml | 2 +- redirect-rules/daily/index.xml | 2 +- regular-expression/daily/index.xml | 2 +- ren'py/daily/index.xml | 2 +- renderscript/daily/index.xml | 2 +- rescript/daily/index.xml | 2 +- restructuredtext/daily/index.xml | 2 +- rexx/daily/index.xml | 2 +- rich-text-format/daily/index.xml | 2 +- ring/daily/index.xml | 2 +- riot/daily/index.xml | 2 +- rmarkdown/daily/index.xml | 2 +- robotframework/daily/index.xml | 2 +- robots.txt/daily/index.xml | 2 +- roff-manpage/daily/index.xml | 2 +- roff/daily/index.xml | 9 ++++++- rouge/daily/index.xml | 2 +- rpc/daily/index.xml | 2 +- rpgle/daily/index.xml | 2 +- rpm-spec/daily/index.xml | 2 +- ruby/daily/index.xml | 2 +- runoff/daily/index.xml | 2 +- rust/daily/index.xml | 12 ++++----- sage/daily/index.xml | 2 +- saltstack/daily/index.xml | 2 +- sas/daily/index.xml | 2 +- sass/daily/index.xml | 2 +- scala/daily/index.xml | 2 +- scaml/daily/index.xml | 2 +- scheme/daily/index.xml | 2 +- scilab/daily/index.xml | 2 +- scss/daily/index.xml | 2 +- sed/daily/index.xml | 2 +- self/daily/index.xml | 2 +- selinux-policy/daily/index.xml | 2 +- shaderlab/daily/index.xml | 2 +- shell/daily/index.xml | 9 +------ shellcheck-config/daily/index.xml | 2 +- shellsession/daily/index.xml | 2 +- shen/daily/index.xml | 2 +- sieve/daily/index.xml | 2 +- singularity/daily/index.xml | 2 +- slash/daily/index.xml | 2 +- slice/daily/index.xml | 2 +- slim/daily/index.xml | 2 +- smali/daily/index.xml | 2 +- smalltalk/daily/index.xml | 2 +- smarty/daily/index.xml | 2 +- smpl/daily/index.xml | 2 +- smt/daily/index.xml | 2 +- solidity/daily/index.xml | 2 +- soong/daily/index.xml | 2 +- sourcepawn/daily/index.xml | 2 +- sparql/daily/index.xml | 2 +- spline-font-database/daily/index.xml | 2 +- sqf/daily/index.xml | 2 +- sql/daily/index.xml | 2 +- sqlpl/daily/index.xml | 2 +- squirrel/daily/index.xml | 2 +- srecode-template/daily/index.xml | 2 +- ssh-config/daily/index.xml | 2 +- stan/daily/index.xml | 2 +- standard-ml/daily/index.xml | 2 +- starlark/daily/index.xml | 2 +- stata/daily/index.xml | 2 +- ston/daily/index.xml | 2 +- stringtemplate/daily/index.xml | 2 +- stylus/daily/index.xml | 2 +- subrip-text/daily/index.xml | 2 +- sugarss/daily/index.xml | 2 +- supercollider/daily/index.xml | 2 +- svelte/daily/index.xml | 2 +- svg/daily/index.xml | 2 +- swift/daily/index.xml | 2 +- swig/daily/index.xml | 2 +- systemverilog/daily/index.xml | 2 +- talon/daily/index.xml | 2 +- tcl/daily/index.xml | 2 +- tcsh/daily/index.xml | 2 +- tea/daily/index.xml | 2 +- terra/daily/index.xml | 2 +- tex/daily/index.xml | 2 +- texinfo/daily/index.xml | 2 +- text/daily/index.xml | 2 +- textile/daily/index.xml | 2 +- textmate-properties/daily/index.xml | 2 +- thrift/daily/index.xml | 2 +- ti-program/daily/index.xml | 2 +- tla/daily/index.xml | 2 +- toml/daily/index.xml | 2 +- tsql/daily/index.xml | 2 +- tsv/daily/index.xml | 2 +- tsx/daily/index.xml | 2 +- turing/daily/index.xml | 2 +- turtle/daily/index.xml | 2 +- twig/daily/index.xml | 2 +- txl/daily/index.xml | 2 +- type-language/daily/index.xml | 2 +- typescript/daily/index.xml | 9 +------ unified-parallel-c/daily/index.xml | 2 +- unity3d-asset/daily/index.xml | 2 +- unix-assembly/daily/index.xml | 2 +- unknown/daily/index.xml | 2 +- uno/daily/index.xml | 2 +- unrealscript/daily/index.xml | 2 +- urweb/daily/index.xml | 2 +- v/daily/index.xml | 2 +- vala/daily/index.xml | 2 +- valve-data-format/daily/index.xml | 2 +- vba/daily/index.xml | 2 +- vbscript/daily/index.xml | 2 +- vcl/daily/index.xml | 2 +- verilog/daily/index.xml | 2 +- vhdl/daily/index.xml | 2 +- vim-help-file/daily/index.xml | 2 +- vim-script/daily/index.xml | 9 ++++++- vim-snippet/daily/index.xml | 2 +- visual-basic-.net/daily/index.xml | 2 +- volt/daily/index.xml | 2 +- vue/daily/index.xml | 2 +- vyper/daily/index.xml | 2 +- wavefront-material/daily/index.xml | 2 +- wavefront-object/daily/index.xml | 2 +- wdl/daily/index.xml | 2 +- web-ontology-language/daily/index.xml | 2 +- webassembly/daily/index.xml | 2 +- webidl/daily/index.xml | 2 +- webvtt/daily/index.xml | 2 +- wget-config/daily/index.xml | 2 +- wikitext/daily/index.xml | 2 +- windows-registry-entries/daily/index.xml | 2 +- wisp/daily/index.xml | 2 +- witcher-script/daily/index.xml | 2 +- wollok/daily/index.xml | 2 +- world-of-warcraft-addon-data/daily/index.xml | 2 +- x-bitmap/daily/index.xml | 2 +- x-font-directory-index/daily/index.xml | 2 +- x-pixmap/daily/index.xml | 2 +- x10/daily/index.xml | 2 +- xbase/daily/index.xml | 2 +- xc/daily/index.xml | 2 +- xcompose/daily/index.xml | 2 +- xml-property-list/daily/index.xml | 2 +- xml/daily/index.xml | 2 +- xojo/daily/index.xml | 2 +- xonsh/daily/index.xml | 2 +- xpages/daily/index.xml | 2 +- xproc/daily/index.xml | 2 +- xquery/daily/index.xml | 2 +- xs/daily/index.xml | 2 +- xslt/daily/index.xml | 2 +- xtend/daily/index.xml | 2 +- yacc/daily/index.xml | 2 +- yaml/daily/index.xml | 2 +- yang/daily/index.xml | 2 +- yara/daily/index.xml | 2 +- yasnippet/daily/index.xml | 2 +- zap/daily/index.xml | 2 +- zeek/daily/index.xml | 2 +- zenscript/daily/index.xml | 2 +- zephir/daily/index.xml | 2 +- zig/daily/index.xml | 9 +------ zil/daily/index.xml | 2 +- zimpl/daily/index.xml | 2 +- 636 files changed, 695 insertions(+), 765 deletions(-) delete mode 100644 markdown/daily/index.xml diff --git a/1c-enterprise/daily/index.xml b/1c-enterprise/daily/index.xml index 3ff906e6ff0..98b6dd9126f 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 - 2024-11-20T01:28:43Z + 2024-11-21T01:28:36Z Daily 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 c5b02907a1e..25301a0f2b0 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 - 2024-11-20T01:28:42Z + 2024-11-21T01:28:35Z Daily 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 fe85aeb2984..66f59b02497 100644 --- a/4d/daily/index.xml +++ b/4d/daily/index.xml @@ -1,7 +1,7 @@ GitHub 4D Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:28:50Z + 2024-11-21T01:28:44Z Daily 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 84b42b50e69..f7999cd41ef 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 - 2024-11-20T01:28:50Z + 2024-11-21T01:28:44Z Daily 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 a11fecc9e86..c6ed9c61afb 100644 --- a/abap/daily/index.xml +++ b/abap/daily/index.xml @@ -1,7 +1,7 @@ GitHub ABAP Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:28:51Z + 2024-11-21T01:28:45Z Daily Trending of ABAP in GitHub \ No newline at end of file diff --git a/abnf/daily/index.xml b/abnf/daily/index.xml index 4f74581cdf1..f0e752c673f 100644 --- a/abnf/daily/index.xml +++ b/abnf/daily/index.xml @@ -1,7 +1,7 @@ GitHub ABNF Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:28:50Z + 2024-11-21T01:28:44Z Daily Trending of ABNF in GitHub \ No newline at end of file diff --git a/actionscript/daily/index.xml b/actionscript/daily/index.xml index 116cb77280d..8718ff3ca7a 100644 --- a/actionscript/daily/index.xml +++ b/actionscript/daily/index.xml @@ -1,7 +1,7 @@ GitHub ActionScript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:28:52Z + 2024-11-21T01:28:46Z Daily Trending of ActionScript in GitHub \ No newline at end of file diff --git a/ada/daily/index.xml b/ada/daily/index.xml index 109b1815777..a4343860ae1 100644 --- a/ada/daily/index.xml +++ b/ada/daily/index.xml @@ -1,7 +1,7 @@ GitHub Ada Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:28:51Z + 2024-11-21T01:28:45Z Daily Trending of Ada in GitHub \ No newline at end of file diff --git a/adobe-font-metrics/daily/index.xml b/adobe-font-metrics/daily/index.xml index 48bb3c5e866..af33d1ab900 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 - 2024-11-20T01:28:52Z + 2024-11-21T01:28:46Z Daily 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 a423301f2d8..728d95b7666 100644 --- a/agda/daily/index.xml +++ b/agda/daily/index.xml @@ -1,7 +1,7 @@ GitHub Agda Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:28:53Z + 2024-11-21T01:28:47Z Daily 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 20d06805d10..e316198319b 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 - 2024-11-20T01:28:54Z + 2024-11-21T01:28:48Z Daily 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 af11cd32592..656bd426ab9 100644 --- a/aidl/daily/index.xml +++ b/aidl/daily/index.xml @@ -1,7 +1,7 @@ GitHub AIDL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:28:53Z + 2024-11-21T01:28:47Z Daily Trending of AIDL in GitHub \ No newline at end of file diff --git a/al/daily/index.xml b/al/daily/index.xml index 7e3f791952b..f75e7d41f3a 100644 --- a/al/daily/index.xml +++ b/al/daily/index.xml @@ -1,7 +1,7 @@ GitHub AL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:28:54Z + 2024-11-21T01:28:48Z Daily Trending of AL in GitHub \ No newline at end of file diff --git a/all/daily/index.xml b/all/daily/index.xml index 49fdd143d48..7c46cde2b03 100644 --- a/all/daily/index.xml +++ b/all/daily/index.xml @@ -1,28 +1,14 @@ GitHub All Languages Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:28:45Z + 2024-11-21T01:28:37Z Daily Trending of All Languages in GitHub - awslabs/multi-agent-orchestrator - 2024-11-20T01:28:45Z - tag:github.com,2024-11-20:/awslabs/multi-agent-orchestrator - - <p>Flexible and powerful framework for managing multiple AI agents and handling complex conversations</p><hr><h2 align="center">Multi-Agent Orchestrator&nbsp;</h2> <p align="center">Flexible and powerful framework for managing multiple AI agents and handling complex conversations.</p> <p align="center"> <a href="https://github.com/awslabs/multi-agent-orchestrator"><img alt="GitHub Repo" src="https://img.shields.io/badge/GitHub-Repo-green.svg?sanitize=true"></a> <a href="https://www.npmjs.com/package/multi-agent-orchestrator"><img alt="npm" src="https://img.shields.io/npm/v/multi-agent-orchestrator.svg?style=flat-square"></a> <a href="https://pypi.org/project/multi-agent-orchestrator/"><img alt="PyPI" src="https://img.shields.io/pypi/v/multi-agent-orchestrator.svg?style=flat-square"></a> <a href="https://awslabs.github.io/multi-agent-orchestrator/"><img alt="Documentation" src="https://img.shields.io/badge/docs-book-blue.svg?style=flat-square"></a> </p> <h2>🔖 Features</h2> <ul> <li>🧠 <strong>Intelligent intent classification</strong> — Dynamically route queries to the most suitable agent based on context and content.</li> <li>🔤 <strong>Dual language support</strong> — Fully implemented in both <strong>Python</strong> and <strong>TypeScript</strong>.</li> <li>🌊 <strong>Flexible agent responses</strong> — Support for both streaming and non-streaming responses from different agents.</li> <li>📚 <strong>Context management</strong> — Maintain and utilize conversation context across multiple agents for coherent interactions.</li> <li>🔧 <strong>Extensible architecture</strong> — Easily integrate new agents or customize existing ones to fit your specific needs.</li> <li>🌐 <strong>Universal deployment</strong> — Run anywhere - from AWS Lambda to your local environment or any cloud platform.</li> <li>📦 <strong>Pre-built agents and classifiers</strong> — A variety of ready-to-use agents and multiple classifier implementations available.</li> </ul> <h2>What's the Multi-Agent Orchestrator ❓</h2> <p>The Multi-Agent Orchestrator is a flexible framework for managing multiple AI agents and handling complex conversations. It intelligently routes queries and maintains context across interactions.</p> <p>The system offers pre-built components for quick deployment, while also allowing easy integration of custom agents and conversation messages storage solutions.</p> <p>This adaptability makes it suitable for a wide range of applications, from simple chatbots to sophisticated AI systems, accommodating diverse requirements and scaling efficiently.</p> <h2>🏗️ High-level architecture flow diagram</h2> <p><br><br></p> <p><img src="https://raw.githubusercontent.com/awslabs/multi-agent-orchestrator/main/img/flow.jpg" alt="High-level architecture flow diagram"></p> <p><br><br></p> <ol> <li>The process begins with user input, which is analyzed by a Classifier.</li> <li>The Classifier leverages both Agents' Characteristics and Agents' Conversation history to select the most appropriate agent for the task.</li> <li>Once an agent is selected, it processes the user input.</li> <li>The orchestrator then saves the conversation, updating the Agents' Conversation history, before delivering the response back to the user.</li> </ol> <h2>💬 Demo App</h2> <p>To quickly get a feel for the Multi-Agent Orchestrator, we've provided a Demo App with a few basic agents. This interactive demo showcases the orchestrator's capabilities in a user-friendly interface. To learn more about setting up and running the demo app, please refer to our <a href="https://awslabs.github.io/multi-agent-orchestrator/cookbook/examples/chat-demo-app/">Demo App</a> section.</p> <br> <p>In the screen recording below, we demonstrate an extended version of the demo app that uses 6 specialized agents:</p> <ul> <li><strong>Travel Agent</strong>: Powered by an Amazon Lex Bot</li> <li><strong>Weather Agent</strong>: Utilizes a Bedrock LLM Agent with a tool to query the open-meteo API</li> <li><strong>Restaurant Agent</strong>: Implemented as an Amazon Bedrock Agent</li> <li><strong>Math Agent</strong>: Utilizes a Bedrock LLM Agent with two tools for executing mathematical operations</li> <li><strong>Tech Agent</strong>: A Bedrock LLM Agent designed to answer questions on technical topics</li> <li><strong>Health Agent</strong>: A Bedrock LLM Agent focused on addressing health-related queries</li> </ul> <p>Watch as the system seamlessly switches context between diverse topics, from booking flights to checking weather, solving math problems, and providing health information. Notice how the appropriate agent is selected for each query, maintaining coherence even with brief follow-up inputs.</p> <p>The demo highlights the system's ability to handle complex, multi-turn conversations while preserving context and leveraging specialized agents across various domains.</p> <p><img src="https://raw.githubusercontent.com/awslabs/multi-agent-orchestrator/main/img/demo-app.gif?raw=true" alt=""></p> <p>To quickly get a feel for the Multi-Agent Orchestrator, check out our <a href="https://awslabs.github.io/multi-agent-orchestrator/cookbook/examples/chat-demo-app/">Demo App</a>. Additional code examples are available in both the documentation and the <code>examples</code> folder.</p> <h2>🎯 Examples &amp; Quick Start</h2> <p>Get hands-on experience with the Multi-Agent Orchestrator through our diverse set of examples:</p> <ul> <li><strong>Ready-to-run Scripts</strong>: Start locally with our collection of standalone scripts in both Python and TypeScript.</li> <li><strong>Demo Applications</strong>: <ul> <li><a href="https://awslabs.github.io/multi-agent-orchestrator/cookbook/examples/chat-demo-app/">Chat Demo App</a>: <ul> <li>Explore multiple specialized agents handling various domains like travel, weather, math, and health</li> </ul> </li> <li><a href="https://awslabs.github.io/multi-agent-orchestrator/cookbook/examples/ecommerce-support-simulator/">E-commerce Support Simulator</a>: Experience AI-powered customer support with: <ul> <li>Automated response generation for common queries</li> <li>Intelligent routing of complex issues to human support</li> <li>Real-time chat and email-style communication</li> <li>Human-in-the-loop interactions for complex cases</li> </ul> </li> </ul> </li> <li><strong>Sample Projects</strong>: Explore our example implementations in the <code>examples</code> folder: <ul> <li><a href="https://github.com/awslabs/multi-agent-orchestrator/tree/main/examples/chat-demo-app"><code>chat-demo-app</code></a>: Web-based chat interface with multiple specialized agents</li> <li><a href="https://github.com/awslabs/multi-agent-orchestrator/tree/main/examples/ecommerce-support-simulator"><code>ecommerce-support-simulator</code></a>: AI-powered customer support system</li> <li><a href="https://github.com/awslabs/multi-agent-orchestrator/tree/main/examples/chat-chainlit-app"><code>chat-chainlit-app</code></a>: Chat application built with Chainlit</li> <li><a href="https://github.com/awslabs/multi-agent-orchestrator/tree/main/examples/fast-api-streaming"><code>fast-api-streaming</code></a>: FastAPI implementation with streaming support</li> <li><a href="https://github.com/awslabs/multi-agent-orchestrator/tree/main/examples/text-2-structured-output"><code>text-2-structured-output</code></a>: Natural Language to Structured Data</li> </ul> </li> </ul> <p>All examples are available in both Python and TypeScript implementations. Check out our <a href="https://awslabs.github.io/multi-agent-orchestrator/">documentation</a> for comprehensive guides on setting up and using the Multi-Agent Orchestrator!</p> <h2>🌟 Use cases and implementations</h2> <p>Discover creative implementations and diverse applications of the Multi-Agent Orchestrator:</p> <ul> <li> <p><strong><a href="https://community.aws/content/2lCi8jEKydhDm8eE8QFIQ5K23pF/from-bonjour-to-boarding-pass-multilingual-ai-chatbot-for-flight-reservations">From 'Bonjour' to 'Boarding Pass': Multilingual AI Chatbot for Flight Reservations</a></strong></p> <p>This article demonstrates how to build a multilingual chatbot using the Multi-Agent Orchestrator framework. The article explains how to use an <strong>Amazon Lex</strong> bot as an agent, along with 2 other new agents to make it work in many languages with just a few lines of code.</p> </li> <li> <p><strong><a href="https://community.aws/content/2lq6cYYwTYGc7S3Zmz28xZoQNQj/beyond-auto-replies-building-an-ai-powered-e-commerce-support-system">Beyond Auto-Replies: Building an AI-Powered E-commerce Support system</a></strong></p> <p>This article demonstrates how to build an AI-driven multi-agent system for automated e-commerce customer email support. It covers the architecture and setup of specialized AI agents using the Multi-Agent Orchestrator framework, integrating automated processing with human-in-the-loop oversight. The guide explores email ingestion, intelligent routing, automated response generation, and human verification, providing a comprehensive approach to balancing AI efficiency with human expertise in customer support.</p> </li> <li> <p><strong><a href="https://community.aws/content/2mt7CFG7xg4yw6GRHwH9akhg0oD/speak-up-ai-voicing-your-agents-with-amazon-connect-lex-and-bedrock">Speak Up, AI: Voicing Your Agents with Amazon Connect, Lex, and Bedrock</a></strong></p> <p>This article demonstrates how to build an AI customer call center. It covers the architecture and setup of specialiazed AI agents using the Multi-Agent Orchestrator framework interacting with voice via <strong>Amazon Connect</strong> and <strong>Amazon Lex</strong>.</p> </li> </ul> <h3>TypeScript Version</h3> <h4>Installation</h4> <pre><code class="language-bash">npm install multi-agent-orchestrator </code></pre> <h4>Usage</h4> <p>The following example demonstrates how to use the Multi-Agent Orchestrator with two different types of agents: a Bedrock LLM Agent with Converse API support and a Lex Bot Agent. This showcases the flexibility of the system in integrating various AI services.</p> <pre><code class="language-typescript">import { MultiAgentOrchestrator, BedrockLLMAgent, LexBotAgent } from "multi-agent-orchestrator"; const orchestrator = new MultiAgentOrchestrator(); // Add a Bedrock LLM Agent with Converse API support orchestrator.addAgent( new BedrockLLMAgent({ name: "Tech Agent", description: "Specializes in technology areas including software development, hardware, AI, cybersecurity, blockchain, cloud computing, emerging tech innovations, and pricing/costs related to technology products and services.", streaming: true }) ); // Add a Lex Bot Agent for handling travel-related queries orchestrator.addAgent( new LexBotAgent({ name: "Travel Agent", description: "Helps users book and manage their flight reservations", botId: process.env.LEX_BOT_ID, botAliasId: process.env.LEX_BOT_ALIAS_ID, localeId: "en_US", }) ); // Example usage const response = await orchestrator.routeRequest( "I want to book a flight", 'user123', 'session456' ); // Handle the response (streaming or non-streaming) if (response.streaming == true) { console.log("\n** RESPONSE STREAMING ** \n"); // Send metadata immediately console.log(`&gt; Agent ID: ${response.metadata.agentId}`); console.log(`&gt; Agent Name: ${response.metadata.agentName}`); console.log(`&gt; User Input: ${response.metadata.userInput}`); console.log(`&gt; User ID: ${response.metadata.userId}`); console.log(`&gt; Session ID: ${response.metadata.sessionId}`); console.log( `&gt; Additional Parameters:`, response.metadata.additionalParams ); console.log(`\n&gt; Response: `); // Stream the content for await (const chunk of response.output) { if (typeof chunk === "string") { process.stdout.write(chunk); } else { console.error("Received unexpected chunk type:", typeof chunk); } } } else { // Handle non-streaming response (AgentProcessingResult) console.log("\n** RESPONSE ** \n"); console.log(`&gt; Agent ID: ${response.metadata.agentId}`); console.log(`&gt; Agent Name: ${response.metadata.agentName}`); console.log(`&gt; User Input: ${response.metadata.userInput}`); console.log(`&gt; User ID: ${response.metadata.userId}`); console.log(`&gt; Session ID: ${response.metadata.sessionId}`); console.log( `&gt; Additional Parameters:`, response.metadata.additionalParams ); console.log(`\n&gt; Response: ${response.output}`); } </code></pre> <h3>Python Version</h3> <h4>Installation</h4> <pre><code class="language-bash"># Optional: Set up a virtual environment python -m venv venv source venv/bin/activate # On Windows use `venv\Scripts\activate` pip install multi-agent-orchestrator </code></pre> <h4>Usage</h4> <p>Here's an equivalent Python example demonstrating the use of the Multi-Agent Orchestrator with a Bedrock LLM Agent and a Lex Bot Agent:</p> <pre><code class="language-python">import os import asyncio from multi_agent_orchestrator.orchestrator import MultiAgentOrchestrator from multi_agent_orchestrator.agents import BedrockLLMAgent, LexBotAgent, BedrockLLMAgentOptions, LexBotAgentOptions, AgentCallbacks orchestrator = MultiAgentOrchestrator() class BedrockLLMAgentCallbacks(AgentCallbacks): def on_llm_new_token(self, token: str) -&gt; None: # handle response streaming here print(token, end='', flush=True) tech_agent = BedrockLLMAgent(BedrockLLMAgentOptions( name="Tech Agent", streaming=True, description="Specializes in technology areas including software development, hardware, AI, \ cybersecurity, blockchain, cloud computing, emerging tech innovations, and pricing/costs \ related to technology products and services.", model_id="anthropic.claude-3-sonnet-20240229-v1:0", callbacks=BedrockLLMAgentCallbacks() )) orchestrator.add_agent(tech_agent) # Add a Lex Bot Agent for handling travel-related queries orchestrator.add_agent( LexBotAgent(LexBotAgentOptions( name="Travel Agent", description="Helps users book and manage their flight reservations", bot_id=os.environ.get('LEX_BOT_ID'), bot_alias_id=os.environ.get('LEX_BOT_ALIAS_ID'), locale_id="en_US", )) ) async def main(): # Example usage response = await orchestrator.route_request( "I want to book a flight", 'user123', 'session456' ) # Handle the response (streaming or non-streaming) if response.streaming: print("\n** RESPONSE STREAMING ** \n") # Send metadata immediately print(f"&gt; Agent ID: {response.metadata.agent_id}") print(f"&gt; Agent Name: {response.metadata.agent_name}") print(f"&gt; User Input: {response.metadata.user_input}") print(f"&gt; User ID: {response.metadata.user_id}") print(f"&gt; Session ID: {response.metadata.session_id}") print(f"&gt; Additional Parameters: {response.metadata.additional_params}") print("\n&gt; Response: ") # Stream the content async for chunk in response.output: if isinstance(chunk, str): print(chunk, end='', flush=True) else: print(f"Received unexpected chunk type: {type(chunk)}", file=sys.stderr) else: # Handle non-streaming response (AgentProcessingResult) print("\n** RESPONSE ** \n") print(f"&gt; Agent ID: {response.metadata.agent_id}") print(f"&gt; Agent Name: {response.metadata.agent_name}") print(f"&gt; User Input: {response.metadata.user_input}") print(f"&gt; User ID: {response.metadata.user_id}") print(f"&gt; Session ID: {response.metadata.session_id}") print(f"&gt; Additional Parameters: {response.metadata.additional_params}") print(f"\n&gt; Response: {response.output.content}") if __name__ == "__main__": asyncio.run(main()) </code></pre> <p>These examples showcase:</p> <ol> <li>The use of a Bedrock LLM Agent with Converse API support, allowing for multi-turn conversations.</li> <li>Integration of a Lex Bot Agent for specialized tasks (in this case, travel-related queries).</li> <li>The orchestrator's ability to route requests to the most appropriate agent based on the input.</li> <li>Handling of both streaming and non-streaming responses from different types of agents.</li> </ol> <h2>🤝 Contributing</h2> <p>We welcome contributions! Please see our <a href="https://raw.githubusercontent.com/awslabs/multi-agent-orchestrator/main/CONTRIBUTING.md">Contributing Guide</a> for more details.</p> <h1>Authors</h1> <ul> <li><a href="https://www.linkedin.com/in/corneliucroitoru/">Corneliu Croitoru</a></li> <li><a href="https://www.linkedin.com/in/anthonybernabeu/">Anthony Bernabeu</a></li> </ul> <h1>Contributors</h1> <p><a href="https://github.com/awslabs/multi-agent-orchestrator/graphs/contributors"><img src="https://contrib.rocks/image?repo=awslabs/multi-agent-orchestrator&amp;max=2000" alt="contributors"></a></p> <h2>📄 LICENSE</h2> <p>This project is licensed under the Apache 2.0 licence - see the <a href="https://raw.githubusercontent.com/awslabs/multi-agent-orchestrator/main/LICENSE">LICENSE</a> file for details.</p> <h2>📄 Font License</h2> <p>This project uses the JetBrainsMono NF font, licensed under the SIL Open Font License 1.1. For full license details, see <a href="https://github.com/JetBrains/JetBrainsMono/raw/master/OFL.txt">FONT-LICENSE.md</a>.</p> - - - arkohut/pensieve - 2024-11-20T01:28:45Z - tag:github.com,2024-11-20:/arkohut/pensieve - - <p>A passive recording project allows you to have complete control over your data. 一个完全由你掌控数据的「被动记录」项目。</p><hr><p>English | <a href="https://raw.githubusercontent.com/arkohut/pensieve/master/README_ZH.md">简体中文</a></p> <p><img src="https://raw.githubusercontent.com/arkohut/pensieve/master/docs/images/memos-search-en.gif" alt="memos-search"></p> <blockquote> <p>I changed the name to Pensieve because Memos was already taken.</p> </blockquote> <h1>Pensieve (previously named Memos)</h1> <p>Pensieve is a privacy-focused passive recording project. It can automatically record screen content, build intelligent indices, and provide a convenient web interface to retrieve historical records.</p> <p>This project draws heavily from two other projects: one called <a href="https://www.rewind.ai/">Rewind</a> and another called <a href="https://support.microsoft.com/en-us/windows/retrace-your-steps-with-recall-aa03f8a0-a78b-4b3e-b0a1-2eb8ac48701c">Windows Recall</a>. However, unlike both of them, Pensieve allows you to have complete control over your data, avoiding the transfer of data to untrusted data centers.</p> <h2>Features</h2> <ul> <li>🚀 Simple installation: just install dependencies via pip to get started</li> <li>🔒 Complete data control: all data is stored locally, allowing for full local operation and self-managed data processing</li> <li>🔍 Full-text and vector search support</li> <li>🤖 Integrates with Ollama, using it as the machine learning engine for Pensieve</li> <li>🌐 Compatible with any OpenAI API models (e.g., OpenAI, Azure OpenAI, vLLM, etc.)</li> <li>💻 Supports Mac and Windows (Linux support is in development)</li> <li>🔌 Extensible functionality through plugins</li> </ul> <h2>Quick Start</h2> <p><img src="https://raw.githubusercontent.com/arkohut/pensieve/master/docs/images/memos-installation.gif" alt="memos-installation"></p> <h3>1. Install Pensieve</h3> <pre><code class="language-sh">pip install memos </code></pre> <h3>2. Initialize</h3> <p>Initialize the pensieve configuration file and sqlite database:</p> <pre><code class="language-sh">memos init </code></pre> <p>Data will be stored in the <code>~/.memos</code> directory.</p> <h3>3. Start the Service</h3> <pre><code class="language-sh">memos enable memos start </code></pre> <p>This command will:</p> <ul> <li>Begin recording all screens</li> <li>Start the Web service</li> <li>Set the service to start on boot</li> </ul> <h3>4. Access the Web Interface</h3> <p>Open your browser and visit <code>http://localhost:8839</code></p> <p><img src="https://raw.githubusercontent.com/arkohut/pensieve/master/docs/images/init-page-en.png" alt="init page"></p> <h3>Mac Permission Issues</h3> <p>On Mac, Pensieve needs screen recording permission. When the program starts, Mac will prompt for screen recording permission - please allow it to proceed.</p> <h2>User Guide</h2> <h3>Using the Appropriate Embedding Model</h3> <h4>1. Model Selection</h4> <p>Pensieve uses embedding models to extract semantic information and build vector indices. Therefore, choosing an appropriate embedding model is crucial. Depending on the user's primary language, different embedding models should be selected.</p> <ul> <li>For Chinese scenarios, you can use the <a href="https://huggingface.co/jinaai/jina-embeddings-v2-base-zh">jinaai/jina-embeddings-v2-base-zh</a> model.</li> <li>For English scenarios, you can use the <a href="https://huggingface.co/jinaai/jina-embeddings-v2-base-en">jinaai/jina-embeddings-v2-base-en</a> model.</li> </ul> <h4>2. Adjust Memos Configuration</h4> <p>Open the <code>~/.memos/config.yaml</code> file with your preferred text editor and modify the <code>embedding</code> configuration:</p> <pre><code class="language-yaml">embedding: use_local: true model: jinaai/jina-embeddings-v2-base-en # Model name used num_dim: 768 # Model dimensions use_modelscope: false # Whether to use ModelScope's model </code></pre> <h4>3. Restart Memos Service</h4> <pre><code class="language-sh">memos stop memos start </code></pre> <p>The first time you use the embedding model, Pensieve will automatically download and load the model.</p> <h4>4. Rebuild Index</h4> <p>If you switch the embedding model during use, meaning you have already indexed screenshots before, you need to rebuild the index:</p> <pre><code class="language-sh">memos reindex --force </code></pre> <p>The <code>--force</code> parameter indicates rebuilding the index table and deleting previously indexed screenshot data.</p> <h3>Using Ollama for Visual Search</h3> <p>By default, Pensieve only enables the OCR plugin to extract text from screenshots and build indices. However, this method significantly limits search effectiveness for images without text.</p> <p>To achieve more comprehensive visual search capabilities, we need a multimodal image understanding service compatible with the OpenAI API. Ollama perfectly fits this role.</p> <h4>Important Notes Before Use</h4> <p>Before deciding to enable the VLM feature, please note the following:</p> <ol> <li> <p><strong>Hardware Requirements</strong></p> <ul> <li>Recommended configuration: NVIDIA graphics card with at least 8GB VRAM or Mac with M series chip</li> <li>The minicpm-v model will occupy about 5.5GB of storage space</li> <li>CPU mode is not recommended as it will cause severe system lag</li> </ul> </li> <li> <p><strong>Performance and Power Consumption Impact</strong></p> <ul> <li>Enabling VLM will significantly increase system power consumption</li> <li>Consider using other devices to provide OpenAI API compatible model services</li> </ul> </li> </ol> <h4>1. Install Ollama</h4> <p>Visit the <a href="https://ollama.com">Ollama official documentation</a> for detailed installation and configuration instructions.</p> <h4>2. Prepare the Multimodal Model</h4> <p>Download and run the multimodal model <code>minicpm-v</code> using the following command:</p> <pre><code class="language-sh">ollama run minicpm-v "Describe what this service is" </code></pre> <p>This command will download and run the minicpm-v model. If the running speed is too slow, it is not recommended to use this feature.</p> <h4>3. Configure Pensieve to Use Ollama</h4> <p>Open the <code>~/.memos/config.yaml</code> file with your preferred text editor and modify the <code>vlm</code> configuration:</p> <pre><code class="language-yaml">vlm: endpoint: http://localhost:11434 # Ollama service address modelname: minicpm-v # Model name to use force_jpeg: true # Convert images to JPEG format to ensure compatibility prompt: Please describe the content of this image, including the layout and visual elements # Prompt sent to the model </code></pre> <p>Use the above configuration to overwrite the <code>vlm</code> configuration in the <code>~/.memos/config.yaml</code> file.</p> <p>Also, modify the <code>default_plugins</code> configuration in the <code>~/.memos/plugins/vlm/config.yaml</code> file:</p> <pre><code class="language-yaml">default_plugins: - builtin_ocr - builtin_vlm </code></pre> <p>This adds the <code>builtin_vlm</code> plugin to the default plugin list.</p> <h4>4. Restart Pensieve Service</h4> <pre><code class="language-sh">memos stop memos start </code></pre> <p>After restarting the Pensieve service, wait a moment to see the data extracted by VLM in the latest screenshots on the Pensieve web interface:</p> <p><img src="https://raw.githubusercontent.com/arkohut/pensieve/master/docs/images/single-screenshot-view-with-minicpm-result.png" alt="image"></p> <p>If you do not see the VLM results, you can:</p> <ul> <li>Use the command <code>memos ps</code> to check if the Pensieve process is running normally</li> <li>Check for error messages in <code>~/.memos/logs/memos.log</code></li> <li>Confirm whether the Ollama model is loaded correctly (<code>ollama ps</code>)</li> </ul> <h3>Full Indexing</h3> <p>Pensieve is a compute-intensive application. The indexing process requires the collaboration of OCR, VLM, and embedding models. To minimize the impact on the user's computer, Pensieve calculates the average processing time for each screenshot and adjusts the indexing frequency accordingly. Therefore, not all screenshots are indexed immediately by default.</p> <p>If you want to index all screenshots, you can use the following command for full indexing:</p> <pre><code class="language-sh">memos scan </code></pre> <p>This command will scan and index all recorded screenshots. Note that depending on the number of screenshots and system configuration, this process may take some time and consume significant system resources. The index construction is idempotent, and running this command multiple times will not re-index already indexed data.</p> <h2>Privacy and Security</h2> <p>During the development of Pensieve, I closely followed the progress of similar products, especially <a href="https://www.rewind.ai/">Rewind</a> and <a href="https://support.microsoft.com/en-us/windows/retrace-your-steps-with-recall-aa03f8a0-a78b-4b3e-b0a1-2eb8ac48701c">Windows Recall</a>. I greatly appreciate their product philosophy, but they do not do enough in terms of privacy protection, which is a concern for many users (or potential users). Recording the screen of a personal computer may expose extremely sensitive private data, such as bank accounts, passwords, chat records, etc. Therefore, ensuring that data storage and processing are completely controlled by the user to prevent data leakage is particularly important.</p> <p>The advantages of Pensieve are:</p> <ol> <li>The code is completely open-source and easy-to-understand Python code, allowing anyone to review the code to ensure there are no backdoors.</li> <li>Data is completely localized, all data is stored locally, and data processing is entirely controlled by the user. Data will be stored in the user's <code>~/.memos</code> directory.</li> <li>Easy to uninstall. If you no longer use Pensieve, you can close the program with <code>memos stop &amp;&amp; memos disable</code>, then uninstall it with <code>pip uninstall memos</code>, and finally delete the <code>~/.memos</code> directory to clean up all databases and screenshot data.</li> <li>Data processing is entirely controlled by the user. Pensieve is an independent project, and the machine learning models used (including VLM and embedding models) are chosen by the user. Due to Pensieve' operating mode, using smaller models can also achieve good results.</li> </ol> <p>Of course, there is still room for improvement in terms of privacy, and contributions are welcome to make Pensieve better.</p> <h2>Other Noteworthy Content</h2> <h3>About Storage Space</h3> <p>Pensieve records the screen every 5 seconds and saves the original screenshots in the <code>~/.memos/screenshots</code> directory. Storage space usage mainly depends on the following factors:</p> <ol> <li> <p><strong>Screenshot Data</strong>:</p> <ul> <li>Single screenshot size: about 40-400KB (depending on screen resolution and display complexity)</li> <li>Daily data volume: about 400MB (based on 10 hours of usage, single screen 2560x1440 resolution)</li> <li>Multi-screen usage: data volume increases with the number of screens</li> <li>Monthly estimate: about 8GB based on 20 working days</li> </ul> <p>Screenshots are deduplicated. If the content of consecutive screenshots does not change much, only one screenshot will be retained. The deduplication mechanism can significantly reduce storage usage in scenarios where content does not change frequently (such as reading, document editing, etc.).</p> </li> <li> <p><strong>Database Space</strong>:</p> <ul> <li>SQLite database size depends on the number of indexed screenshots</li> <li>Reference value: about 2.2GB of storage space after indexing 100,000 screenshots</li> </ul> </li> </ol> <h3>About Power Consumption</h3> <p>Pensieve requires two compute-intensive tasks by default:</p> <ul> <li>One is the OCR task, used to extract text from screenshots</li> <li>The other is the embedding task, used to extract semantic information and build vector indices</li> </ul> <h4>Resource Usage</h4> <ul> <li> <p><strong>OCR Task</strong>: Executed using the CPU, and optimized to select the OCR engine based on different operating systems to minimize CPU usage</p> </li> <li> <p><strong>Embedding Task</strong>: Intelligently selects the computing device</p> <ul> <li>NVIDIA GPU devices prioritize using the GPU</li> <li>Mac devices prioritize using Metal GPU</li> <li>Other devices use the CPU</li> </ul> </li> </ul> <h4>Performance Optimization Strategy</h4> <p>To avoid affecting users' daily use, Pensieve has adopted the following optimization measures:</p> <ul> <li>Dynamically adjust the indexing frequency, adapting to system processing speed</li> <li>Automatically reduce processing frequency when on battery power to save power</li> </ul> <h2>Development Guide</h2> <h3>Peeling the First Layer of the Onion</h3> <p>In fact, after Pensieve starts, it runs three programs:</p> <ol> <li><code>memos serve</code> starts the web service</li> <li><code>memos record</code> starts the screenshot recording program</li> <li><code>memos watch</code> listens to the image events generated by <code>memos record</code> and dynamically submits indexing requests to the server based on actual processing speed</li> </ol> <p>Therefore, if you are a developer or want to see the logs of the entire project running more clearly, you can use these three commands to run each part in the foreground instead of the <code>memos enable &amp;&amp; memos start</code> command.</p> - - - projectdiscovery/katana - 2024-11-20T01:28:45Z - tag:github.com,2024-11-20:/projectdiscovery/katana - - <p>A next-generation crawling and spidering framework.</p><hr><h1 align="center"> <img src="https://user-images.githubusercontent.com/8293321/196779266-421c79d4-643a-4f73-9b54-3da379bbac09.png" alt="katana" width="200px"> <br> </h1> <h4 align="center">A next-generation crawling and spidering framework</h4> <p align="center"> <a href="https://goreportcard.com/report/github.com/projectdiscovery/katana"><img src="https://goreportcard.com/badge/github.com/projectdiscovery/katana"></a> <a href="https://github.com/projectdiscovery/katana/issues"><img src="https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat"></a> <a href="https://github.com/projectdiscovery/katana/releases"><img src="https://img.shields.io/github/release/projectdiscovery/katana"></a> <a href="https://twitter.com/pdiscoveryio"><img src="https://img.shields.io/twitter/follow/pdiscoveryio.svg?logo=twitter"></a> <a href="https://discord.gg/projectdiscovery"><img src="https://img.shields.io/discord/695645237418131507.svg?logo=discord"></a> </p> <p align="center"> <a href="https://raw.githubusercontent.com/projectdiscovery/katana/main/#features">Features</a> • <a href="https://raw.githubusercontent.com/projectdiscovery/katana/main/#installation">Installation</a> • <a href="https://raw.githubusercontent.com/projectdiscovery/katana/main/#usage">Usage</a> • <a href="https://raw.githubusercontent.com/projectdiscovery/katana/main/#scope-control">Scope</a> • <a href="https://raw.githubusercontent.com/projectdiscovery/katana/main/#crawler-configuration">Config</a> • <a href="https://raw.githubusercontent.com/projectdiscovery/katana/main/#filters">Filters</a> • <a href="https://discord.gg/projectdiscovery">Join Discord</a> </p> <h1>Features</h1> <p><img src="https://user-images.githubusercontent.com/8293321/199371558-daba03b6-bf9c-4883-8506-76497c6c3a44.png" alt="image"></p> <ul> <li>Fast And fully configurable web crawling</li> <li><strong>Standard</strong> and <strong>Headless</strong> mode</li> <li><strong>JavaScript</strong> parsing / crawling</li> <li>Customizable <strong>automatic form filling</strong></li> <li><strong>Scope control</strong> - Preconfigured field / Regex</li> <li><strong>Customizable output</strong> - Preconfigured fields</li> <li>INPUT - <strong>STDIN</strong>, <strong>URL</strong> and <strong>LIST</strong></li> <li>OUTPUT - <strong>STDOUT</strong>, <strong>FILE</strong> and <strong>JSON</strong></li> </ul> <h2>Installation</h2> <p>katana requires <strong>Go 1.18</strong> to install successfully. To install, just run the below command or download pre-compiled binary from <a href="https://github.com/projectdiscovery/katana/releases">release page</a>.</p> <pre><code class="language-console">CGO_ENABLED=1 go install github.com/projectdiscovery/katana/cmd/katana@latest </code></pre> <p><strong>More options to install / run katana-</strong></p> <details> <summary>Docker</summary> <blockquote> <p>To install / update docker to latest tag -</p> </blockquote> <pre><code class="language-sh">docker pull projectdiscovery/katana:latest </code></pre> <blockquote> <p>To run katana in standard mode using docker -</p> </blockquote> <pre><code class="language-sh">docker run projectdiscovery/katana:latest -u https://tesla.com </code></pre> <blockquote> <p>To run katana in headless mode using docker -</p> </blockquote> <pre><code class="language-sh">docker run projectdiscovery/katana:latest -u https://tesla.com -system-chrome -headless </code></pre> </details> <details> <summary>Ubuntu</summary> <blockquote> <p>It's recommended to install the following prerequisites -</p> </blockquote> <pre><code class="language-sh">sudo apt update sudo snap refresh sudo apt install zip curl wget git sudo snap install golang --classic wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add - sudo sh -c 'echo "deb http://dl.google.com/linux/chrome/deb/ stable main" &gt;&gt; /etc/apt/sources.list.d/google.list' sudo apt update sudo apt install google-chrome-stable </code></pre> <blockquote> <p>install katana -</p> </blockquote> <pre><code class="language-sh">go install github.com/projectdiscovery/katana/cmd/katana@latest </code></pre> </details> <h2>Usage</h2> <pre><code class="language-console">katana -h </code></pre> <p>This will display help for the tool. Here are all the switches it supports.</p> <pre><code class="language-console">Katana is a fast crawler focused on execution in automation pipelines offering both headless and non-headless crawling. Usage: ./katana [flags] Flags: INPUT: -u, -list string[] target url / list to crawl -resume string resume scan using resume.cfg -e, -exclude string[] exclude host matching specified filter ('cdn', 'private-ips', cidr, ip, regex) CONFIGURATION: -r, -resolvers string[] list of custom resolver (file or comma separated) -d, -depth int maximum depth to crawl (default 3) -jc, -js-crawl enable endpoint parsing / crawling in javascript file -jsl, -jsluice enable jsluice parsing in javascript file (memory intensive) -ct, -crawl-duration value maximum duration to crawl the target for (s, m, h, d) (default s) -kf, -known-files string enable crawling of known files (all,robotstxt,sitemapxml), a minimum depth of 3 is required to ensure all known files are properly crawled. -mrs, -max-response-size int maximum response size to read (default 9223372036854775807) -timeout int time to wait for request in seconds (default 10) -aff, -automatic-form-fill enable automatic form filling (experimental) -fx, -form-extraction extract form, input, textarea &amp; select elements in jsonl output -retry int number of times to retry the request (default 1) -proxy string http/socks5 proxy to use -H, -headers string[] custom header/cookie to include in all http request in header:value format (file) -config string path to the katana configuration file -fc, -form-config string path to custom form configuration file -flc, -field-config string path to custom field configuration file -s, -strategy string Visit strategy (depth-first, breadth-first) (default "depth-first") -iqp, -ignore-query-params Ignore crawling same path with different query-param values -tlsi, -tls-impersonate enable experimental client hello (ja3) tls randomization -dr, -disable-redirects disable following redirects (default false) DEBUG: -health-check, -hc run diagnostic check up -elog, -error-log string file to write sent requests error log HEADLESS: -hl, -headless enable headless hybrid crawling (experimental) -sc, -system-chrome use local installed chrome browser instead of katana installed -sb, -show-browser show the browser on the screen with headless mode -ho, -headless-options string[] start headless chrome with additional options -nos, -no-sandbox start headless chrome in --no-sandbox mode -cdd, -chrome-data-dir string path to store chrome browser data -scp, -system-chrome-path string use specified chrome browser for headless crawling -noi, -no-incognito start headless chrome without incognito mode -cwu, -chrome-ws-url string use chrome browser instance launched elsewhere with the debugger listening at this URL -xhr, -xhr-extraction extract xhr request url,method in jsonl output SCOPE: -cs, -crawl-scope string[] in scope url regex to be followed by crawler -cos, -crawl-out-scope string[] out of scope url regex to be excluded by crawler -fs, -field-scope string pre-defined scope field (dn,rdn,fqdn) or custom regex (e.g., '(company-staging.io|company.com)') (default "rdn") -ns, -no-scope disables host based default scope -do, -display-out-scope display external endpoint from scoped crawling FILTER: -mr, -match-regex string[] regex or list of regex to match on output url (cli, file) -fr, -filter-regex string[] regex or list of regex to filter on output url (cli, file) -f, -field string field to display in output (url,path,fqdn,rdn,rurl,qurl,qpath,file,ufile,key,value,kv,dir,udir) -sf, -store-field string field to store in per-host output (url,path,fqdn,rdn,rurl,qurl,qpath,file,ufile,key,value,kv,dir,udir) -em, -extension-match string[] match output for given extension (eg, -em php,html,js) -ef, -extension-filter string[] filter output for given extension (eg, -ef png,css) -mdc, -match-condition string match response with dsl based condition -fdc, -filter-condition string filter response with dsl based condition RATE-LIMIT: -c, -concurrency int number of concurrent fetchers to use (default 10) -p, -parallelism int number of concurrent inputs to process (default 10) -rd, -delay int request delay between each request in seconds -rl, -rate-limit int maximum requests to send per second (default 150) -rlm, -rate-limit-minute int maximum number of requests to send per minute UPDATE: -up, -update update katana to latest version -duc, -disable-update-check disable automatic katana update check OUTPUT: -o, -output string file to write output to -sr, -store-response store http requests/responses -srd, -store-response-dir string store http requests/responses to custom directory -sfd, -store-field-dir string store per-host field to custom directory -or, -omit-raw omit raw requests/responses from jsonl output -ob, -omit-body omit response body from jsonl output -j, -jsonl write output in jsonl format -nc, -no-color disable output content coloring (ANSI escape codes) -silent display output only -v, -verbose display verbose output -debug display debug output -version display project version </code></pre> <h2>Running Katana</h2> <h3>Input for katana</h3> <p><strong>katana</strong> requires <strong>url</strong> or <strong>endpoint</strong> to crawl and accepts single or multiple inputs.</p> <p>Input URL can be provided using <code>-u</code> option, and multiple values can be provided using comma-separated input, similarly <strong>file</strong> input is supported using <code>-list</code> option and additionally piped input (stdin) is also supported.</p> <h4>URL Input</h4> <pre><code class="language-sh">katana -u https://tesla.com </code></pre> <h4>Multiple URL Input (comma-separated)</h4> <pre><code class="language-sh">katana -u https://tesla.com,https://google.com </code></pre> <h4>List Input</h4> <pre><code class="language-bash">$ cat url_list.txt https://tesla.com https://google.com </code></pre> <pre><code>katana -list url_list.txt </code></pre> <h4>STDIN (piped) Input</h4> <pre><code class="language-sh">echo https://tesla.com | katana </code></pre> <pre><code class="language-sh">cat domains | httpx | katana </code></pre> <p>Example running katana -</p> <pre><code class="language-console">katana -u https://youtube.com __ __ / /_____ _/ /____ ____ ___ _ / '_/ _ / __/ _ / _ \/ _ / /_/\_\\_,_/\__/\_,_/_//_/\_,_/ v0.0.1 projectdiscovery.io [WRN] Use with caution. You are responsible for your actions. [WRN] Developers assume no liability and are not responsible for any misuse or damage. https://www.youtube.com/ https://www.youtube.com/about/ https://www.youtube.com/about/press/ https://www.youtube.com/about/copyright/ https://www.youtube.com/t/contact_us/ https://www.youtube.com/creators/ https://www.youtube.com/ads/ https://www.youtube.com/t/terms https://www.youtube.com/t/privacy https://www.youtube.com/about/policies/ https://www.youtube.com/howyoutubeworks?utm_campaign=ytgen&amp;utm_source=ythp&amp;utm_medium=LeftNav&amp;utm_content=txt&amp;u=https%3A%2F%2Fwww.youtube.com%2Fhowyoutubeworks%3Futm_source%3Dythp%26utm_medium%3DLeftNav%26utm_campaign%3Dytgen https://www.youtube.com/new https://m.youtube.com/ https://www.youtube.com/s/desktop/4965577f/jsbin/desktop_polymer.vflset/desktop_polymer.js https://www.youtube.com/s/desktop/4965577f/cssbin/www-main-desktop-home-page-skeleton.css https://www.youtube.com/s/desktop/4965577f/cssbin/www-onepick.css https://www.youtube.com/s/_/ytmainappweb/_/ss/k=ytmainappweb.kevlar_base.0Zo5FUcPkCg.L.B1.O/am=gAE/d=0/rs=AGKMywG5nh5Qp-BGPbOaI1evhF5BVGRZGA https://www.youtube.com/opensearch?locale=en_GB https://www.youtube.com/manifest.webmanifest https://www.youtube.com/s/desktop/4965577f/cssbin/www-main-desktop-watch-page-skeleton.css https://www.youtube.com/s/desktop/4965577f/jsbin/web-animations-next-lite.min.vflset/web-animations-next-lite.min.js https://www.youtube.com/s/desktop/4965577f/jsbin/custom-elements-es5-adapter.vflset/custom-elements-es5-adapter.js https://www.youtube.com/s/desktop/4965577f/jsbin/webcomponents-sd.vflset/webcomponents-sd.js https://www.youtube.com/s/desktop/4965577f/jsbin/intersection-observer.min.vflset/intersection-observer.min.js https://www.youtube.com/s/desktop/4965577f/jsbin/scheduler.vflset/scheduler.js https://www.youtube.com/s/desktop/4965577f/jsbin/www-i18n-constants-en_GB.vflset/www-i18n-constants.js https://www.youtube.com/s/desktop/4965577f/jsbin/www-tampering.vflset/www-tampering.js https://www.youtube.com/s/desktop/4965577f/jsbin/spf.vflset/spf.js https://www.youtube.com/s/desktop/4965577f/jsbin/network.vflset/network.js https://www.youtube.com/howyoutubeworks/ https://www.youtube.com/trends/ https://www.youtube.com/jobs/ https://www.youtube.com/kids/ </code></pre> <h2>Crawling Mode</h2> <h3>Standard Mode</h3> <p>Standard crawling modality uses the standard go http library under the hood to handle HTTP requests/responses. This modality is much faster as it doesn't have the browser overhead. Still, it analyzes HTTP responses body as is, without any javascript or DOM rendering, potentially missing post-dom-rendered endpoints or asynchronous endpoint calls that might happen in complex web applications depending, for example, on browser-specific events.</p> <h3>Headless Mode</h3> <p>Headless mode hooks internal headless calls to handle HTTP requests/responses directly within the browser context. This offers two advantages:</p> <ul> <li>The HTTP fingerprint (TLS and user agent) fully identify the client as a legitimate browser</li> <li>Better coverage since the endpoints are discovered analyzing the standard raw response, as in the previous modality, and also the browser-rendered one with javascript enabled.</li> </ul> <p>Headless crawling is optional and can be enabled using <code>-headless</code> option.</p> <p>Here are other headless CLI options -</p> <pre><code class="language-console">katana -h headless Flags: HEADLESS: -hl, -headless enable headless hybrid crawling (experimental) -sc, -system-chrome use local installed chrome browser instead of katana installed -sb, -show-browser show the browser on the screen with headless mode -ho, -headless-options string[] start headless chrome with additional options -nos, -no-sandbox start headless chrome in --no-sandbox mode -cdd, -chrome-data-dir string path to store chrome browser data -scp, -system-chrome-path string use specified chrome browser for headless crawling -noi, -no-incognito start headless chrome without incognito mode -cwu, -chrome-ws-url string use chrome browser instance launched elsewhere with the debugger listening at this URL -xhr, -xhr-extraction extract xhr requests </code></pre> <h2><em><code>-no-sandbox</code></em></h2> <p>Runs headless chrome browser with <strong>no-sandbox</strong> option, useful when running as root user.</p> <pre><code class="language-console">katana -u https://tesla.com -headless -no-sandbox </code></pre> <h2><em><code>-no-incognito</code></em></h2> <p>Runs headless chrome browser without incognito mode, useful when using the local browser.</p> <pre><code class="language-console">katana -u https://tesla.com -headless -no-incognito </code></pre> <h2><em><code>-headless-options</code></em></h2> <p>When crawling in headless mode, additional chrome options can be specified using <code>-headless-options</code>, for example -</p> <pre><code class="language-console">katana -u https://tesla.com -headless -system-chrome -headless-options --disable-gpu,proxy-server=http://127.0.0.1:8080 </code></pre> <h2>Scope Control</h2> <p>Crawling can be endless if not scoped, as such katana comes with multiple support to define the crawl scope.</p> <h2><em><code>-field-scope</code></em></h2> <p>Most handy option to define scope with predefined field name, <code>rdn</code> being default option for field scope.</p> <ul> <li><code>rdn</code> - crawling scoped to root domain name and all subdomains (e.g. <code>*example.com</code>) (default)</li> <li><code>fqdn</code> - crawling scoped to given sub(domain) (e.g. <code>www.example.com</code> or <code>api.example.com</code>)</li> <li><code>dn</code> - crawling scoped to domain name keyword (e.g. <code>example</code>)</li> </ul> <pre><code class="language-console">katana -u https://tesla.com -fs dn </code></pre> <h2><em><code>-crawl-scope</code></em></h2> <p>For advanced scope control, <code>-cs</code> option can be used that comes with <strong>regex</strong> support.</p> <pre><code class="language-console">katana -u https://tesla.com -cs login </code></pre> <p>For multiple in scope rules, file input with multiline string / regex can be passed.</p> <pre><code class="language-bash">$ cat in_scope.txt login/ admin/ app/ wordpress/ </code></pre> <pre><code class="language-console">katana -u https://tesla.com -cs in_scope.txt </code></pre> <h2><em><code>-crawl-out-scope</code></em></h2> <p>For defining what not to crawl, <code>-cos</code> option can be used and also support <strong>regex</strong> input.</p> <pre><code class="language-console">katana -u https://tesla.com -cos logout </code></pre> <p>For multiple out of scope rules, file input with multiline string / regex can be passed.</p> <pre><code class="language-bash">$ cat out_of_scope.txt /logout /log_out </code></pre> <pre><code class="language-console">katana -u https://tesla.com -cos out_of_scope.txt </code></pre> <h2><em><code>-no-scope</code></em></h2> <p>Katana is default to scope <code>*.domain</code>, to disable this <code>-ns</code> option can be used and also to crawl the internet.</p> <pre><code class="language-console">katana -u https://tesla.com -ns </code></pre> <h2><em><code>-display-out-scope</code></em></h2> <p>As default, when scope option is used, it also applies for the links to display as output, as such <strong>external URLs are default to exclude</strong> and to overwrite this behavior, <code>-do</code> option can be used to display all the external URLs that exist in targets scoped URL / Endpoint.</p> <pre><code>katana -u https://tesla.com -do </code></pre> <p>Here is all the CLI options for the scope control -</p> <pre><code class="language-console">katana -h scope Flags: SCOPE: -cs, -crawl-scope string[] in scope url regex to be followed by crawler -cos, -crawl-out-scope string[] out of scope url regex to be excluded by crawler -fs, -field-scope string pre-defined scope field (dn,rdn,fqdn) (default "rdn") -ns, -no-scope disables host based default scope -do, -display-out-scope display external endpoint from scoped crawling </code></pre> <h2>Crawler Configuration</h2> <p>Katana comes with multiple options to configure and control the crawl as the way we want.</p> <h2><em><code>-depth</code></em></h2> <p>Option to define the <code>depth</code> to follow the urls for crawling, the more depth the more number of endpoint being crawled + time for crawl.</p> <pre><code>katana -u https://tesla.com -d 5 </code></pre> <h2><em><code>-js-crawl</code></em></h2> <p>Option to enable JavaScript file parsing + crawling the endpoints discovered in JavaScript files, disabled as default.</p> <pre><code>katana -u https://tesla.com -jc </code></pre> <h2><em><code>-crawl-duration</code></em></h2> <p>Option to predefined crawl duration, disabled as default.</p> <pre><code>katana -u https://tesla.com -ct 2 </code></pre> <h2><em><code>-known-files</code></em></h2> <p>Option to enable crawling <code>robots.txt</code> and <code>sitemap.xml</code> file, disabled as default.</p> <pre><code>katana -u https://tesla.com -kf robotstxt,sitemapxml </code></pre> <h2><em><code>-automatic-form-fill</code></em></h2> <p>Option to enable automatic form filling for known / unknown fields, known field values can be customized as needed by updating form config file at <code>$HOME/.config/katana/form-config.yaml</code>.</p> <p>Automatic form filling is experimental feature.</p> <pre><code>katana -u https://tesla.com -aff </code></pre> <h2>Authenticated Crawling</h2> <p>Authenticated crawling involves including custom headers or cookies in HTTP requests to access protected resources. These headers provide authentication or authorization information, allowing you to crawl authenticated content / endpoint. You can specify headers directly in the command line or provide them as a file with katana to perfrom authenticated crawling.</p> <blockquote> <p><strong>Note</strong>: User needs to be manually perform the authentication and export the session cookie / header to file to use with katana.</p> </blockquote> <h2><em><code>-headers</code></em></h2> <p>Option to add a custom header or cookie to the request.</p> <blockquote> <p>Syntax of <a href="https://datatracker.ietf.org/doc/html/rfc7230#section-3.2">headers</a> in the HTTP specification</p> </blockquote> <p>Here is an example of adding a cookie to the request:</p> <pre><code>katana -u https://tesla.com -H 'Cookie: usrsess=AmljNrESo' </code></pre> <p>It is also possible to supply headers or cookies as a file. For example:</p> <pre><code>$ cat cookie.txt Cookie: PHPSESSIONID=XXXXXXXXX X-API-KEY: XXXXX TOKEN=XX </code></pre> <pre><code>katana -u https://tesla.com -H cookie.txt </code></pre> <p>There are more options to configure when needed, here is all the config related CLI options -</p> <pre><code class="language-console">katana -h config Flags: CONFIGURATION: -r, -resolvers string[] list of custom resolver (file or comma separated) -d, -depth int maximum depth to crawl (default 3) -jc, -js-crawl enable endpoint parsing / crawling in javascript file -ct, -crawl-duration int maximum duration to crawl the target for -kf, -known-files string enable crawling of known files (all,robotstxt,sitemapxml) -mrs, -max-response-size int maximum response size to read (default 9223372036854775807) -timeout int time to wait for request in seconds (default 10) -aff, -automatic-form-fill enable automatic form filling (experimental) -fx, -form-extraction enable extraction of form, input, textarea &amp; select elements -retry int number of times to retry the request (default 1) -proxy string http/socks5 proxy to use -H, -headers string[] custom header/cookie to include in request -config string path to the katana configuration file -fc, -form-config string path to custom form configuration file -flc, -field-config string path to custom field configuration file -s, -strategy string Visit strategy (depth-first, breadth-first) (default "depth-first") </code></pre> <h3>Connecting to Active Browser Session</h3> <p>Katana can also connect to active browser session where user is already logged in and authenticated. and use it for crawling. The only requirement for this is to start browser with remote debugging enabled.</p> <p>Here is an example of starting chrome browser with remote debugging enabled and using it with katana -</p> <p><strong>step 1) First Locate path of chrome executable</strong></p> <table> <thead> <tr> <th>Operating System</th> <th>Chromium Executable Location</th> <th>Google Chrome Executable Location</th> </tr> </thead> <tbody> <tr> <td>Windows (64-bit)</td> <td><code>C:\Program Files (x86)\Google\Chromium\Application\chrome.exe</code></td> <td><code>C:\Program Files (x86)\Google\Chrome\Application\chrome.exe</code></td> </tr> <tr> <td>Windows (32-bit)</td> <td><code>C:\Program Files\Google\Chromium\Application\chrome.exe</code></td> <td><code>C:\Program Files\Google\Chrome\Application\chrome.exe</code></td> </tr> <tr> <td>macOS</td> <td><code>/Applications/Chromium.app/Contents/MacOS/Chromium</code></td> <td><code>/Applications/Google Chrome.app/Contents/MacOS/Google Chrome</code></td> </tr> <tr> <td>Linux</td> <td><code>/usr/bin/chromium</code></td> <td><code>/usr/bin/google-chrome</code></td> </tr> </tbody> </table> <p><strong>step 2) Start chrome with remote debugging enabled and it will return websocker url. For example, on MacOS, you can start chrome with remote debugging enabled using following command</strong> -</p> <pre><code class="language-console">$ /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=9222 DevTools listening on ws://127.0.0.1:9222/devtools/browser/c5316c9c-19d6-42dc-847a-41d1aeebf7d6 </code></pre> <blockquote> <p>Now login to the website you want to crawl and keep the browser open.</p> </blockquote> <p><strong>step 3) Now use the websocket url with katana to connect to the active browser session and crawl the website</strong></p> <pre><code class="language-console">katana -headless -u https://tesla.com -cwu ws://127.0.0.1:9222/devtools/browser/c5316c9c-19d6-42dc-847a-41d1aeebf7d6 -no-incognito </code></pre> <blockquote> <p><strong>Note</strong>: you can use <code>-cdd</code> option to specify custom chrome data directory to store browser data and cookies but that does not save session data if cookie is set to <code>Session</code> only or expires after certain time.</p> </blockquote> <h2>Filters</h2> <h2><em><code>-field</code></em></h2> <p>Katana comes with built in fields that can be used to filter the output for the desired information, <code>-f</code> option can be used to specify any of the available fields.</p> <pre><code> -f, -field string field to display in output (url,path,fqdn,rdn,rurl,qurl,qpath,file,key,value,kv,dir,udir) </code></pre> <p>Here is a table with examples of each field and expected output when used -</p> <table> <thead> <tr> <th>FIELD</th> <th>DESCRIPTION</th> <th>EXAMPLE</th> </tr> </thead> <tbody> <tr> <td><code>url</code></td> <td>URL Endpoint</td> <td><code>https://admin.projectdiscovery.io/admin/login?user=admin&amp;password=admin</code></td> </tr> <tr> <td><code>qurl</code></td> <td>URL including query param</td> <td><code>https://admin.projectdiscovery.io/admin/login.php?user=admin&amp;password=admin</code></td> </tr> <tr> <td><code>qpath</code></td> <td>Path including query param</td> <td><code>/login?user=admin&amp;password=admin</code></td> </tr> <tr> <td><code>path</code></td> <td>URL Path</td> <td><code>https://admin.projectdiscovery.io/admin/login</code></td> </tr> <tr> <td><code>fqdn</code></td> <td>Fully Qualified Domain name</td> <td><code>admin.projectdiscovery.io</code></td> </tr> <tr> <td><code>rdn</code></td> <td>Root Domain name</td> <td><code>projectdiscovery.io</code></td> </tr> <tr> <td><code>rurl</code></td> <td>Root URL</td> <td><code>https://admin.projectdiscovery.io</code></td> </tr> <tr> <td><code>ufile</code></td> <td>URL with File</td> <td><code>https://admin.projectdiscovery.io/login.js</code></td> </tr> <tr> <td><code>file</code></td> <td>Filename in URL</td> <td><code>login.php</code></td> </tr> <tr> <td><code>key</code></td> <td>Parameter keys in URL</td> <td><code>user,password</code></td> </tr> <tr> <td><code>value</code></td> <td>Parameter values in URL</td> <td><code>admin,admin</code></td> </tr> <tr> <td><code>kv</code></td> <td>Keys=Values in URL</td> <td><code>user=admin&amp;password=admin</code></td> </tr> <tr> <td><code>dir</code></td> <td>URL Directory name</td> <td><code>/admin/</code></td> </tr> <tr> <td><code>udir</code></td> <td>URL with Directory</td> <td><code>https://admin.projectdiscovery.io/admin/</code></td> </tr> </tbody> </table> <p>Here is an example of using field option to only display all the urls with query parameter in it -</p> <pre><code>katana -u https://tesla.com -f qurl -silent https://shop.tesla.com/en_au?redirect=no https://shop.tesla.com/en_nz?redirect=no https://shop.tesla.com/product/men_s-raven-lightweight-zip-up-bomber-jacket?sku=1740250-00-A https://shop.tesla.com/product/tesla-shop-gift-card?sku=1767247-00-A https://shop.tesla.com/product/men_s-chill-crew-neck-sweatshirt?sku=1740176-00-A https://www.tesla.com/about?redirect=no https://www.tesla.com/about/legal?redirect=no https://www.tesla.com/findus/list?redirect=no </code></pre> <h3>Custom Fields</h3> <p>You can create custom fields to extract and store specific information from page responses using regex rules. These custom fields are defined using a YAML config file and are loaded from the default location at <code>$HOME/.config/katana/field-config.yaml</code>. Alternatively, you can use the <code>-flc</code> option to load a custom field config file from a different location. Here is example custom field.</p> <pre><code class="language-yaml">- name: email type: regex regex: - '([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\.[a-zA-Z0-9_-]+)' - '([a-zA-Z0-9+._-]+@[a-zA-Z0-9._-]+\.[a-zA-Z0-9_-]+)' - name: phone type: regex regex: - '\d{3}-\d{8}|\d{4}-\d{7}' </code></pre> <p>When defining custom fields, following attributes are supported:</p> <ul> <li><strong>name</strong> (required)</li> </ul> <blockquote> <p>The value of <strong>name</strong> attribute is used as the <code>-field</code> cli option value.</p> </blockquote> <ul> <li><strong>type</strong> (required)</li> </ul> <blockquote> <p>The type of custom attribute, currenly supported option - <code>regex</code></p> </blockquote> <ul> <li><strong>part</strong> (optional)</li> </ul> <blockquote> <p>The part of the response to extract the information from. The default value is <code>response</code>, which includes both the header and body. Other possible values are <code>header</code> and <code>body</code>.</p> </blockquote> <ul> <li>group (optional)</li> </ul> <blockquote> <p>You can use this attribute to select a specific matched group in regex, for example: <code>group: 1</code></p> </blockquote> <h4>Running katana using custom field:</h4> <pre><code class="language-console">katana -u https://tesla.com -f email,phone </code></pre> <h2><em><code>-store-field</code></em></h2> <p>To compliment <code>field</code> option which is useful to filter output at run time, there is <code>-sf, -store-fields</code> option which works exactly like field option except instead of filtering, it stores all the information on the disk under <code>katana_field</code> directory sorted by target url. Use <code>-sfd</code> or <code>-store-field-dir</code> to store data in a different location.</p> <pre><code>katana -u https://tesla.com -sf key,fqdn,qurl -silent </code></pre> <pre><code class="language-bash">$ ls katana_field/ https_www.tesla.com_fqdn.txt https_www.tesla.com_key.txt https_www.tesla.com_qurl.txt </code></pre> <p>The <code>-store-field</code> option can be useful for collecting information to build a targeted wordlist for various purposes, including but not limited to:</p> <ul> <li>Identifying the most commonly used parameters</li> <li>Discovering frequently used paths</li> <li>Finding commonly used files</li> <li>Identifying related or unknown subdomains</li> </ul> <h3>Katana Filters</h3> <h2><em><code>-extension-match</code></em></h2> <p>Crawl output can be easily matched for specific extension using <code>-em</code> option to ensure to display only output containing given extension.</p> <pre><code>katana -u https://tesla.com -silent -em js,jsp,json </code></pre> <h2><em><code>-extension-filter</code></em></h2> <p>Crawl output can be easily filtered for specific extension using <code>-ef</code> option which ensure to remove all the urls containing given extension.</p> <pre><code>katana -u https://tesla.com -silent -ef css,txt,md </code></pre> <h2><em><code>-match-regex</code></em></h2> <p>The <code>-match-regex</code> or <code>-mr</code> flag allows you to filter output URLs using regular expressions. When using this flag, only URLs that match the specified regular expression will be printed in the output.</p> <pre><code>katana -u https://tesla.com -mr 'https://shop\.tesla\.com/*' -silent </code></pre> <h2><em><code>-filter-regex</code></em></h2> <p>The <code>-filter-regex</code> or <code>-fr</code> flag allows you to filter output URLs using regular expressions. When using this flag, it will skip the URLs that are match the specified regular expression.</p> <pre><code>katana -u https://tesla.com -fr 'https://www\.tesla\.com/*' -silent </code></pre> <h3>Advance Filtering</h3> <p>Katana supports DSL-based expressions for advanced matching and filtering capabilities:</p> <ul> <li>To match endpoints with a 200 status code:</li> </ul> <pre><code class="language-shell">katana -u https://www.hackerone.com -mdc 'status_code == 200' </code></pre> <ul> <li>To match endpoints that contain "default" and have a status code other than 403:</li> </ul> <pre><code class="language-shell">katana -u https://www.hackerone.com -mdc 'contains(endpoint, "default") &amp;&amp; status_code != 403' </code></pre> <ul> <li>To match endpoints with PHP technologies:</li> </ul> <pre><code class="language-shell">katana -u https://www.hackerone.com -mdc 'contains(to_lower(technologies), "php")' </code></pre> <ul> <li>To filter out endpoints running on Cloudflare:</li> </ul> <pre><code class="language-shell">katana -u https://www.hackerone.com -fdc 'contains(to_lower(technologies), "cloudflare")' </code></pre> <p>DSL functions can be applied to any keys in the jsonl output. For more information on available DSL functions, please visit the <a href="https://github.com/projectdiscovery/dsl">dsl project</a>.</p> <p>Here are additional filter options -</p> <pre><code class="language-console">katana -h filter Flags: FILTER: -mr, -match-regex string[] regex or list of regex to match on output url (cli, file) -fr, -filter-regex string[] regex or list of regex to filter on output url (cli, file) -f, -field string field to display in output (url,path,fqdn,rdn,rurl,qurl,qpath,file,ufile,key,value,kv,dir,udir) -sf, -store-field string field to store in per-host output (url,path,fqdn,rdn,rurl,qurl,qpath,file,ufile,key,value,kv,dir,udir) -em, -extension-match string[] match output for given extension (eg, -em php,html,js) -ef, -extension-filter string[] filter output for given extension (eg, -ef png,css) -mdc, -match-condition string match response with dsl based condition -fdc, -filter-condition string filter response with dsl based condition </code></pre> <h2>Rate Limit</h2> <p>It's easy to get blocked / banned while crawling if not following target websites limits, katana comes with multiple option to tune the crawl to go as fast / slow we want.</p> <h2><em><code>-delay</code></em></h2> <p>option to introduce a delay in seconds between each new request katana makes while crawling, disabled as default.</p> <pre><code>katana -u https://tesla.com -delay 20 </code></pre> <h2><em><code>-concurrency</code></em></h2> <p>option to control the number of urls per target to fetch at the same time.</p> <pre><code>katana -u https://tesla.com -c 20 </code></pre> <h2><em><code>-parallelism</code></em></h2> <p>option to define number of target to process at same time from list input.</p> <pre><code>katana -u https://tesla.com -p 20 </code></pre> <h2><em><code>-rate-limit</code></em></h2> <p>option to use to define max number of request can go out per second.</p> <pre><code>katana -u https://tesla.com -rl 100 </code></pre> <h2><em><code>-rate-limit-minute</code></em></h2> <p>option to use to define max number of request can go out per minute.</p> <pre><code>katana -u https://tesla.com -rlm 500 </code></pre> <p>Here is all long / short CLI options for rate limit control -</p> <pre><code class="language-console">katana -h rate-limit Flags: RATE-LIMIT: -c, -concurrency int number of concurrent fetchers to use (default 10) -p, -parallelism int number of concurrent inputs to process (default 10) -rd, -delay int request delay between each request in seconds -rl, -rate-limit int maximum requests to send per second (default 150) -rlm, -rate-limit-minute int maximum number of requests to send per minute </code></pre> <h2>Output</h2> <p>Katana support both file output in plain text format as well as JSON which includes additional information like, <code>source</code>, <code>tag</code>, and <code>attribute</code> name to co-related the discovered endpoint.</p> <p><em><code>-output</code></em></p> <p>By default, katana outputs the crawled endpoints in plain text format. The results can be written to a file by using the -output option.</p> <pre><code class="language-console">katana -u https://example.com -no-scope -output example_endpoints.txt </code></pre> <h2><em><code>-jsonl</code></em></h2> <pre><code class="language-console">katana -u https://example.com -jsonl | jq . </code></pre> <pre><code class="language-json">{ "timestamp": "2023-03-20T16:23:58.027559+05:30", "request": { "method": "GET", "endpoint": "https://example.com", "raw": "GET / HTTP/1.1\r\nHost: example.com\r\nUser-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 11_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36\r\nAccept-Encoding: gzip\r\n\r\n" }, "response": { "status_code": 200, "headers": { "accept_ranges": "bytes", "expires": "Mon, 27 Mar 2023 10:53:58 GMT", "last_modified": "Thu, 17 Oct 2019 07:18:26 GMT", "content_type": "text/html; charset=UTF-8", "server": "ECS (dcb/7EA3)", "vary": "Accept-Encoding", "etag": "\"3147526947\"", "cache_control": "max-age=604800", "x_cache": "HIT", "date": "Mon, 20 Mar 2023 10:53:58 GMT", "age": "331239" }, "body": "&lt;!doctype html&gt;\n&lt;html&gt;\n&lt;head&gt;\n &lt;title&gt;Example Domain&lt;/title&gt;\n\n &lt;meta charset=\"utf-8\" /&gt;\n &lt;meta http-equiv=\"Content-type\" content=\"text/html; charset=utf-8\" /&gt;\n &lt;meta name=\"viewport\" content=\"width=device-width, initial-scale=1\" /&gt;\n &lt;style type=\"text/css\"&gt;\n body {\n background-color: #f0f0f2;\n margin: 0;\n padding: 0;\n font-family: -apple-system, system-ui, BlinkMacSystemFont, \"Segoe UI\", \"Open Sans\", \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n \n }\n div {\n width: 600px;\n margin: 5em auto;\n padding: 2em;\n background-color: #fdfdff;\n border-radius: 0.5em;\n box-shadow: 2px 3px 7px 2px rgba(0,0,0,0.02);\n }\n a:link, a:visited {\n color: #38488f;\n text-decoration: none;\n }\n @media (max-width: 700px) {\n div {\n margin: 0 auto;\n width: auto;\n }\n }\n &lt;/style&gt; \n&lt;/head&gt;\n\n&lt;body&gt;\n&lt;div&gt;\n &lt;h1&gt;Example Domain&lt;/h1&gt;\n &lt;p&gt;This domain is for use in illustrative examples in documents. You may use this\n domain in literature without prior coordination or asking for permission.&lt;/p&gt;\n &lt;p&gt;&lt;a href=\"https://www.iana.org/domains/example\"&gt;More information...&lt;/a&gt;&lt;/p&gt;\n&lt;/div&gt;\n&lt;/body&gt;\n&lt;/html&gt;\n", "technologies": [ "Azure", "Amazon ECS", "Amazon Web Services", "Docker", "Azure CDN" ], "raw": "HTTP/1.1 200 OK\r\nContent-Length: 1256\r\nAccept-Ranges: bytes\r\nAge: 331239\r\nCache-Control: max-age=604800\r\nContent-Type: text/html; charset=UTF-8\r\nDate: Mon, 20 Mar 2023 10:53:58 GMT\r\nEtag: \"3147526947\"\r\nExpires: Mon, 27 Mar 2023 10:53:58 GMT\r\nLast-Modified: Thu, 17 Oct 2019 07:18:26 GMT\r\nServer: ECS (dcb/7EA3)\r\nVary: Accept-Encoding\r\nX-Cache: HIT\r\n\r\n&lt;!doctype html&gt;\n&lt;html&gt;\n&lt;head&gt;\n &lt;title&gt;Example Domain&lt;/title&gt;\n\n &lt;meta charset=\"utf-8\" /&gt;\n &lt;meta http-equiv=\"Content-type\" content=\"text/html; charset=utf-8\" /&gt;\n &lt;meta name=\"viewport\" content=\"width=device-width, initial-scale=1\" /&gt;\n &lt;style type=\"text/css\"&gt;\n body {\n background-color: #f0f0f2;\n margin: 0;\n padding: 0;\n font-family: -apple-system, system-ui, BlinkMacSystemFont, \"Segoe UI\", \"Open Sans\", \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n \n }\n div {\n width: 600px;\n margin: 5em auto;\n padding: 2em;\n background-color: #fdfdff;\n border-radius: 0.5em;\n box-shadow: 2px 3px 7px 2px rgba(0,0,0,0.02);\n }\n a:link, a:visited {\n color: #38488f;\n text-decoration: none;\n }\n @media (max-width: 700px) {\n div {\n margin: 0 auto;\n width: auto;\n }\n }\n &lt;/style&gt; \n&lt;/head&gt;\n\n&lt;body&gt;\n&lt;div&gt;\n &lt;h1&gt;Example Domain&lt;/h1&gt;\n &lt;p&gt;This domain is for use in illustrative examples in documents. You may use this\n domain in literature without prior coordination or asking for permission.&lt;/p&gt;\n &lt;p&gt;&lt;a href=\"https://www.iana.org/domains/example\"&gt;More information...&lt;/a&gt;&lt;/p&gt;\n&lt;/div&gt;\n&lt;/body&gt;\n&lt;/html&gt;\n" } } </code></pre> <h2><em><code>-store-response</code></em></h2> <p>The <code>-store-response</code> option allows for writing all crawled endpoint requests and responses to a text file. When this option is used, text files including the request and response will be written to the <strong>katana_response</strong> directory. If you would like to specify a custom directory, you can use the <code>-store-response-dir</code> option.</p> <pre><code class="language-console">katana -u https://example.com -no-scope -store-response </code></pre> <pre><code class="language-bash">$ cat katana_response/index.txt katana_response/example.com/327c3fda87ce286848a574982ddd0b7c7487f816.txt https://example.com (200 OK) katana_response/www.iana.org/bfc096e6dd93b993ca8918bf4c08fdc707a70723.txt http://www.iana.org/domains/reserved (200 OK) </code></pre> <p><strong>Note:</strong></p> <p><em><code>-store-response</code> option is not supported in <code>-headless</code> mode.</em></p> <p>Here are additional CLI options related to output -</p> <pre><code class="language-console">katana -h output OUTPUT: -o, -output string file to write output to -sr, -store-response store http requests/responses -srd, -store-response-dir string store http requests/responses to custom directory -j, -json write output in JSONL(ines) format -nc, -no-color disable output content coloring (ANSI escape codes) -silent display output only -v, -verbose display verbose output -version display project version </code></pre> <h2>Katana as a library</h2> <p><code>katana</code> can be used as a library by creating an instance of the <code>Option</code> struct and populating it with the same options that would be specified via CLI. Using the options you can create <code>crawlerOptions</code> and so standard or hybrid <code>crawler</code>. <code>crawler.Crawl</code> method should be called to crawl the input.</p> <pre><code class="language-go">package main import ( "math" "github.com/projectdiscovery/gologger" "github.com/projectdiscovery/katana/pkg/engine/standard" "github.com/projectdiscovery/katana/pkg/output" "github.com/projectdiscovery/katana/pkg/types" ) func main() { options := &amp;types.Options{ MaxDepth: 3, // Maximum depth to crawl FieldScope: "rdn", // Crawling Scope Field BodyReadSize: math.MaxInt, // Maximum response size to read Timeout: 10, // Timeout is the time to wait for request in seconds Concurrency: 10, // Concurrency is the number of concurrent crawling goroutines Parallelism: 10, // Parallelism is the number of urls processing goroutines Delay: 0, // Delay is the delay between each crawl requests in seconds RateLimit: 150, // Maximum requests to send per second Strategy: "depth-first", // Visit strategy (depth-first, breadth-first) OnResult: func(result output.Result) { // Callback function to execute for result gologger.Info().Msg(result.Request.URL) }, } crawlerOptions, err := types.NewCrawlerOptions(options) if err != nil { gologger.Fatal().Msg(err.Error()) } defer crawlerOptions.Close() crawler, err := standard.New(crawlerOptions) if err != nil { gologger.Fatal().Msg(err.Error()) } defer crawler.Close() var input = "https://www.hackerone.com" err = crawler.Crawl(input) if err != nil { gologger.Warning().Msgf("Could not crawl %s: %s", input, err.Error()) } } </code></pre> <hr> <div align="center"> <p>katana is made with ❤️ by the <a href="https://projectdiscovery.io">projectdiscovery</a> team and distributed under <a href="https://raw.githubusercontent.com/projectdiscovery/katana/main/LICENSE.md">MIT License</a>.</p> <p><a href="https://discord.gg/projectdiscovery"><img src="https://raw.githubusercontent.com/projectdiscovery/nuclei-burp-plugin/main/static/join-discord.png" width="300" alt="Join Discord"></a></p> </div> + poteto/hiring-without-whiteboards + 2024-11-21T01:28:37Z + tag:github.com,2024-11-21:/poteto/hiring-without-whiteboards + + <p>⭐️ Companies that don't have a broken hiring process</p><hr><h1>Hiring Without Whiteboards</h1> <p>A list of companies (or teams) that don't do "whiteboard" interviews. "Whiteboards" is used as a metaphor, and is a <em>symbol</em> for the kinds of CS trivia questions that are associated with bad interview practices. Whiteboards are not bad – CS trivia questions are. Using sites like HackerRank/LeetCode <em>probably</em> fall into a similar category.</p> <p>The companies and teams listed here use interview techniques and questions that resemble day-to-day work. For example, pairing on a real world problem or a paid/unpaid take home exercise. Read (and contribute to) <a href="https://raw.githubusercontent.com/poteto/hiring-without-whiteboards/main/RECOMMENDATIONS.md">our recommendations</a> for ways to conduct better interviews.</p> <h3>tl;dr</h3> <ul> <li>Discussing a real world problem (with or without whiteboard) is 👍</li> <li>Solving CS trivia, technical puzzles, riddles, brainteasers (with or without whiteboard) is 👎</li> </ul> <p>Please open a <a href="https://github.com/poteto/hiring-without-whiteboards/pull/new/master">PR</a> to be added.</p> <h3>Duds</h3> <p>If you've been through an interview with one of these companies recently, and your experience suggests otherwise from their description, please open a <a href="https://github.com/poteto/hiring-without-whiteboards/pull/new/master">PR</a> to remove them from this list.</p> <h3>I want to search/sort/filter/group by X!</h3> <p>Check out our <a href="https://airtable.com/shr3eGPDm3wGjT2gA">Airtable</a>!</p> <p>Additions to this document that are properly formatted will automatically be pushed and added to Airtable. Keywords from the description will also be extracted. You can see (and contribute!) to the <a href="https://github.com/poteto/hww-api">API here</a>.</p> <p>Also check out <a href="https://www.nowhiteboard.org">No Whiteboards</a> to search for jobs at these companies.</p> <h3>Discussion and other reads</h3> <!--lint disable--> <ul> <li>Discussion <ul> <li><a href="https://news.ycombinator.com/item?id=13874026">HackerNews (2017)</a></li> <li><a href="https://news.ycombinator.com/item?id=23981795">HackerNews (2020)</a></li> </ul> </li> <li><a href="https://theoutline.com/post/1256/finding-a-better-alternative-to-the-whiteboard-interview">Finding a better alternative to the whiteboard interview</a></li> <li><a href="https://jes.al//2023/03/how-to-hire-engineering-talent-without-the-bs/">How to hire engineering talent without the BS</a></li> <li><a href="http://www.aaronsw.com/weblog/hiring.en">How I Hire Programmers</a> by Aaron Swartz</li> </ul> <!--lint enable--> <hr> <h2>0 - 9</h2> <ul> <li><a href="https://www.1000.software/careers">1000.software</a> | Krakow, Poland / Remote | Series of 2 interviews first on soft skills, second on technical skills (how to build things, how to solve specific, real world problem, best practice) and meeting with a team leader. Sometimes a take home, simple project.</li> </ul> <h2>A - C</h2> <ul> <li><a href="https://www.aalyria.com/jobs">Aalyria</a> | Remote | Timeboxed design exercise and related coding exercise, followed by a technical/behavioral discussion with the team, and behavioral interview with leadership</li> <li><a href="https://able.co/careers">Able</a> | Lima, PE / Remote | Coding interview, Technical interview (Backlog Refinement + System Design), Leadership interview (Behavioural)</li> <li><a href="https://angel.co/abstract/jobs">Abstract</a> | San Francisco, CA</li> <li><a href="https://www.accenture.com/us-en/careers">Accenture</a> | San Francisco, CA / Los Angeles, CA / New York, NY / Kuala Lumpur, Malaysia | Technical phone discussion with architecture manager, followed by behavioral interview focusing on soft skills</li> <li><a href="https://www.accredible.com/careers">Accredible</a> | Cambridge, UK / San Francisco, CA / Remote | Take home project, then a pair-programming and discussion onsite / Skype round.</li> <li><a href="https://www.acko.com/careers">Acko</a> | Mumbai, India | Phone interview, followed by a small take home problem. Finally a F2F or skype pair programming session</li> <li><a href="https://www.acumenci.com/careers/">Acumen</a> | London, UK | Small take home test, and sit in on some sprint rituals on-site</li> <li><a href="https://adhoc.team">Ad Hoc</a> | Remote / Washington, DC | Technical take-home assignment, followed by multiple video calls that are discussions of technical background and experience.</li> <li><a href="https://www.adaface.com">Adaface</a> | Remote/ Singapore, Singapore / Bangalore, India | Conversational on-the-job technical assessment, followed by video calls with technical lead and founders</li> <li><a href="https://adcellerant.com/career-job-listing/">AdCellerant</a> | Denver, CO | Technical phone screen, 5-day take home code challenge, then on-site interview comprised of cultural and technical discussions</li> <li><a href="https://adevait.com">Adeva</a> | New York, USA | 4 steps interviewing process that includes online coding assignment + lead engineer call.</li> <li><a href="https://www.adex.network">AdEx Network</a> | Sofia, Bulgaria / Remote | Email screening process, followed by a take-home assignment</li> <li><a href="https://getadmiral.com">Admiral</a> | Gainesville, FL / Remote | Intro phone call with hiring manager, take-home assignment, (mostly) non-technical on-site with team/leadership</li> <li><a href="https://adnymics.com">Adnymics</a> | Munich, DE | Take home project, then work with the team for a day</li> <li><a href="https://adthena.com">Adthena</a> | London, UK | Takehome project and discussion on-site</li> <li><a href="https://www.adyen.com">Adyen</a> | Amsterdam, NL | Take-home assignment, design discussion based on take home, culture fit etc. Provides visa sponsorship to the Netherlands.</li> <li><a href="https://www.affinipay.com">Affinipay</a> | Austin, TX | Short takehome project + video interview about coding with engineering manager</li> <li><a href="https://ae.studio">Agency Enterprise Studio</a> | Remote / Los Angeles, CA / Florianópolis, Brazil | Live coding of a task you'd do daily</li> <li><a href="https://ageno.pl">Ageno</a> | Bielsko-Biala, Poland | Simple Magento Take-home project and discussion on the real world problems.</li> <li><a href="https://angel.co/agilemd/jobs">AgileMD</a> | San Francisco, CA | Takehome project</li> <li><a href="https://aimotive.com/career/">AImotive</a> | Budapest, Hungary | Small take-home project, then in-person interview about technical background</li> <li><a href="https://www.airbase.com/careers">Airbase</a> | San Francisco, CA; Bangalore, India; Remote | Intro Call with HR or EMs, small take-home project, two tech rounds with Airbase Engineers (based on real world engineering problems), followed by a final values round with the Founder or Director of Engineering.</li> <li><a href="https://airtable.com/careers">Airtable</a> | San Francisco, CA; Austin, TX; Mountain View, CA; New York, NY; Remote | Take home project that resembles a problem Airtable solves for. Five hour on-site which includes a discussion of the project, UI design, discussing architectural tradeoffs, and code debugging.</li> <li><a href="https://aiwip.com">Aiwip</a> | London, UK | Skype/phone interview followed by takehome project or worksample (or whiteboard)</li> <li><a href="https://jobs.lever.co/meetalbert/">Albert</a> | Los Angeles, CA | Discussion with senior engineer, and then practical pair programming related to my experience + the position</li> <li><a href="https://www.algolia.com/careers">Algolia</a> | Paris, France / San Francisco, CA | Takehome project &amp; Onsite discussions and presentation</li> <li><a href="https://www.allaboutapps.at/jobs">all about apps GmbH</a> | Vienna, Austria | 2-phase technical discussion &amp; examination with department heads and management.</li> <li><a href="https://allegro.pl/praca">Allegro</a> | Warsaw, Poland; Poznan, Poland; Torun, Poland; Wroclaw, Poland; Krakow, Poland | Take home, simple project. Series of 2 technical interviews (how to build things, how to solve specific, real world problem) and meeting with a team leader.</li> <li><a href="https://www.alluxi.mx">Alluxi</a> | Monterrey, Mexico | Initial skype interview, technical interview with Senior engineer and work sample review.</li> <li><a href="https://www.almabase.com/careers#believe">Almabase</a> | Bengaluru, India | Take-home assignment, design discussion based on take home, low level and high level design rounds based on real life problems, culture fit etc. during onsite.</li> <li><a href="https://www.alphasights.com/careers/open-roles/">AlphaSights</a> | London, UK / New York, NY / Remote | Initial interview, pair programming then final round with general technical questions</li> <li><a href="https://amagi.io">AMAGI</a> | Makati, Philippines | 1) Review of your resume, portfolio, and/or GitHub profile; 2) 1 hour discussion (in-person or Skype) about your goals, experience, personal culture, and how to apply technical solutions to real problems;</li> <li><a href="https://gastrograph.com">Analytical Flavor Systems</a> | Manhattan, New York | Code sample or take-home project, both with discussion.</li> <li><a href="https://amerch.com">Anderson Merchandisers</a> | Remote / Dallas, TX | Technical discussion about the technologies they are currently using. Going over background and resume.</li> <li><a href="https://www.angaza.com/careers/">Angaza</a> | San Francisco, CA | Take-home assignment with guaranteed feedback, on-site interviews involving actual day-to-day work</li> <li><a href="https://careers.animech.com">Animech</a> | Uppsala, Sweden | Multiple interviews with technical staff with real problem discussions.</li> <li><a href="https://career.anyfin.com">Anyfin</a> | Stockholm, Sweden | Takehome project &amp; Onsite discussions and presentation.</li> <li><a href="https://aparkado.de">Aparkado</a> | Cologne, Germany / Remote | Intro with Co-Founder, team fit with the team plus a small real-world problem to solve, followed by final round with CEO / Co-Founder.</li> <li><a href="https://apolloagriculture.com">Apollo Agriculture</a> | Nairobi, Kenya / Remote | Takehome project or Worksample (or whiteboard)</li> <li><a href="https://www.beapplied.com">Applied</a> | London, UK | Situational judgement tests focusing on real-world soft skills (online then in structured interview)</li> <li><a href="https://angel.co/arachnys/jobs/220465-software-engineer">Arachnys</a> | London, UK | Take home test, real world pair programming</li> <li><a href="https://www.articulate.com/about/careers/">Articulate</a> | Remote | Take-home project &amp; pair program on a problem similar to daily work</li> <li><a href="https://www.artsy.net/jobs#engineering">Artsy</a> | New York, NY / London, UK / Berlin, Germany / Los Angeles, CA / Hong Kong, Hong Kong / Remote | Our process: 1) Informal chat 2) Application 3) Phone screen 4) In-person interview with 1 lead, 2 individual contributors and 1 non-engineer (30-45 mins each), focusing on your work habits and expertise as demonstrated in your previous work 5) ~4 in-depth professional reference calls (30-45 mins each).</li> <li><a href="https://www.asidatascience.com/careers">ASI Data Science</a> | London, UK | Project to work at home, general technical questions, pair programming with engineers</li> <li><a href="https://www.asoscareers.com">ASOS</a> | London, UK | Take home or in-person code refactoring exercise, in-person walk-though of solution including software craftsmanship principles and design decisions, in-person freestyle architecture walk-through</li> <li><a href="https://jobs.ataccama.com">Ataccama</a> | Prague, Czech Republic | Face to face interview (skype or onsite), coding task for 30 min, meeting with team members</li> <li><a href="https://atech.media">aTech Media</a> | London, UK | Face to face interview, review of existing open source contributions or, if none are available, asked to write a library for something that interests them</li> <li><a href="https://atlan.com">Atlan</a> | New Delhi, India | A mini project (to be done within 8 days), followed by a discussion with the team you're applying to. Then as the final step, a call with one of the founders.</li> <li><a href="https://auraframes.com/jobs?gh_src=2ef5cfa32">Aura Frames</a> | New York, NY / San Francisco, CA | Simplified real-world coding task on Coderpad.io, followed by a few hours onsite writing code in our actual codebase.</li> <li><a href="https://www.auto1-group.com/jobs">Auto1</a> | Berlin, DE | Series of Skype interviews which covers general technical questions, followed by a take-home assignment</li> <li><a href="https://automattic.com/work-with-us/">Automattic</a> | Remote | short take-home code test, then a part-time, paid project.</li> <li><a href="https://github.com/AutoScout24/hiring">AutoScout24</a> | Munich, Germany | Skype interview followed by home assignment from our day-to-day business and then on-site interview including lunch with a team</li> <li><a href="https://avant.com/jobs">Avant</a> | Chicago, IL | Pair programming interviews.</li> <li><a href="https://www.avarteq.com/career">Avarteq GmbH</a> | Berlin, Germany / Saarbrücken, Germany | Technical interview with our developers on-site or remote followed by a work sample in a pair programming session or a previous take-home project with a follow-up discussion and detailed feedback.</li> <li><a href="https://www.axelerant.com/careers">Axelerant</a> | Remote | Take-home project, interviews with hr and engineering team.</li> <li><a href="https://axiacore.com">Axiacore</a> | Bogota, Colombia | We talk about on how is your process when solving problems.</li> <li><a href="https://www.axios.com/careers">Axios</a> | Arlington, VA / New York, NY / San Francisco, CA / Remote | Take-home project, with discussion.</li> <li><a href="https://boards.greenhouse.io/b12#.WMlLfRIrJTa">B12</a> | New York, NY | Take-home exercises and pair-programming with the team.</li> <li><a href="https://github.com/Babylonpartners/iOS-Interview-Demo">Babylon Health iOS Team</a> | London, UK | Take-home project, on-site presentation and discussion, design and product interview.</li> <li><a href="https://workatbackbase.com">Backbase</a> | Amsterdam, Netherlands; Cardiff, Wales; London, UK; Atlanta, GA | Takehome project, interviews</li> <li><a href="https://jobs.badi.com">Badi</a> | Barcelona, Spain | Phone Screen, Take-home project, then a discussion onsite round.</li> <li><a href="https://team.badoo.com/jobs">Badoo</a> | London, UK | Take-home project, then a discussion onsite round.</li> <li><a href="https://cybercareers.baesystems.com">BAE Systems Digital Intelligence</a> | London, UK / Manchester, UK / Guildford, UK / Gloucester, UK | Initial interview with experience based technical questions, second interview pair programming on problem similar to daily work</li> <li><a href="https://bakkenbaeck.com/jobs">Bakken &amp; Bæck</a> | Oslo, Norway; Amsterdam, Netherlands; Bonn, Germany | Skype interview followed by take-home assignment and a visit to one of our offices</li> <li><a href="https://career.balabit.com">Balabit</a> | Budapest, Hungary | Take-home project (medium size, with restrictions, e.g. only stdlib may be used), then discussion on-site</li> <li><a href="https://www.barracuda.com/company/careers">Barracuda View Team</a> | Chelmsford, MA / Remote | Phone screen, remote pair programming session, technical discussion interview, culture fit interview</li> <li><a href="https://basecamp.com/about/jobs">Basecamp</a> | Chicago, IL / Remote</li> <li><a href="https://www.bcw.group">BCW Group</a> | Remote | Behavioral interview with the technical lead and hiring manager, followed by a take-home project, and finally a brief discussion about how the exercise went.</li> <li><a href="https://jobs.lever.co/beam">Beam Dental</a> | Columbus, OH / Remote | Phone Screen, Take Home Project, In-Person or remote Pairing and Cross-Functional Interview</li> <li><a href="https://www.belkadigital.com">Belka</a> | Trento, Italy; Munich, Germany | We give you a small task that you can do alone and then we evaluate your work with you</li> <li><a href="https://www.bemind.me">Bemind</a> | Biella, Italy / Latina, Italy / Remote | Series of interviews, discussion about technical background and past experiences, take-home project &amp; pair programming</li> <li><a href="https://bendyworks.com/careers">Bendyworks</a> | Madison, WI | Interviews and pair programming on personal projects</li> <li><a href="https://hellobenefex.com/about-us/careers">Benefex</a> | Southampton, UK / Remote | A short, 3-stages interview process. The first stage is with HR. The second stage is a take-home assignment. The third stage is discussing the take-home assignment solution with two engineers.</li> <li><a href="https://www.benshi.ai">Benshi.ai</a> | Barcelona, Spain | Initial 15-30 mins interview with HR, followed by 15-30 mins chat with hiring manager to clear out basic concepts, then followed by take-home task for 5 days</li> <li><a href="https://www.betterment.com/careers">Betterment</a> | New York, NY | Phone interview followed by on-site pair programming to simulate a Betterment feature build.</li> <li><a href="https://www.betterhealthcare.co/careers">BetterPT</a> | New York, NY | Initial phone interview, project using our tech stack, on-site code review/pair programming and "meet the team".</li> <li><a href="https://bevelop.de">bevelop</a> | Aschaffenburg, BY / Remote | Initial introductory call, on-sight or remote trial day with project</li> <li><a href="https://bignerdranch.com/careers">Big Nerd Ranch</a> | Atlanta, GA &amp; Remote | Interviews and pair programming on an internal project or problem.</li> <li><a href="https://www.bigabid.com/careers">BigaBid</a> | Tel Aviv, Israel | Design a real time solution to a problem relevant to the business, followed by a take home project implementing a lean version of the solution</li> <li><a href="https://www.bigbinary.com/jobs">BigBinary</a> | Remote | Phone discussion with a developer and the CEO</li> <li><a href="https://www.bioconnect.com/company/careers">BioConnect</a> | Toronto, Canada | Take-home assignment &amp; discussion</li> <li><a href="https://www.bitchief.com">Bitchief Technology Services</a> | India, Gurgaon | Screening Round: General comms and aptitude, Technical Round: Questions related to required technology, Home Assignments</li> <li><a href="https://www.bitexpert.de/karriere">bitExpert AG</a> | Mannheim, Germany | Interview with experience based technical questions</li> <li><a href="https://www.bitpanda.com/en/career">Bitpanda</a> | Cracow, Poland / Remote | HR talk, take-home task, tech interview, culture fit interview</li> <li><a href="https://www.bitsoflove.be/careers">Bits of Love</a> | Bruges, Belgium | In-person interview to evaluate experience and motivation, potentially followed by take-home project.</li> <li><a href="https://bitso.com/jobs">Bitso</a> | Mexico City, Mexico / Remote | Intro phone or hangouts/skype call with People team, take home project followed by walkthrough of your code and some tech questions focused on your experience, founders video call with one of the founders</li> <li><a href="https://blackdotsolutions.com">Blackdot Solutions</a> | Cambridge, UK | Take-home project followed by on-site face-to-face walkthru of your code focusing on decisions/reasoning/technology used.</li> <li><a href="https://blacktech.com.np">BlackTech</a> | Pokhara, NP | Take-home project followed by on-site face to face or remote video conference interview.</li> <li><a href="https://bleacherreport.com">Bleacher Report</a> | San Francisco, CA, USA | Take-home project; on-site discussion about the project and meeting with different teams</li> <li><a href="https://blendle.homerun.co/?lang=en">Blendle</a> | Utrecht, The Netherlands | Take-home project &amp; pair program on a problem similar to daily work</li> <li><a href="https://github.com/blogfoster/join-the-engineering-team">blogfoster</a> | Berlin, Germany | Take-home project, discussion on-site</li> <li><a href="https://bloomworks.digital/jobs">Bloom Works</a> | Remote | Discussion, pair-programming exercise</li> <li><a href="https://www.bluebottlecoffee.com/careers">Blue Bottle Coffee</a> | Oakland, CA | Technical Phone Screen, Take Home Challenge, Technical in-persons.</li> <li><a href="http://www.bluesoft.com.br">Bluesoft</a> | São Paulo, Brazil | Takehome project and an interview to evaluate the candidate's previous experience.</li> <li><a href="https://bocoup.com/careers">Bocoup</a> | Boston, MA / Remote | Pair programming with personal laptop on typical problem seen at work</li> <li><a href="https://bonus.ly/careers">Bonusly</a> | Boulder, CO | Values &amp; Tech focused interview - Process: 30 minute with HR, 45 minute Google Meet interview with 2 team members, ~2-4 hour take-home project, on-site interview involving 2 values-alignment interviews and 1 technical interview going over your take home project</li> <li><a href="https://www.bookingsync.com/en/jobs">BookingSync</a> | Remote | Small takehome project, interviews over skype with team members.</li> <li><a href="https://boomtownroi.com">BoomTown</a> | Charleston, SC / Atlanta, GA / Remote | Conversational in-person interviews with potential team members and managers that revolve around past experience and how that could be applied to future work</li> <li><a href="https://botika.ai">Botika</a> | San Marino, RSM | View code, projects, libraries or any other open source story that you have been a part of, take-home project followed by on-site face-to-face walkthru of your code focusing on decisions/reasoning/technology used.</li> <li><a href="https://www.bouvet.no">Bouvet</a> | Bergen, Norway | Pair programming with senior engineers</li> <li><a href="https://brainn.co">brainn.co</a> | São Paulo, BR | Zoom/On-site interview, take-home project and interview with a team leader.</li> <li><a href="https://brainstation-23.com">BrainStation-23</a> | Dhaka, BD | A practical project followed by series of in-person interview sessions</li> <li><a href="https://www.brmbl.io">Bramble</a> | Remote | Slack interview, take home test, pairing, culture-fit interview.</li> <li><a href="https://breather.com/jobs">Breather</a> | Montreal, Canada | Series of interviews including a conversation about the candidate’s experience and a technical discussion involving real world problems</li> <li><a href="http://www.brightbytes.net/careers">BrightBytes</a> | San Francisco, CA | Time-boxed coding exercise at home and on-site pair programming with engineers</li> <li><a href="https://www.brighthr.com/careers">BrightHR</a> | Manchester, UK | Telephone conversation, coding exercise at home, on-site pairing with a cultural interview, meet the team.</li> <li><a href="https://angel.co/brightwheel/jobs">brightwheel</a> | San Francisco, CA | Take home exercise, and systems design.</li> <li><a href="https://www.broadinstitute.org/data-sciences-platform">Broad Institute's Data Sciences Platform</a> | Cambridge, MA | Phone screen, small take home project, both a technical and non-technical discussion panel, and a panel following up on the take home project walking through the solution and making a modification to the original code</li> <li><a href="https://apply.workable.com/broadlume/">Broadlume</a> | New York, NY / Remote | Intro phone call with HR, second conversation with Broadlume engineer, and final pairing interview with Broadlume engineer over a screenshare</li> <li><a href="https://www.brooklyndata.co">Brooklyn Data Co</a> | Remote | Zoom interview, take-home project followed by technical interview with ICs with opportunities to discuss the project, interview with team leaders.</li> <li><a href="https://www.browserstack.com/careers">BrowserStack</a> | Mumbai, India; Dublin, Ireland | Initial phone screen with semi-technical questions, two 2-hour assignments based on real problems solved in company (allowed to lookup internet), final interview with EMs/Director.</li> <li><a href="https://www.bryter.com/careers">BRYTER</a> | Remote | Initial 30min video call for getting to know each other, one 90min technical interview where you talk about one relevant previous project and we then dive deeper together (no pairing session or any other kind of exercise), second 90min interview where we ask questions around giving/receiving feedback and your ability to build relationships in remote setting, two final calls with people lead and then founder.</li> <li><a href="https://www.btw.so">btw</a> | Remote/ Singapore, Singapore / Bangalore, India | Initial phone screen for cultural round, optional take-home assignment, two rounds of video interviews (1-2hrs) discussing through previous projects and technical stack</li> <li><a href="https://bubblin.io">Bubblin Superbooks</a> | Remote | View code, projects, libraries or any other open source story that you have been a part of, a small take-home project with real code occasionally.</li> <li><a href="https://buffer.com/journey">Buffer</a> | Remote | Interviews over video call, code walkthrough of real code focussing on decisions and reasoning, then a 45 day full time, fully paid contract project working on production code.</li> <li><a href="https://www.bugcrowd.com/about/careers/">Bugcrowd</a> | San Francisco, CA / Sydney, NSW | Take home exercise, half-day onsite walking through code, and pair programming.</li> <li><a href="https://buildkite.com/home">Buildkite</a> | Remote | No CV required. Anonymized writing assessments. Video chat with founder and future team member about you, the job, and the company. Last video chat is a pair programming for technical roles or more in-depth chat for non-technical roles. Offer.</li> <li><a href="https://www.busbud.com/en/careers">Busbud</a> | Montreal, Canada | Phone screening, followed by a 2-4 hours take home assignment. If the challenge is a success, on-site or remote interview with team members, including someone who reviewed it, to talk about it and potential next steps if the challenge was a real life task.</li> <li><a href="https://jobs.lever.co/BDG?department=Product&amp;team=Engineering">Bustle</a> | New York City, NY / Remote | Half day pair programming on a task for production or one of our Open Source projects. We'll also buy you lunch with the team.</li> <li><a href="https://www.busuu.com/jobs">busuu</a> | London, UK | Video call to show real code as first stage. In office pair programming, white board real world problem that we've encountered before, and history/experience discussion.</li> <li><a href="https://buttercms.com">ButterCMS</a> | Chicago, IL; Remote | Take home exercise and half-day of pair programming</li> <li><a href="https://www.bybox.com/company/careers/">ByBox</a> | Remote | Phone interview followed by interview with devs (ideally in person but sometimes Skype) covering technical experience and coding exercise with real code.</li> <li><a href="https://byu.edu">BYU OIT</a> | Provo, UT | Take home programming challenge. Discussion in the interview about solution, among other normal hiring questions.</li> <li><a href="https://cabify.careers/en/">Cabify</a> | Remote | First a phone screening with the recruiter to talk about your past experiences and the take-home assignment, then you will receive a take home project to deliver within 2 weeks and finally a zoom interview to talk about your project's solution and some other questions about decision making and company values.</li> <li><a href="https://careers.caci.com/ListJobs/All/Search/location/rome/state/ny/country/us">CACI Rome</a> | Rome, NY; Remote | Phone interview followed by in-person or Skype screen sharing interview with a coding exercise in either Java, web (Node.js + frontend), or both. Interview format is exclusive to the Rome, NY office and may not be shared by other regional CACI offices.</li> <li><a href="https://boards.greenhouse.io/cakedefi">Cake DeFi</a> | Remote; Central, Singapore | Initial HR interview, followed with technical lead interview with take home projects relevant to work, and finally cultural interview.</li> <li><a href="https://careers.calendly.com">Calendly</a> | Remote; Atlanta, GA; Austin, TX | Initial phone screen followed by a panel interview primarily focused on a low-stress and real world set of problems.</li> <li><a href="https://www.capgemini.com/gb-en">Capgemini UK Java Team</a> | London, UK; Woking, UK; Bristol, UK; Cardiff, Wales; Birmingham, UK; Manchester, UK; Leeds, UK; Rotherham, UK; Liverpool, UK; Newcastle, UK; Edinburgh, Scotland; Glasgow, Scotland | Technical telephone interview (30 minutes), take-home non-CompSci coding exercise (3-4 hours), face-to-face role-played consulting scenario involving a solution architecture and a delivery plan (two hours)</li> <li><a href="https://www.caravelo.com/careers">Caravelo</a> | Barcelona, Spain | Take home project, then technical discussion about the code in-person or Skype and hang out with the team.</li> <li><a href="https://careera.io">Careera</a> | Singapore, Singapore | Video/phone interview, code review</li> <li><a href="https://www.carto.com/careers/">CARTO</a> | Madrid, Spain | Phone screen, take-home project, team code review/interview, hiring manager interview</li> <li><a href="https://casetext.com/jobs">Casetext</a> | San Francisco, CA | Submit code sample for review/discussion, contract for one full day (paid)</li> <li><a href="https://cashlink.de">CASHLINK</a> | Frankfurt, Germany | Skype/phone interview, take-home project</li> <li><a href="https://www.causeway.com/content/opportunity">Causeway</a> | United Kingdom, India | Skype or Telephonic discussion on approaches and experience in regards to solve projects related work, then face to face round to write small solutions to common problems in related field.</li> <li><a href="https://chamatheapp.bamboohr.com/jobs/">Chama The App</a> | Amsterdam, The Netherlands | Cultural fit interview, home test, technical interview with the team and then interview with the leadership</li> <li><a href="https://chargify.com/jobs">Chargify</a> | San Antonio, TX / Remote | Take-home project &amp; pair on a problem similar to daily work</li> <li><a href="https://checkout51.com/jobs">Checkout 51</a> | Toronto, Canada | Phone conversation (15-20 minutes) followed by on-site pair programming and discussion focused on understanding decisions made during on-site work</li> <li><a href="https://checkr.com/company/careers">Checkr</a> | San Francisco, CA / Denver, CO / Orlando, FL / Remote | 1 hour CoderPad problem, if pass, then four 1 hour interviews: API Design using your computer and languages, Refactoring in language of your choice, Object Design (no coding), System Architecture (no coding) and sometimes a 30 minute manager chat <a href="https://medium.com/checkr/an-engineers-guide-to-interviewing-at-checkr-fc28f9e8014b">read more</a></li> <li><a href="https://www.chef.io/careers">Chef</a> | Seattle, WA / Remote | Take home small project testing the ability to implement real world problems. Phone/Zoom interviews discussing the said project. Checking if the candidate would be a good cultural fit.</li> <li><a href="http://ctic-inc.com/careers/">Chesapeake Technology</a> | Denver, CO / Santa Barbara, CA / Camarillo, CA / Dulles, VA / California, MD / Remote | Phone screen (30 minutes), take home at leisure question based on real development followed by in person review of solution and general technical questions with actual team and opportunity for you to ask questions and provide feedback ( 2-3 hours)</li> <li><a href="https://www.chg-meridian.com">CHG-MERIDIAN</a> | Weingarten, Germany | Face-to-face or video interview with our IT manager and human resources. Spend half a day at our headquarters and get to know the team, chat about current projects, etc., and finish up with having lunch together.</li> <li><a href="https://ciandt.com/us/en-us/careers/open-positions">CI&amp;T</a> | New York, NY / London, UK / Tokyo, Japan / Campinas, Brazil / Shanghai, China / Medellín, Colombia / Lisbon, Portugal / Melbourne, Australia / Remote | Video screening followed by a technical interview focusing on software engineering skills and finally, a feedback interview with the hiring manager.</li> <li><a href="https://circleci.com">CircleCI</a> | San Francisco, CA / Remote | Take-home project and discussion, followed by on-site interview that includes pair programming on actual CircleCI bugs/feature requests.</li> <li><a href="https://boston.gov/analytics">City of Boston's Analytics Team</a> | Boston, MA | Take-home project and in-person or phone/Skype interviews</li> <li><a href="https://beta.phila.gov/departments/office-of-open-data-and-digital-transformation/jobs">City of Philadelphia's Office of Open Data &amp; Digital Transformation</a> | Philadelphia, PA | Take-home project</li> <li><a href="https://www.civisanalytics.com/careers">Civis Analytics</a> | Chicago, IL | Take-home project and discussion via Skype, followed by pair programming exercise</li> <li><a href="https://www.cj.com/careers">CJ Affiliate</a> | Los Angeles, CA &amp; Westlake Village, CA | Phone coding design exercise (no algorithms), followed by an on-site final interview that includes pair programming on a realistic object-oriented design problem</li> <li><a href="https://clara.com/careers">Clara Lending</a> | San Francisco, CA | Phone conversation around technical background and experience, followed by take-home project, pair programming and discussion</li> <li><a href="https://careers.clarisights.com">Clarisights</a> | Bangalore, India / Remote | Culture fit Interview, Basic Tech Round, Design Interview</li> <li><a href="https://angel.co/clerkie/jobs">Clerkie</a> | San Francisco, CA | Phone conversation followed by take-home project</li> <li><a href="https://www.clickmagick.com">ClickMagick</a> | Austin, TX / Remote | Phone conversations and examples of Free Software/Open Source work</li> <li><a href="https://clippings.com">Clippings</a> | Sofia, Bulgaria | Video screening first, then send us code they've recently wrote, then technical interview. We could ask questions about the code they wrote at home.</li> <li><a href="https://www.cwconsult.dk">Clockwork Consulting</a> | Copenhagen, Denmark | Interviews, discussion of technical background and experiences.</li> <li><a href="https://www.close.com/careers">Close</a> | Remote | Interviews and take home project.</li> <li><a href="https://cloudconsultants.ch">Cloud Consultants</a> | Zurich, Switzerland; Remote | Phone interview, followed by the submission of a use case resolution to evaluate the problem solving skills.</li> <li><a href="https://cloudbees.com/careers">CloudBees</a> | Remote | Multiple interviews, discussion of technical background and experiences.</li> <li><a href="https://clusterdev.com/#careers">ClusterDev</a> | Kochi, India; Remote | Phone interview, Take home project and discussion later on about past experiences and/or personal projects.</li> <li><a href="https://code-orange.nl">Code Orange</a> | Amsterdam, Netherlands | Phone conversation followed by take-home project</li> <li><a href="https://www.cogent.co.jp">Cogent Labs</a> | Tokyo, Japan | On-site or video call conversation around technical background and experience, followed by take-home project that resembles a problem Cogent Labs solves for. This project will serve as the base of discussion with the developers for the second interview.</li> <li><a href="http://www.cognitran.com/employment-opportunities">Cognitran</a> | Essex, UK / Szczecin, Poland / Detroit, MI | Skype/phone interview followed by pair programming.</li> <li><a href="https://kelas.colearn.id/career">Colearn</a> | Remote; Bengaluru, India; Jakarta, Indonesia; Abu Dhabi, UAE; Central, Singapore | Alignment call with HR or CTO, small take home assignment, remote pair programming session about the assignment with senior engineer &amp; tech lead.</li> <li><a href="https://www.collabora.com/careers.html">Collabora</a> | Cambridge, UK / Montreal, Canada / Remote | On-site or video interview, discussion of technical experience and sometimes approach for tackling a hypothetical problem.</li> <li><a href="https://colonist.io/contribute.html">Colonist</a> | Remote | Call-&gt;Solve real product coding assignment</li> <li><a href="https://combyne.com">combyne</a> | Remote / Munich, Germany | Short online technical test, 4-hour take-home project, and culture fit interview with members of the team.</li> <li><a href="https://corporate.comcast.com">Comcast India Engineering Center</a> | Chennai, India | Easy-Medium Technical questions asked by Senior Engineers, Hiring Manager Round, HR Interview, Offer Letter</li> <li><a href="https://www.compeon.de/karriere">COMPEON</a> | Duesseldorf, Germany | Phone interview, followed by onsite discussions and pair programming with our developers</li> <li><a href="https://about.cph.org/careers.html">Concordia Publishing House</a> | St Louis, MO | Take-home project followed by discussion of it on-site with future teammates.</li> <li><a href="https://condenastinternational.com">Condé Nast International</a> | London, UK | Phone interview, 2 hour take-home project, and on-site with discussion of project, experience, and general technical questions.</li> <li><a href="http://contactlab.com/en/careers">Contactlab</a> | Milan, Italy | Recruiter interview, tech interview (technical background and experiences), both on-site.</li> <li><a href="https://container-solutions.com">Container Solutions</a> | Remote; Berlin, Germany; Amsterdam, Netherlands; London, UK | Unbiased process in a nutshell: chat with one of our recruiters, skills assessment and tech assessment, personality assessment which is followed by an interview with one of our occupational psychologists to discuss results. At the end a panel interview.</li> <li><a href="https://www.contentful.com/careers">Contentful</a> | Berlin, Germany &amp; SF, USA | Multiple interviews, discussion of technical background &amp; live coding challenge (you can use the internet).</li> <li><a href="https://www.contentsquare.com/careers">ContentSquare</a> | Paris, France | Real-world challenges with open discussions.</li> <li><a href="https://www.contino.io/join-us">Contino</a> | London, UK; New York, USA; Sydney, Australia | Intro call, remote pair programming interview (Your IDE, your language, no code challenges), An open discussion on experience and technical background</li> <li><a href="https://convertkit.com/careers">ConvertKit</a> | Remote | Fully remote job in USA and EMEA timezones with interview process starting with a written application, phone screen, short 2-hour coding and writing assignment, technical interview about assignment and culture contribution interview.</li> <li><a href="https://www.convious.com">Convious</a> | Vilnius, Lithuania | Intro interview (video call), followed by a homework assignment, followed by a bit more technical interview discussing homework, technical background, etc. Homework feedback is always provided.</li> <li><a href="https://cookpad.com/us">Cookpad</a> | Tokyo, Japan; Bristol, UK | Interviews, discussion of technical background and experiences, remotely pair with devs.</li> <li><a href="https://www.coorpacademy.com">Coorp Academy</a> | Paris, France | Technical interview as an open discussion</li> <li><a href="https://careers.cortlex.com">Cortlex</a> | Vilnius, Lithuania | Non-technical screening call with recruiter, then online interview with experience based technical questions</li> <li><a href="https://www.cosium.com">Cosium</a> | Versailles, France | Phone screen, take-home coding challenge, remote or on-site technical interview starting with a quiz about tech fundamentals that often leads to an open discussion.</li> <li><a href="https://www.cossacklabs.com/job/">Cossack Labs</a> | London, UK / Kyiv, UA / Remote | Initial screening video call, technical take-home challenge, technical interview with the team about real-world tasks and candidates' day-to-day work (programming, networking, OS, SSDLC, security).</li> <li><a href="https://www.coverhound.com">CoverHound, Inc.</a> | San Francisco, CA | Open technical discussion, short on-site coding challenge.</li> <li><a href="https://jobs.coxenterprises.com/home-technology/">Cox Enterprises</a> | Atlanta, GA; Remote | First-round behavioral interview with Engineering Lead, second-round technical discussion with the dev team</li> <li><a href="https://www.coyoapp.com">COYO</a> | Hamburg, Germany | Exemplary take home project in different front- and backend flavors, followed by tech interview &amp; meet the team</li> <li><a href="https://angel.co/company/cquence-app/jobs">Cquence</a> | Remote | Phone screen, take-home coding challenge, collaborative technical interview, and behavioral interview.</li> <li><a href="https://creditkudos.com/jobs">Credit Kudos</a> | London, UK | Take-home project and pair programming via Skype or on-site.</li> <li><a href="https://boards.greenhouse.io/creditas">Creditas</a> | Curitiba, Brazil | Phone conversations about the company and the opening; remote and on-site team interviews (tech-focused); take-home programming exercise</li> <li><a href="https://crossbrowsertesting.com">CrossBrowserTesting</a> | Memphis, TN | Take home project that resembles a problem support engineers deal with on a daily basis. On-Site interviews in a comfortable environment with a focus on hiring talented people vs exact skill-sets.</li> <li><a href="https://crownstone.rocks/jobs">Crownstone</a> | Rotterdam, Netherlands | Technical interaction using previously created GitHub projects, followed by in-person interview with a focus on someone's professional ambition in the short and long term.</li> <li><a href="https://www.cube19.com/work-with-us/">cube19</a> | London, UK | Take-home project, then an on-site discussion about the code and previous experience.</li> <li><a href="https://cultivatehq.com">Cultivate</a> | Edinburgh, UK | 30 minute pair-programming screening interview on a simple exercise (remote or in-person). Half day pair programming, with 3 or 4 different team members plus informal chat, typically on-site.</li> <li><a href="https://www.culturefoundry.com">Culture Foundry</a> | Austin, TX | Paid take-home project</li> <li><a href="https://www.currencytransfer.com">CurrencyTransfer</a> | London, UK &amp; Remote | Take-home project</li> </ul> <h2>D - F</h2> <ul> <li><a href="https://www.dare.global/careers/">Dare</a> | London, UK | Phone screen, On-site (or remote) pair programming and architecture discussions</li> <li><a href="https://www.datatheorem.com">Data Theorem</a> | Palo Alto, CA; Paris, Fr; London, United Kingdom; Remote | Phone interview, then a take home project and finally in-person interview.</li> <li><a href="https://DataChef.co">DataChef</a> | Amsterdam, Netherlands | Video call (technical questions about candidate's achievements), take home assignment, cultural fit zoom or face to face with rest of the team.</li> <li><a href="https://datamade.us">DataMade</a> | Chicago, IL | After submitting an application, selected applicants are moved on to a round of interviews and will be asked to submit a piece of code for review. If you don’t have any code you can share, DataMade will provide a short exercise for you to complete. An in-person (or remote) interview will be scheduled to go over your background, what draws you to DataMade, and your code sample.</li> <li><a href="https://datascopeanalytics.com/careers/">Datascope</a> | Chicago, IL | Take home exploratory data project with public data, discussion about the project via video chat, and in-person office visit.</li> <li><a href="https://www.defmethod.com">Def Method</a> | NYC, NY | Take home test, pair programming with dev on test and client work, receive offer same day as pairing interview</li> <li><a href="https://deliverycenter.gupy.io">Delivery Center</a> | Rio de Janeiro, Brazil &amp; Remote | Interviews with the team about the company and the opening, with a short take-home project using their main stack.</li> <li><a href="https://carreiras.deliverymuch.com.br">Delivery Much</a> | Florianópolis, Brazil &amp; Remote | On-site (and/or remote) interviews about the company and the opening, with a short take-home project for leveling.</li> <li><a href="https://angel.co/dentolo">Dentolo</a> | Berlin, Germany | Phone interview with the HR department, take-home project and technical interview to discuss your skill set + general questions</li> <li><a href="https://www.deskbookers.com/en-gb/jobs">Deskbookers</a> | Amsterdam, Netherlands | Phone screen, take-home project, on-site interview</li> <li><a href="https://www.desmart.com">DeSmart</a> | Gdynia, Poland | Technical interview, take-home project and talk about your experience</li> <li><a href="https://despark.com">Despark</a> | Sofia, Bulgaria &amp; Remote | Culture add interview, sample code review and paid pair programming with team member or take-home project.</li> <li><a href="https://www.detroitlabs.com/careers">Detroit Labs</a> | Detroit, MI | Our technical interview starts with a take-home assignment that we will look at during the interview. You'll walk us though your thought process, add functionality if applicable to the interview, and talk about your experience. We believe that showing us your work in a practical setting is more telling of your abilities and what you will bring to the table, than writing code on a whiteboard.</li> <li><a href="https://jobs.dev.to">DEV</a> | Remote | Written application, job-specific questionnaire and/or task, team interviews (total interview time under two hours)</li> <li><a href="https://devboost.com/karriere">DevBoost</a> | Dresden, Germany | On-site get-to-know interview, on-site pair-programming and discussion</li> <li><a href="https://developmentseed.org/careers">Development Seed</a> | Remote / Washington, DC / Lisbon, Portugal / Ayacucho, Peru | Introductory discussion; in-depth technical video interview (no whiteboard, and no live coding); mission &amp; values video interview; onsite (or remote) 1 or 2 days paid working "sprint" in the context of a real project, culminating in a brief presentation of completed sprint work</li> <li><a href="https://devfolio.co">Devfolio</a> | Bangalore, India; Remote | Phone call, followed by a small take home problem. Finally a F2F or Zoom pair programming session</li> <li><a href="https://devsdata.com">DevsData</a> | New York, NY; San Francisco, CA; Warsaw, Poland; Frankfurt, Germany; Remote | Video interview, 3-hours take-home assignment, technical video interview</li> <li><a href="https://www.dg-i.net">DG-i</a> | Cologne, Germany | Take-home project and/or discussion on-site about past experiences</li> <li><a href="https://www.dice.se">DICE</a> | Stockholm, Sweden | Take-home project and code review at the on-site</li> <li><a href="https://digia.com/en/careers/">Digia</a> | Helsinki, Finland | Behavioral interview and a technical discussion to chat about design patterns and other matters regarding the position. Both stages through Microsoft Teams.</li> <li><a href="http://www.di.fm/jobs">Digitally Imported</a> | Denver, Colorado &amp; Remote | Video meetings on past experience and high level tech questions, take-home project</li> <li><a href="https://digitalservice.bund.de/en/career">DigitalService</a> | Berlin, Germany | Initial screening call with HR and Engineering Manager, take-home challenge or bring your own project, discussion about solution/project and past experience with two engineers, culture fit interview.</li> <li><a href="https://dixa.com/careers">Dixa</a> | Copenhagen, Denmark | Initial phone call. Take-home programming task, then on-site discussion followed by online personality test</li> <li><a href="https://about.doctolib.fr/jobs">Doctolib</a> | Paris, France; Berlin, Germany | Take-home project, on-site interview and work half a day with one of our feature team</li> <li><a href="https://doist.com">Doist</a> | Remote | Personal interviews with part of the team and a takehome programming assignment.</li> <li><a href="https://www.dollarshaveclub.com">Dollar Shave Club</a> | Venice, California | Phone interview, take-home projects, on-site interview</li> <li><a href="https://door2door.io">door2door</a> | Berlin, Germany | Take home challenge + on-site interview + trial day</li> <li><a href="https://doublenines.co">Double Nines</a> | Remote | Initial screening call with recruiter, culture/vibe conversation with engineering leadership, and a technical interview where you bring a recent project you've worked on to present and answer questions about architectural/strategic decisions as well as show code you've written.</li> <li><a href="https://docs.google.com/document/d/1fC_-liTPpYQOoE_5iKj0O3AwSdPggQGnOsjUKahfbkQ/edit?usp=sharing">Draft Fantasy</a> | Tel Aviv, Israel | Talk about past experience and what the developer has actually built as well as pair programming or a programming exercise.</li> <li><a href="https://draftbit.com">Draftbit</a> | Remote | Phone screening, take-home assignment based on an old project; pair programming and interview with team members</li> <li><a href="https://www.drawbotics.com/en/join-us">Drawbotics</a> | Brussels, Belgium | Take-home project, bootcamp on-site</li> <li><a href="https://www.drchrono.com/careers">drchrono</a> | Mountain View, CA | Hackerrank test (but not CS trivia, it's real product problems) &amp; on-site/take-home project w/ presentation</li> <li><a href="https://www.drivy.com">Drivy</a> | Paris, France | Phone screening followed by a take-home assignment, "Resume" interview, technical interview, product interview, interview with another team, finalizing the hire</li> <li><a href="https://www.drizly.com">Drizly</a> | Remote | Phone screen, Blind take-home assignment, hiring manager interview, technical code pair interview, panel interview with sales, product, engineering and other stake holders.</li> <li><a href="https://www.dronedeploy.com/careers.html">DroneDeploy</a> | San Francisco, CA | Pair program on a problem similar to daily work</li> <li><a href="https://www.droneseed.co/jobs/">DroneSeed</a> | Seattle, WA | Take home assignment of a real problem we've worked on, group code review in subsequent interview.</li> <li><a href="https://apply.workable.com/bayutdubizzle/#jobs">dubizzle</a> | Dubai, UAE; Sindh, Pakistan; Cluj County, Romania | Take home assignment, general technical questions, pair programming with engineers or tech leads</li> <li><a href="https://duckduckgo.com/hiring">DuckDuckGo</a> | Remote | Up to two paid projects and video call interviews.</li> <li><a href="http://easytaxi.com.br">Easy Taxi</a> | São Paulo, Brazil | Take-home project, interview to evaluate the candidate's previous experience.</li> <li><a href="https://www.eatsleepride.com">EatSleepRIDE</a> | Toronto, Canada | Interview with CTO to discuss current experience/projects. Take home assignment. Behavioral interview with rest of the team.</li> <li><a href="https://eaze.com/careers">Eaze</a> | San Francisco, CA | Take home project, on-site interview building off of the project</li> <li><a href="https://careers.ebayinc.com/join-our-team/start-your-search/find-jobs-by-location/detail/germany">eBay Kleinanzeigen</a> | Berlin, Germany | 45 mins technical phone interview, take-home project/review, on-site interview including pair programming with team lead and agile interview with product manager.</li> <li><a href="https://careers.ecaresoft.com">Ecaresoft</a> | Monterrey, Mexico | Cultural fit session and Predictive Index test with recruiter, best piece of code review and technical interview with engineers</li> <li><a href="https://echobind.com/culture">Echobind</a> | Boston, MA; Remote | Meet the entire team, share examples of previous work and pair with one team member</li> <li><a href="https://jobs.edenspiekermann.com">Edenspiekermann</a> | Amsterdam, Netherlands / Berlin, Germany / Los Angeles, CA / San Francisco, CA / Singapore, Singapore | On-site chat about skills and past experiences, review some code samples or a take-home assignment</li> <li><a href="https://careers.ef.com">EF Education First</a> | London, UK; Boston, MA | Short phone interview, take-home project, discussion of project and real world engineering problems, meet the team.</li> <li><a href="https://efishery.darwinbox.com/ms/candidate/careers">Efishery</a> | Bandung, Indonesia | Phone interview, HR Interview, take-home assignment, Presentation about the take home assignment and approach used, User Interview, Salary Negotiation.</li> <li><a href="https://eidu.com">Eidu</a> | Berlin, Germany | Take-home project, discussion of results with team, and test days with pair programming</li> <li><a href="https://www.elnino.tech">El Niño</a> | Enschede, The Netherlands; The Hague, The Netherlands | On-site chat about the candidate experience and the company followed by a trial day relevant for the role.</li> <li><a href="https://www.elpassion.com">El Passion</a> | Warsaw, Poland | Take-home project, interview to 1) discuss delivered solution and 2) previous projects</li> <li><a href="https://www.electricpulp.com">Electric Pulp</a> | Sioux Falls, SD, USA | Phone interviews with leadership team and technical team leads. We are a tight knit team, so emphasis on a great personal fit is as important as technical prowess.</li> <li><a href="https://www.elements.nl/careers">Elements Interactive</a> | Almere, The Netherlands &amp; Barcelona, Spain | Take-home project &amp; discussion via Skype or on-site</li> <li><a href="https://www.ellucian.com/About-Us/Careers/">Ellucian</a> | Reston, VA, USA | Discussion of real world problems (from resume, if possible)</li> <li><a href="https://elmah.io">elmah.io</a> | Aarhus, Denmark / Remote | Discussion about code and looking at hobby projects (if any)</li> <li><a href="https://www.elvie.com">Elvie</a> | London, England | Discussing real code, pairing and a paid day to see how you work with the team. No coding for free or time-restricted take-home projects, code challenges or abstract algorithm tests</li> <li><a href="https://goo.gl/N7SMKl">eMarketer</a> | New York, NY | Short phone interview, then come in and meet the team, check out our space, and have a discussion with team members about real-world problems</li> <li><a href="https://www.emarsys.com">Emarsys</a> | Budapest, Hungary | Take-home project (small, 1-2 days to solve), then discussion on-site</li> <li><a href="https://www.emergentsoftware.net">Emergent Software</a> | Minneapolis, MN | Phone intro, discuss recent project, short take home project (4h max) with code review, real world open ended questions</li> <li><a href="https://www.endpointdev.com">End Point Dev</a> | New York, NY; Johnson City, TN; Remote | Video interview with senior technical management followed by 2-hour scheduled take-home project similar to work done for our clients.</li> <li><a href="https://www.endava.com/en/">Endava</a> | Belgrade, Serbia; Bucharest, Romania; Chisinau, Moldova; Cluj-Napoca, Romania; Iasi, Romania; Pitesti, Romania; Skopje, Macedonia; Sofia, Bulgaria; Frankfurt, Germany; Glasgow, Scotland; Hilversum, Netherlands; London, UK; Oxford, UK; Bogota, Colombia; Atlanta, GA; New Jersey, NJ; New York, NY | On-site discussion about previous experience and technical questions about the target technologies.</li> <li><a href="https://www.engelvoelkers.com/en/tech/">Engel &amp; Völkers Technology</a> | Hamburg, Germany | Remote technical interview with an Engineering Manager, followed by a practical coding challenge implemented in 5 hours, ending with a technical discussion with the team on the produced code either remotely or on-site based on geographical practicality.</li> <li><a href="https://enhancv.com/about.html">Enhancv</a> | Sofia, Bulgaria | Talk is cheap, show us your code: github profile or other project examples. Explain them in person / remotely. Discuss habits and interests to see if we have a culture fit.</li> <li><a href="https://www.enigma.com">Enigma</a> | New York, NY | 2-part takehome project, followed by a pair programming exercise</li> <li><a href="https://enki.com">Enki</a> | London, UK | Skype/phone interview followed by takehome project</li> <li><a href="https://www.equalexperts.com">Equal Experts</a> | London, UK; Manchester, UK; New York, NY; Pune, India; Lisbon, Portugal; Calgary, Canada | Fizzbuzz test done at home followed by Pair Programming session at office and finally face to face technical and attitude interview.</li> <li><a href="https://www.ericsson.com">Ericsson</a> | Dublin, Ireland | Skype/phone interview followed by Face 2 Face interview, discussions and architecture questions followed by final small project on a problem similar to daily work.</li> <li><a href="https://esharesinc.com/jobs">eShares, Inc</a> | San Francisco, CA; Palo Alto, CA; Seattle, WA; Rio de Janeiro, Brazil; London, UK; New York, NY | Phone call, practical technical screen, on site to meet the team &amp; explore the company</li> <li><a href="https://espeo.eu/career">Espeo Software</a> | Poznań, Poland | 30 min HR interview, 1 hour technical interview, 1 hour soft skills interview</li> <li><a href="https://etermax.com/en/careers/">Etermax</a> | Buenos Aires, Argentina | Skype/phone screen with two engineers &amp; HR, 30 min HR onsite interview, 2 hour onsite pair programming session (with focus on testing and design) with feedback</li> <li><a href="https://www.etixeverywhere.com/en/job-offers">Etix Everywhere</a> | Luxembourg City, Luxembourg</li> <li><a href="https://euranova.eu">EURA NOVA</a> | Mont-Saint-Guibert, Belgium; Marseille, France; Tunis, Tunisia | attitude interview, unpaid take-home project, technical discussion with 1 or 2 technical employees (remote or face 2 face), face 2 face discussion with HR, partner, and technical staff to have a foretaste of the collaboration</li> <li><a href="http://www.europaymentgroup.com">Euro Payment Group</a> | Frankfurt, Germany | Take-home project followed by face to face interview</li> <li><a href="https://eworx.gr/jobs">EWORX</a> | Athens, Greece | Take-home project and discussion.</li> <li><a href="https://exmox.com/career">Exmox</a> | Hamburg, Germany; Remote | Video call with our CTO, then a technical discussion around a project of your choice or a take-home project.</li> <li><a href="https://exoscale.ch">Exoscale</a> | Lausanne, Switzerland | Take-home project. Discussion and presentation. Then entire team meet.</li> <li><a href="https://www.extend.com/careers">Extend</a> | San Francisco, CA; Dallas, TX; Remote | Phone call, a take home project similar to making a PR at work, then a meet &amp; greet with the team.</li> <li><a href="https://www.eyevinntechnology.se">Eyevinn Technology</a> | Stockholm, Sweden | Remote or face 2 face interview followed by take-home project. Then a discussion on-site where we go through the technical aspects of the project.</li> <li><a href="https://fdex.com.br">F(x)</a> | São Paulo, Brazil | Skype interview, Take-home project and onsite interview to evaluate the candidate</li> <li><a href="https://www.facebook.com/careers/jobs">Facebook (Front End Engineer)</a> | Tel Aviv, Israel; London, UK; US: Menlo Park, CA; Seattle, WA; Washington, DC | Initial phone code interview, then on site interview (or remote when not possible) with code and design / architecture interviews. All questions are based on actual problems the company has solved in the past.</li> <li><a href="https://jobs.facile.it">Facile.it</a> | Milan, Italy; Cagliari, Italy; Remote | Initial call/Skype interview with HR. Tech interview about OOP concepts, HTTP and REST API design questions with 2 engineers. Brief talk with VP of Engineering or CTO.</li> <li><a href="https://fairwinds.com/careers">Fairwinds</a> | Remote | Start with a brief talk with CTO or VP of Engineering, take home coding challenge, then remote interviews with several people on the engineering team</li> <li><a href="https://www.falcon.io/jobs/">Falcon.io</a> | Copenhagen, Denmark | Initial call/Skype culture interview. Take-home tech assignment (game) and code review. On-site Interview about your experience and meeting the team.</li> <li><a href="https://www.fastbill.com/jobs">FastBill</a> | Frankfurt, Germany | Initial interview via Skype/Zoom. Small tech-home project based on the specific job. Afterwards code review and technical discussion.</li> <li><a href="https://www.fatmap.com">FATMAP</a> | London, UK; Berlin, Germany; Vilnius, Lithuania | Skype discussion, Take-home project, Face to face</li> <li><a href="https://fauna.com">Fauna</a> | San Francisco, CA / Remote | Take home project, then follow up with interviews on-site or remote. Interviews are both technical and non-technical. Technical interviews comprehend the scope of the home project.</li> <li><a href="https://boards.greenhouse.io/fetchrewards">Fetch Rewards</a> | Remote | Short take-home project. 50 min screening interview that includes discussion of project. 5.5 hr (w/ breaks) final interview that involves speaking with your future manager and a non-technical product manager, a real-world coding problem, and high-level and low-level system design problems.</li> <li><a href="https://field33.com/jobs">Field 33</a> | Berlin, Germany | Video call interview followed by a take home project over a 3 day duration chosen by the candidate with hours spent up to the candidate. The project is tailored to the position and skill level of the candidate and resembles a past real-life problem encountered at our company. Solution is discussed in a ~30min call.</li> <li><a href="https://careers.filestage.io">Filestage.io</a> | Stuttgart, Germany; Remote | Intro call, Take home technical assessment, Tech discussion on assessment and interview with Head of Development and an Engineer, Meeting with founders</li> <li><a href="https://careers.findy.co.jp">Findy</a> | Tokyo, Japan | Tech interview + On-site discussion</li> <li><a href="https://www.wearefine.com/careers">FINE</a> | Portland, OR | Small take-home challenge + follow-up discussion</li> <li><a href="https://firehire.ai">FireHire</a> | Wilmington, USA / Remote | Soft Skills Check + Hard Skills Check with lead engineer.</li> <li><a href="https://www.firemind.io">Firemind</a> | Maidstone, UK; London, UK; Remote | Small pre-interview challenge on github + discussion face to face in person or via video</li> <li><a href="https://thefitbot.com/careers.html">Fitbot</a> | Boulder, CO | Pairing &amp; writing code with the founders for a few hours</li> <li><a href="https://flatfox.ch">Flatfox</a> | Zurich, Switzerland | Informal conversation to check mutual fit, small (4h) take-home assignment, discussion in team</li> <li><a href="https://flower.ai">Flower Labs</a> | Cambridge, UK; Berlin, Germany; Remote | Reach out to us by email or on Slack with your CV. You'll receive a written interview which should take 15min to 30min to complete, after which we'll schedule at most 2x technical video interviews with a potential take-home assignment in between. Alternatively, you share the Open-Source code you have written so we can discuss that.</li> <li><a href="https://fluidly.com">Fluidly</a> | London, UK | Casual 30min phone call. ~1hr take home tech exercise (not pass or fail). 1 stage onsite interview - discussion about experience, 1 hour pair programming on the real code base, then your turn to interview us!</li> <li><a href="https://fold.money">Fold</a> | Bangalore, India; Remote | Phone call, followed by a small take home problem. Finally a F2F or Zoom pair programming session</li> <li><a href="https://www.fonoa.com/careers">Fonoa</a> | Remote | Phone call, async questions regarding expectations and past experience, interview regarding communication and principles, async work sample, interview and AMA with CTO, interview with one of the founders</li> <li><a href="https://food52.com/jobs">Food52</a> | New York, NY; Remote | Take-home project, discussion on-site or remote, interviews with both technical and non-technical staff</li> <li><a href="https://fooji.com">Fooji</a> | Lexington, KY; Remote | Take-home project</li> <li><a href="https://www.form3.tech/careers">Form3</a> | Remote | Preliminary call, take-home project, three stage interview (code review, technical assessment and debugging exercise)</li> <li><a href="https://www.formidable.com/careers">Formidable Labs</a> | Seattle, WA; London, UK; Remote | Take-home project, remote pair programming, discussion on-site or remote</li> <li><a href="https://fortumo.com/careers">Fortumo</a> | Tallinn, Estonia; Tartu, Estonia | After a 30-min call you get a simplified version of a task that has recently been a challenge for the engineering team</li> <li><a href="https://founders.as/joinus">Founders</a> | Copenhagen, Denmark | Take Home project + Interviews</li> <li><a href="http://www.foundryinteractive.com/contact">Foundry Interactive</a> | Seattle, WA | On-site or remote discussion, paid trial project with pairing and code reviews</li> <li><a href="https://www.fournova.com/jobs">fournova</a> | Remote | Take-home project, discussion via video call</li> <li><a href="https://jobs.fourthwall.com">Fourthwall</a> | Poznan, Poland; Remote | Paid take home, simple project. One technical interviews (how to build, solve specific, real world problem).</li> <li><a href="https://frappe.io/careers">Frappe</a> | Mumbai, India; Remote | Take-home project, a short pair programming exercise, discussion and interview with members of the Engineering team.</li> <li><a href="https://www.freeagent.com/company/careers">FreeAgent</a> | Edinburgh, UK | Take-home project, pair programming, discussion and interviews</li> <li><a href="https://www.freeletics.com/en/corporate/jobs">Freeletics</a> | Munich, Germany | Small real-world challenge, multiple interviews on-site/remote and social gathering with team.</li> <li><a href="https://www.freetrade.io/careers">Freetrade</a> | London, England | Initial hangout with fizz buzz style question followed by an on-site real world coding question and systems design conversation.</li> <li><a href="https://friday-jobs.personio.de">FRIDAY</a> | Berlin, Germany | Take-home real-world challenge, interview on-site or remote</li> <li><a href="https://frontside.io/careers">Frontside</a> | Austin, Texas | Phone interview with remote pairing session. Followed by in person pairing (paid for the day) and lunch with the team.</li> <li><a href="https://www.fullfacing.com/vacancies">Full Facing</a> | Cape Town, South Africa | Take-home real-world challenge, interview on-site or remote</li> <li><a href="https://www.funda.nl/vacatures">Funda</a> | Amsterdam, The Netherlands | Take Home test + Discussion On-Site/Remote</li> <li><a href="https://www.fundapps.co/about-us/join-our-team">FundApps</a> | London, UK | Coffee with an Engineer; take-home kata; code review + on-site pair programming exercise.</li> </ul> <h2>G - I</h2> <ul> <li> <p><a href="https://careers.garmin.com">Garmin</a> | Tucson, AZ | Non-technical phone screen, technical phone screen (questions about projects on your resume), in-person interview: programming an arduino, given 3 hours and a laptop with internet access</p> </li> <li> <p><a href="https://www.garnercorp.com">Garner</a> | Toronto, Canada | step 1: online chat with hiring manager, step 2: at home assignment solving real-life problem, step 3: on-site pair programming with engineers, step 4: offer</p> </li> <li> <p><a href="https://www.gasketgames.com/work-with-us">Gasket Games</a> | Vancouver, Canada | Non-technical phone screen, technical phone screen (open-ended questions), in-person interview / culture fit interview</p> </li> <li> <p><a href="https://gathercontent.com/about-us">GatherContent</a> | Remote | Culture-first interviews, pair programming and remote, informal technical discussions</p> </li> <li> <p><a href="https://gcore.com/careers">Gcore</a> | Remote | Non-technical screening, 2 hours technical and soft skills interview including architecture discussion</p> </li> <li> <p><a href="https://gemini.com/careers">Gemini</a> | New York, NY | Phone chat. Take-home project, discussion on-site. Questions on prior experiences and culture fit</p> </li> <li> <p><a href="https://www.genui.com">GenUI</a> | Seattle, WA | A short phone screen with questions regarding general knowledge related to the open position, then a half day pair programming interview.</p> </li> <li> <p><a href="https://www.geosite.io">Geosite</a> | Remote | Phone chat -&gt; Take home project resembling the team focus -&gt; Discussion about takehome &amp; culture fit.</p> </li> <li> <p><a href="https://ghostinspector.com/jobs">Ghost Inspector</a> | Remote | Video interview, short (under 2 hour) take-home project, and team video interview</p> </li> <li> <p><a href="https://jobs.ginetta.net">Ginetta</a> | Zurich, Switzerland; Braga, Portugal | Culture-first interviews, take home assignment that resembles a real-world problem we often solve, then discussion about the assignment in-person with pair-programming improvement sessions with our developers.</p> </li> <li> <p><a href="https://github.com/about/careers">GitHub</a> | Remote; San Francisco, CA; Boulder, CO| Take-home exercise, code review and technical discussions.</p> </li> <li> <p><a href="https://about.gitlab.com/jobs/apply/">GitLab</a> | Remote | A series of video calls, and a coding exercise involving working on a Merge Request that is like a real work task</p> </li> <li> <p><a href="https://glassdoor.com">Glassdoor</a> | Remote; San Francisco, CA; Chicago, IL; Uniontown, OH | A series of video calls, some coding exercises involving real world problems (Styling a page with CSS, Using JavaScript to fetch data from an API and display on a page.</p> </li> <li> <p><a href="https://glints.com/sg/inside/careers/">Glints</a> | Singapore, Singapore; Jakarta, Indonesia | Culture fit interview, take home assignment that resembles a real-world problem, walkthrough about the assignment</p> </li> <li> <p><a href="https://gmfinancial.com/en-us/company/careers.html">GM Financial</a> | Irving, TX; Remote | Roles under <a href="https://globalcareers-gmfinancial.icims.com/jobs/search?ss=1&amp;searchKeyword=Software+Development+Engineer&amp;searchCategory=8741">Marketing Technology team</a> are 100% remote and only have HR Screening + 2 rounds: 1st round: Technical conversation with an architect and a senior engineer regarding candidate's experience and how that matches up to the role. Final round: cultural/behavioral interview with hiring manager.</p> </li> <li> <p><a href="https://goalbookapp.com/careers/">Goalbook</a> | Remote | Virtual interviews with recruiter, sr engineer, and hiring manager. Short real-world take-home project w/ follow-up conversation. Final interviews w/ CEO/Founder and Product team lead.</p> </li> <li> <p><a href="https://gocardless.com/about/jobs">GoCardless</a> | London, UK | Project to work at home, general technical questions, pair programming with engineers</p> </li> <li> <p><a href="https://www.gojek.io">GoJek</a> | Bangalore, India; Jakarta, Indonesia; Singapore, SG; Bangkok, Thailand | Take-home exercise, Pair programming with senior engineer, Technical problem solving and discussion, Cultural Fit</p> </li> <li> <p><a href="https://gower.st">Gower Street Analytics</a> | Remote; London, UK | Initial telephone chat, then either a) work with us, fully paid, for a day on real code with the team; or b) pair-programming on a code kata with the team members for four pomodoros. Your choice.</p> </li> <li> <p><a href="https://www.graffino.com">Graffino</a> | Sibiu, Romania | Take-home project, discussion on-site</p> </li> <li> <p><a href="https://graftonstudio.com">Grafton Studio</a> | Boston, MA | Take-home project, discussion on-site</p> </li> <li> <p><a href="https://gram.gs">Gram Games</a> | London, UK / Istanbul, Turkey | Initial interview -&gt; Take home -&gt; Take home discussion call -&gt; On site code review and technical discussions</p> </li> <li> <p><a href="https://www.gramercytech.com">Gramercy Tech</a> | New York, NY | Pair programming &amp; discussion on-site</p> </li> <li> <p><a href="https://www.grandcentrix.net/jobs">grandcentrix</a> | Cologne, Germany | Take-home project, discussion on-site</p> </li> <li> <p><a href="https://www.chatgrape.com/jobs/">Grape</a> | Vienna, Austria / Remote | GitHub or code samples -&gt; Pair programming -&gt; Skype/phone interview</p> </li> <li> <p><a href="https://graph.digital">Graph Digital</a> | London, UK | Initial screening call with Engineering Manager, take-home challenge or bring your own project, discussion about solution/project and past experience with two engineers, culture fit interview.</p> </li> <li> <p><a href="https://www.graphicacy.com">Graphicacy</a> | Washington, DC | Phone interview; in-person or virtual interview depending on location and availability; two brief technical assignments focused on flexibility, creativity, and general competency</p> </li> <li> <p><a href="https://www.graphistry.com">Graphistry</a> | San Francisco, CA; Remote | Discuss product/market, engineering, and culture, review past code/project, and for junior developers, choice of take home or code review.</p> </li> <li> <p><a href="https://greatminds.recruitee.com">Great Minds, PBC</a> | Washington, DC | Zoom interview, technical interview discussing past real world experiences as well as knowledge of tools that will be used for position</p> </li> <li> <p><a href="https://gridscale.io">Gridscale</a> | Cologne, Germany / Remote | Intro video call for open Q&amp;A, followed by intro with hiring manager, team fit with the whole team plus a small real-world problem to solve, followed by final round with hiring manager and/or c-level/founder.</p> </li> <li> <p><a href="https://www.gruntwork.io">Gruntwork</a> | Remote | Paid, take-home project with pair coding</p> </li> <li> <p><a href="https://gtmsportswear.com/careers">GTM Sportswear</a> | Manhattan, KS / Remote | Remote pairing session, then a take-home test.</p> </li> <li> <p><a href="https://hacktiv8.com">Hacktiv8</a> | Jakarta, Indonesia | Phone call for quick project &amp; personal introduction followed by Video call interview with project owner for discussion about the project and general question on how the project should be solved.</p> </li> <li> <p><a href="https://happyteam.io">Happy Team</a> | Warsaw, Poland; Remote | General technical questions, takehome paid exercise with feedback/discussion during implementation</p> </li> <li> <p><a href="http://www.happypie.com">Happypie</a> | Uppsala, Sweden | Takehome exercise with code review after, in-person interview</p> </li> <li> <p><a href="https://lil.law.harvard.edu/collaborate/">Harvard Library Innovation Lab</a> | Cambridge, MA | Take home project that mirrors work we might do on a <a href="https://lil.law.harvard.edu/sketches/">Sketch</a> and follow up discussion after.</p> </li> <li> <p><a href="https://www.hash.com.br/index.html">Hash</a> | Sao Paulo, Brazil | Take-home project and/or discussion (on-site or remote)</p> </li> <li> <p><a href="https://hashnode.com/careers">Hashnode</a> | Remote | Phone/video call interview for quick personal introduction -&gt; a take-home coding exercise based on real world example -&gt; take-home task discussion -&gt; culture fit session.</p> </li> <li> <p><a href="https://hashrocket.com">Hashrocket</a> | Chicago, IL/Jacksonville Beach, FL | Remote pairing session, paid week pair programming with everyone on the team</p> </li> <li> <p><a href="https://heavenhr.com">HeavenHR</a> | Berlin, Germany | Take home project based on the candidate's experience and future responsibilities. Then discussion about the solution</p> </li> <li> <p><a href="https://helabs.com">HE:labs</a> | Rio de Janeiro, Brazil &amp; Remote | Take-home project and discussion via Skype.</p> </li> <li> <p><a href="https://www.hellofresh.com/jobs">HelloFresh</a> | Berlin, Germany | Take-home project, discussion via Skype or on-site</p> </li> <li> <p><a href="https://herodigital.com">Hero Digital</a> | San Francisco, CA; Remote | Take-home project with code review, multiple (non-technical) interviews with different areas of the company about past projects and experience</p> </li> <li> <p><a href="https://heroku.com/careers">Heroku</a> | Remote | Timeboxed independent project on GitHub, discussion/debrief of project via Hangouts, productionization discussion via Hangouts, "meet the team" meeting</p> </li> <li> <p><a href="https://www.hhcc.com/careers">Hill Holliday</a> | Boston, MA | Take-home project on GitHub, in-person interview / culture fit interview</p> </li> <li> <p><a href="https://www.hingehealth.com/careers">Hinge Health</a> | Portland, OR; San Francisco, CA; Seattle, WA; Austin, TX; Denver, CO; Montreal, Québec &amp; Remote | Resume deep dive, take-home exercise on GitHub, (virtual) in-person including review of the take-home exercise (1hr), product collaboration, meet the team, and AMA with leadership</p> </li> <li> <p><a href="https://www.hireology.com/careers">Hireology</a> | Chicago, IL; Remote | Walk through personal/work projects and discuss experience</p> </li> <li> <p><a href="https://www.hiventive.com">Hiventive</a> | Pessac, France | Phone interview, home coding challenge, on-site interview with general programming questions, discussion of proposed solutions and personal experience.</p> </li> <li> <p><a href="https://www.holaluz.com/en/work-with-us/">Holaluz - Platform Team</a> | Barcelona, Spain | Intro call with HHRR, Small tech test with Terraform and some technical and non-technical questions, Interview with manager, Interview with the Platform Team, Small chat interview with the CEO.</p> </li> <li> <p><a href="https://holidaypirates.group/en/jobs">HolidayPirates</a> | Berlin, Germany | Take-home project, discussion via Skype or on-site</p> </li> <li> <p><a href="https://www.holobuilder.com">HoloBuilder</a> | Aachen, Germany | Take-home project, discussion via Skype or on-site</p> </li> <li> <p><a href="https://www.hologram.io/careers">Hologram</a> | Chicago, IL; Remote | Intro call, take-home project taken from production work, pair programming exercise</p> </li> <li> <p><a href="https://www.homechef.com/careers">Home Chef</a> | Chicago, IL; Remote | Get-to-know-you meeting with the team, followed by a half-day collaborative coding session</p> </li> <li> <p><a href="https://www.homelight.com/engineering">HomeLight</a> | San Francisco, CA; Scottsdale, AZ; Seattle, WA | Phone screen, take home that is close to production code, onsite with pair programming</p> </li> <li> <p><a href="https://www.hotjar.com/careers/">Hotjar</a> | Remote | Short introduction call -&gt; Technical interview with engineers on real-world problems/system design -&gt; Paid short take-home task -&gt; Team fit interview, EMEA timezones preferred</p> </li> <li> <p><a href="https://housemarque.com">Housemarque</a> | Helsinki, Finland | Interview, take-home project, then interview and code review on-site</p> </li> <li> <p><a href="https://www.hoxhunt.com/careers/">HoxHunt</a> | Helsinki, Finland | Take-home project, pair programming on-site</p> </li> <li> <p><a href="https://humanapi.co/company/careers">Human API</a> | Redwood City, CA | Technical phone interview, then on-site pair programming and design discussion</p> </li> <li> <p><a href="https://humi.applytojob.com/apply">Humi Inc</a> | Toronto, Canada | Interview, take-home project, then interview and code review on-site</p> </li> <li> <p><a href="https://io.co.za/opportunities">I|O</a> | Cape Town, South Africa</p> </li> <li> <p><a href="https://icalialabs.com">Icalia Labs</a> | Monterrey, Mexico | Pair programming, cultural fit session</p> </li> <li> <p><a href="http://iconstituent.com/careers/">iConstituent</a> | Washington, DC | Take-home project and code review in-person</p> </li> <li> <p><a href="https://ideamotive.co">Ideamotive</a> | Warsaw, Poland &amp; Remote | Take-home project, technical interview with developer</p> </li> <li> <p><a href="https://www.ideo.com/jobs">IDEO</a> | San Francisco, CA; New York, NY; Chicago, IL; Cambridge, MA | Take home project that resembles a problem IDEO solves for, then pairing session in person or over video chat.</p> </li> <li> <p><a href="https://boards.greenhouse.io/scout24">ImmobilienScout24</a> | Berlin, Germany | Take-home project, discussion on-site</p> </li> <li> <p><a href="http://jobs.impraise.com">Impraise</a> | Amsterdam, The Netherlands | Take home test, real world pair programming</p> </li> <li> <p><a href="https://jobs.incloud.de">Incloud</a> | Darmstadt, Germany | Technical interview with developers, followed by a full day on site with a practical project</p> </li> <li> <p><a href="http://www.indellient.com/careers">Indellient</a> | Oakville, Canada | Series of interviews both technical and non-technical</p> </li> <li> <p><a href="https://jobs.infarmbureau.com/home-office">Indiana Farm Bureau Insurance</a> | Indianapolis, Indiana | series of interviews with team, followed by an interview with manager</p> </li> <li> <p><a href="https://inevitableinnovations.com">INEVITABLE</a> | Manchester, UK | Take-home project, discussion on-site</p> </li> <li> <p><a href="https://www.influxdata.com/careers">InfluxData</a> | San Francisco, CA &amp; Remote | Technical and non-technical interviews, pair programming, with prospective manager and multiple prospective teammates</p> </li> <li> <p><a href="https://www.infosum.com">InfoSum</a> | Basingstoke, UK | On-site unsupervised exercise &amp; discussion.</p> </li> <li> <p><a href="https://inkindcapital.com">inKind Capital</a> | Boulder, CO | Discussing real-world problems, pair programming, dinner &amp; drinks with the team</p> </li> <li> <p><a href="https://www.inmar.com/careers">Inmar</a> | Winston-Salem, NC; Austin, TX &amp; Remote | Take-home project and conversation-style interviews</p> </li> <li> <p><a href="https://jobs.innoplexus.com">Innoplexus</a> | Pune, India; Frankfurt, Germany | Take-home projects and On-site pair programming assignment.</p> </li> <li> <p><a href="https://www.innoviacolabs.com">Innovia CoLabs</a> | Rochester, NY / Remote | Zoom interview with two to three engineers and you share projects/code you're proud of; only reviewing code you wrote yourself. Most of the interview is about culture fit and who you are as a person. There is a blog on the website that outlines the interview and will contact you prior to tell you exactly what the interview will be like.</p> </li> <li> <p><a href="https://internshala.com/internships/internship-at-InstantPost">InstantPost</a> | Bangaluru, India | Remote assignment followed by Technical and Team round interview</p> </li> <li> <p><a href="https://www.integral.io">Integral.</a> | Detroit, MI | 3-step process (100% remote): tech-screening with an engineer for 30 minutes, remote pair-programming and test driven development exercise for 1 hour, conversation with engineering leadership for 30 minutes.</p> </li> <li> <p><a href="https://www.intelipost.com.br">Intelipost</a> | São Paulo, BR | Take-home project, on-site code review and presentation (skype available if needed), discussion involving real world problems and interviews with different teams</p> </li> <li> <p><a href="https://interfrog.de/jobs">Interfrog Produktion GmbH</a> | Mannheim, Germany | Phone interview with developer and CEO to get to know each other and to understand skills and background. Follow-up interview to discuss technical realization of sample work which is handed over after the first interview.</p> </li> <li> <p><a href="https://jobs.microfocus.com">Interset</a> | Ottawa, Canada | Discussion of technical background and past experience. Relevant take-home project for junior developers</p> </li> <li> <p><a href="https://www.investsuite.com/jobs">InvestSuite</a> | Remote; Leuven, Belgium | Take home project -&gt; discuss with 2 developers on-site or remote -&gt; job offer</p> </li> <li> <p><a href="https://jobs.ionos.de/career/about-us">IONOS SE</a> | Karlsruhe, Germany; Berlin, Germany | Our process has two stages for developers: An interview with your potential team lead followed by an interview with 1-2 future colleagues. All stages can be in-person in one of our offices or via Google Meet.</p> </li> <li> <p><a href="https://itexperts.be">IT Experts</a> | Eeklo, Belgium | On site interview -&gt; 1 or 1/2 day at the office to solve a real world problem with the team -&gt; job offer.</p> </li> <li> <p><a href="https://itdesign.de/karriere/">itdesign</a> | Tübingen, Germany | Short phone or personal interview. A day at our company to give you and us the opportunity to get to know each other.</p> </li> <li> <p><a href="https://www.ithaka.travel">Ithaka</a> | Mumbai, India | Phone interview followed by a small development task. Finally a phone interview with CEO.</p> </li> <li> <p><a href="https://itrellis.com">iTrellis</a> | Seattle, WA | Phone screen, then a take-home project, then pairing (remote or on-site) with 3 developers on the take-home project.</p> </li> <li> <p><a href="https://jobs.izettle.com/jobs">iZettle</a> | Stockholm, Sweden | Remote pair programming exercise, propose an architecture for an application and discuss about it in an informal format.</p> </li> </ul> <h2>J - L</h2> <ul> <li><a href="https://www.jamasoftware.com">Jamasoftware</a> | Portland, OR | Initial phone screen with hiring manager. In person pairing on project similar to day-to-day work with a separate cultural interview</li> <li><a href="https://jamitlabs.com/jobs">Jamit Labs</a> | Karlsruhe, Germany | Phone interview or on-site interview &amp; take-home code challenge or on-site programming session</li> <li><a href="https://iheartjane.com">Jane Technologies (iheartjane.com)</a> | Santa Cruz, CA; Remote | Short take-home challenge, followed by practical interviews based on position the applicant is seeking</li> <li><a href="https://www.jeli.io">Jeli</a> | Remote; San Francisco, CA | A series of conversations involving product deep dive, technical discussions, and behavioral topics. Discussions are open ended conversations about how one would approach solving real world problems. Questions may be scenario based involving talking through tradeoffs.</li> <li><a href="https://www.jetstack.io/careers">Jetstack</a> | London, UK | Phone screen; shared terminal session on Linux &amp; Programming; Take home task</li> <li><a href="https://www.jiminny.com">Jiminny</a> | Sofia, Bulgaria | Phone screen. Take-home exercise. Follow-up discussion.</li> <li><a href="https://www.jitbit.com">Jitbit</a> | Remote; London, UK; Tel-Aviv, Israel | Take-home real-world task</li> <li><a href="https://weare.jobtome.com/careers">Jobtome</a> | Stabio, Switzerland | Phone screen introduction with hiring manager. In site (or screen call) with Engineer Manager for a talk on skills and cultural fit.</li> <li><a href="https://journaltech.com/careers">Journal Tech</a> | Los Angeles, CA | Mini take-home project, phone interview, discussion on-site</li> <li><a href="https://www.jplusplus.org">Journalism++</a> | Berlin, Germany | Apply through a <a href="http://internship.jplusplus.org">relevant online challenge</a> to show your technical skills and your capacity to investigate</li> <li><a href="https://jobs.lever.co/JOURNEE">JOURNEE</a> | Berlin, Germany / Remote | Cultural fit assessment, Interview, Take-home assignment.</li> <li><a href="https://nl.jobs.jumbo.com/nl">Jumbo</a> | Veghel, Netherlands | Culture Fit call, take-home project, design discussion based on take-home project, system design conversation online or in-person.</li> <li><a href="https://www.justwatch.com/us/talent">JustWatch</a> | Berlin, Germany | Take-Home project, discussion on-site</li> <li><a href="https://www.khealth.ai">K Health</a> | Tel Aviv, Israel | Phone screening to discuss technical background and past experience. Take-home assignment followed by on-site code review and interview. Cultural fit assessment</li> <li><a href="https://www.getkahoot.com/jobs">Kahoot!</a> | London, UK / Oslo, Norway | Phone screening to discuss technical background and past experience. Take-home assignment followed by on-site code review and interview. Cultural fit assessment</li> <li><a href="https://kata.ai">Kata.ai</a> | Malang, Indonesia / Jakarta, Indonesia | Take-home assignment, then invited to discuss the assignment and interview.</li> <li><a href="https://www.kayako.com">Kayako</a> | London, UK / Gurgaon, India | Take-home assignment, series of experience based interviews, cultural fit assessment</li> <li><a href="https://www.kefrobotics.com">KEF Robotics</a> | Pittsburgh PA, USA | Presentation on a technical topic of your choice, cultural fit assessment</li> <li><a href="https://www.kentik.com/careers">Kentik</a> | San Francisco, CA | Phone screening to discuss technical background and past experience. Take-home assignment followed by on-site code review and interview. Cultural fit assessment</li> <li><a href="https://keymetrics.io">Keymetrics</a> | Paris, France | Phone Interview, Take-home project based on our <a href="https://github.com/keymetrics/keymetrics-api">API</a>, IRL meeting with the whole team</li> <li><a href="https://www.kienguru.vn">Kiến Guru</a> | Hồ Chí Minh, Vietnam | Phone screening with technical recruiter --&gt; live coding with an engineer --&gt; panel interview with related engineers (Test Engineers, Frontend Engineers, Backend Engineers, etc) --&gt; final interview with VP of Engineering</li> <li><a href="https://careers.kindredplc.com">Kindred Group, Native Apps Team</a> | Stockholm SE, London UK | On-site/Skype programming task, Interview</li> <li><a href="https://www.kinnek.com/jointeam">Kinnek</a> | New York, NY | Phone screen, on-site pairing session, take-home project</li> <li><a href="https://kinsta.com/careers/">Kinsta</a> | Remote | Culture fit interview, take home assignmentv, discussion on-site, technical interview discussing past real world experiences as well as knowledge of tools that will be used for position</li> <li><a href="https://code.kiwi.com">Kiwi.com</a> | Brno, Czech Republic | Phone Interview, Take-home projects, On-site code review &amp; interview</li> <li><a href="https://www.knock.com/careers">Knock.com</a> | San Francisco, CA / New York, NY / Remote | Phone Interview, Take-home project, On-site technical conversation relating to the tech stack you would be hired to build with</li> <li><a href="https://knplabs.com">KNPLabs</a> | Nantes, France | First step: screening call directly with the CEO, to discuss company vision, assess cultural fit and experience. Second step: call or IRL interview with a developer and a project facilitator , technical discussions with focus on soft skills. The goal of the interview is for the 2 KNPeers to be able to answer: “Do I want to work with this person ?” If both say yes, the person is hired. If even at least one says no, the person is not hired.</li> <li><a href="https://www.koala.io">Koala</a> | Remote | Phone screen. Open-ended take-home coding challenge. Pair Programming exercise. Meet the CEO and the rest of team.</li> <li><a href="https://kodify.io">Kodify</a> | Remote | HR interview, technical interview, take-home test related to role, technical interview about the test</li> <li><a href="https://www.gokoho.com">Koho by Expeditors</a> | Portland, OR | Phone screening. Take home assignment. Conversational technical and cultural interview.</li> <li><a href="https://www.konghq.com/careers">Kong</a> | San Francisco, CA | Phone interview. Pairing and technical interviews. Take home assignment.</li> <li><a href="https://www.kongregate.com/jobs">Kongregate</a> | Portland, OR | Phone screening. Take home project. On-site pairing and conversational technical interviews.</li> <li><a href="https://kontainer.com/vacant-positions-in-kontainer-job-and-career">Kontainer</a> | Copenhagen, Denmark | Phone screening. Practical questions on how past experience matches the job position. On-site technical interviews with lead engineers.</li> <li><a href="https://www.korbit.co.kr/about/jobs">Korbit</a> | Seoul, South Korea | Take home assignment followed by on-site code review and interview</li> <li><a href="https://kulkul.tech/careers">Kulkul Tech</a> | Jakarta, Indonesia | Take home and an in-person system design interview, then soft skills and culture assessment via interviews with the senior leadership team.</li> <li><a href="https://www.kungfu.ai">KUNGFU.AI</a> | Remote; Austin, TX | 30-40 minute recruiter screen, 30 minute hiring manager screen, 1.5 hour final interview (discussion only, no coding or whiteboarding).</li> <li><a href="http://lab.coop">Lab.Coop</a> | Budapest, Hungary | Partnership-fit discussion, code-review and trial days.</li> <li><a href="https://www.lab49.com/careers/">Lab49</a> | New York, NY; Washington, DC; London, UK; Sydney, AU | First interview - Pairing interview using Codility. Final interviews that include a coding challenge.</li> <li><a href="https://landing.jobs/at/landing-jobs">Landing.jobs</a> | Lisbon, Portugal | Interviews (in-person or remote), Take home coding project</li> <li><a href="http://engineering.lanetix.com">Lanetix</a> | San Francisco, CA | <a href="https://engineering.lanetix.com/2015-10-20/hiring-process">Our Hiring Process</a></li> <li><a href="https://lattice.com/careers">Lattice</a> | San Francisco, CA; New York, NY; Remote | Technical exercises based on work we do at Lattice, discussion of a new architecture to solve a real world problem</li> <li><a href="https://launchacademy.com/careers">Launch Academy</a> | Boston, Philadelphia | Nontechnical phone screen, pair programming with team member, and potentially a "guest lecture" for our students</li> <li><a href="https://launchdarkly.com/careers">LaunchDarkly</a> | Oakland, CA | Informational phone screen with Eng leadership, take home project, onsite interviews</li> <li><a href="https://league.com/ca/careers">League</a> | Toronto, Canada | Initial interview with talent team, take home coding challenge &amp; technical interview to discuss, take home architecture challenge &amp; interview to discuss, cross-functional interview, executive interview.</li> <li><a href="https://leapsome.com">Leapsome</a> | Berlin, Germany | Phone screen with technical co-founder, take home case study, onsite culture-fit interview</li> <li><a href="https://learningbank.dk">Learningbank</a> | Copenhagen, DK | Take home assignment, followed by on-site code review.</li> <li><a href="https://www.legalstart.fr">Legalstart.fr</a> | Paris, France | Telephone interview followed by take-home challenges. Suitable applicants are asked to do further on-pair interviews on site.</li> <li><a href="https://www.leverton.ai">Leverton</a> | Berlin, Germany | Initial chat with the HR continued with 1-2 rounds chat with the team; followed by a technical test and finally a chat with the CTO/MD. <a href="https://leverton-jobs.personio.de">Jobs page</a></li> <li><a href="https://www.libertymutualgroup.com/careers">Liberty Mutual</a> | Seattle, WA; Boston, MA; Indianapolis, IN | Initial interview, discussion on-site, interview with peers</li> <li><a href="https://www.librato.com/jobs">Librato</a> | San Francisco, CA; Boston, MA; Austin, TX; Vancouver, Canada; Krakow, Poland | Take home coding project, conversational technical interviews on-site</li> <li><a href="https://lightningjar.agency">Lightning Jar</a> | San Antonio, Tx | Remote pairing session, Initial interview,discussion on-site</li> <li><a href="https://www.lightricks.com">Lightricks</a> | Jerusalem, Israel | Initial interview, Take home project, discussion on-site</li> <li><a href="https://www.linkaja.id">LinkAja</a> | Jakarta, Indonesia | Quick introductory chat, followed by take home project for 7 days</li> <li><a href="https://jobs.linkresearchtools.com/job-offers">LinkResearchTools</a> | Vienna, Austria | Skype interview, mini take-home exercise, discussion on-site / personal interview</li> <li><a href="https://www.linxsystems.com">Linx Systems</a> | Bloomington, IL / Remote | 5-10 minute take home project; followed by a non-technical interview; finish up with a second take home project or paired with a developer for a 30-60 minute session.</li> <li><a href="https://www.lise.de/karriere/stellenboerse">lise GmbH</a> | Cologne, Germany | Phone interview, followed by getting to know each other in person, a short presentation about any topic you are interested in, pair programming on a real world problem</li> <li><a href="https://www.listenlively.com/about#careers">Listen Lively</a> | Remote | 1 hour pair programming exercise on codesandbox; a second 1 hour pair programming exercise on codesandbox; followed by non-technical interview(s) with team members.</li> <li><a href="https://listium.com/jobs">Listium</a> | Melbourne, Australia | Design and code proof of concept features with the team</li> <li><a href="https://litmus.com/careers#openings">Litmus</a> | Remote | General technical questions, take-home code challenge, discussion, on-site programming session, meet &amp; greet with the team</li> <li><a href="https://www.littlethings.com/careers.html">LittleThings</a> | New York, NY | Take home code challenge, Discussion</li> <li><a href="https://loanzen.in/team.html#Career">LoanZen</a> | Bengaluru, India | Initial phone interview about experience, a solve-at-home project based on the kind of work we do at our company, on-site interview discussing the submitted solution and a general discussion with the whole team</li> <li><a href="https://lob.com/careers">Lob</a> | San Francisco, CA | Initial phone screen followed by an on-site interview. Technical problems discussed during the interview are all simplified versions of problems we've had to solve in production. Our entire interview process and what we're looking for is described in our blog post <a href="https://lob.com/blog/how-we-interview-engineers">How We Interview Engineers</a>.</li> <li><a href="https://www.locastic.com/posao">Locastic</a> | Split, Croatia | Take-home code challenge, tehnical discussion &amp; on-site programming session, meet &amp; greet with the team</li> <li><a href="https://www.locaweb.com.br/carreira">Locaweb</a> | São Paulo, Brazil | Skype interview, take-home project and discussion on-site</li> <li><a href="https://www.logiball.de/en/jobs/">LOGIBALL GmbH</a> | Berlin, Hannover and Herne in Germany | Interviews and discussion</li> <li><a href="https://logicsoft.co.in">Logic Soft</a> | Chennai, India | Phone discussion, F2F pair programming exercise + discussion</li> <li><a href="https://www.lonres.com/public/working-us">LonRes</a> | London, United Kingdom | Quick introduction call with tech (Skype), coding task for ≈1 hour, face-to-face interview (or via Skype) and meeting with team members.</li> <li><a href="https://www.pathfactory.com/careers/">LookBookHQ</a> | Toronto, Canada | On-site discussion, pair programming exercise</li> <li><a href="https://www.useloom.com/careers">Loom</a> | San Francisco, CA | Google Hangouts resume dive on past experience, take-home project OR architectural phone screen, on-site interviews (2 technical architecture related to work, 1 or 2 non-technical)</li> <li><a href="https://jobs.lovion.de">Lovion GmbH</a> | Dortmund, Germany | On-site or remote interview for technical and culture fit</li> <li><a href="https://oiluna.com">Luna</a> | Sao Paulo, Brazil | Take-home project and/or discussion (on-site or remote)</li> <li><a href="https://lydia-app.com/en/company/jobs">Lydia</a> | Paris, FR | Mini take-home project, phone interview, discussion on-site</li> <li><a href="https://www.lyft.com/jobs">Lyft's Mobile Team</a> | San Francisco, CA; Seattle, WA; New York, NY; Minsk, Belarus; Mexico City, Mexico | On-site project, discussion of candidate's completed project afterwards</li> <li><a href="https://lykon.de">Lykon</a> | Berlin, Germany | Phone interview followed by home assignment that reflect our daily work and then on-site interview</li> <li><a href="http://www.lyoness-corporate.com/de-AT/Karriere/Jobangebote">Lyoness Austria GmbH</a> | Graz, Austria | Take-Home project, discussion on-site</li> </ul> <h2>M - O</h2> <ul> <li><a href="https://www.madetech.com/careers">Made Tech</a> | London, UK | <a href="https://github.com/madetech/handbook/tree/master/guides/hiring#20-minute-phone-conversation">Our hiring process</a></li> <li><a href="https://magical.team/work">Magical</a> | Tel Aviv, Israel; Remote | Culture fit interview + take home assignment, followed by a technical interview, and a CTO interview.</li> <li><a href="https://magnetis.workable.com">Magnetis</a> | São Paulo, Brazil &amp; Remote | Phone interview + take home assignment, followed by pair programming and informal meeting with the team.</li> <li><a href="https://careers-mlssoccer.icims.com/jobs/search?ss=1&amp;searchCategory=20285">Major League Soccer</a> | New York, NY | Phone interview + short take home project, which is daily work focused. In person interview could involve discussing past projects or pair programming.</li> <li><a href="https://www.makemusic.com/careers/">MakeMusic</a> | Boulder, CO; Denver, CO | Phone screen, take home project, remote and on-site interviews for technical and cultural fit</li> <li><a href="https://maketime.workable.com">MakeTime</a> | Lexington, KY | Practical exercise and/or a pairing session on site</li> <li><a href="http://www.mango-solutions.com/wp/about-mango/team">Mango Solutions</a> | London (UK), Chippenham (UK) | Initial phone interview, followed by on-site interview with take-home assignment</li> <li><a href="https://www.mapbox.com/jobs">Mapbox</a> | San Francisco, CA; Washington, DC; Ayacucho, Peru; Bangalore, India; Berlin, Germany; Remote | Conversational interviews, paid onsite project with team.</li> <li><a href="https://mattermost.com/careers/">Mattermost</a> | Remote | Follow-up questions over email, a couple of video calls, audition (paid real-world “try out” project), video call to discuss audtion, and then a video call with the CTO</li> <li><a href="https://www.mavenlink.com/careers">Mavenlink</a> | San Francisco, CA; Irvine, CA; Salt Lake City, UT | On-site pairing with multiple engineers. Pairing exercises and pairing on company code.</li> <li><a href="https://www.maxwellhealth.com/careers">Maxwell Health</a> | Boston, MA | Take-home exercise or pairing session with team. Then conversational meetings with members of the team.</li> <li><a href="https://me-company.de/jobs/">Me &amp; Company</a> | Düsseldorf, Germany | You join us for one or two paid trial days to work on an assignment and to meet the team.</li> <li><a href="https://mealme.ai">MealMe</a> | San Francisco, California | Initial introductory interview, 1 hour technical interview with CTO (real-world problem), rapid fire questions about thinking and working in a start-up.</li> <li><a href="https://mediapop.co">Media Pop</a> | Singapore, Singapore | Take-home or unsupervised (onsite) real-world assignment</li> <li><a href="https://www.meetrics.com">Meetrics</a> | Berlin, Germany | Initial interview, take-home code challenge and review</li> <li><a href="https://underthehood.meltwater.com/jobs">Meltwater</a> | Manchester, NH | Small take home exercise that will be presented to the team during a QA style interview</li> <li><a href="https://mention.workable.com">Mention</a> | Paris, FR | Take-home small exercise followed up by on site meetings with your future coworkers</li> <li><a href="https://jobs.mercadolibre.com">Mercado Livre</a> | São Paulo, Brazil | Phone interview with HR department, Takehome project and discussion (on-site or remote) with an interview to evaluate the candidate's previous experience and Cultural Fit interview with a manager.</li> <li><a href="https://www.mercatus.com/company/careers">Mercatus</a> | Toronto, Canada | Practical on-site project similar to daily work</li> <li><a href="https://www.metro-markets.de/careers/">Metro Markets</a> | Düsseldorf, Germany | You can get to know us by joining fully remote interviews with us or you can come and visit us onsite</li> <li><a href="https://www.mfind.pl/dolacz-do-nas/">mfind</a> | Warsaw, PL | Phone call about technical experience, Take-home project or technical test(depends on experience), Onsite interview with technical lead.</li> <li><a href="https://midrive.com/careers">miDrive</a> | London, UK | Phone screen, Take-home project / technical test, Onsite interview with senior and peer.</li> <li><a href="https://www.milchundzucker.de">milch &amp; zucker</a> | Gießen, Germany | Interview with direct feedback, applicants providing working sample, code review (product code or personal code of applications)</li> <li><a href="https://www.minutemedia.com/careers/">Minute Media</a> | Tel-Aviv, Israel | Phone screening with engineer. On-site real-world challenge questions with two engineers. Sometimes a take-home assignment or existing code sample submission.</li> <li><a href="https://miro.com/careers/">Miro</a> | Amsterdam, NL; Berlin, DE; London, UK | Screen-share your own IDE and code our assignment, on your terms. We share the problem 24 hours in advance, but ask you to only configure the IDE beforehand, so 100% of your coding happens during the interview.</li> <li><a href="https://mirumee.com/jobs">Mirumee</a> | Wroclaw, Poland; Remote | Pair programming and code review using one of the issues (or Pull Requests) in our open-source Saleor project, general discussion about programming, technology and candidate's experience</li> <li><a href="https://mixmax.com/careers">Mixmax</a> | San Francisco, CA | Takehome assignment purely based on their platform, followed by phone interview</li> <li><a href="https://themobilereality.com/careers">Mobile Reality</a> | Warsaw, Poland | Interview with technical questions and practical task to do in home for 3-5 hours. Candidate has freedom in terms of project environment and setup. After few days feedback arrives in email.</li> <li><a href="https://www.mobilecashout.com">MobileCashout</a> | Barcelona, Spain; Valencia, Spain | Quick introduction video call with a tech (less than 10-15 minutes). On-site open source contribution to a project of candidates choosing, paired with a tech from the team. Interview and a short questionnaire about software design and relevant technologies. Interview and presentation of the company with a HR rep.</li> <li><a href="https://mobilethinking.ch">Mobilethinking</a> | Geneva, Switzerland | 1 hour discussion about technical background and past experiences, preferably in-person</li> <li><a href="https://about.modeanalytics.com/careers">Mode</a> | San Francisco, CA | Phone interview followed by onsite pair-architecting and discussion</li> <li><a href="https://mokahr.com">MokaHR</a> | Beijing, China | Take home project/challenge, then on-site programming session taken from problems we encounter at work</li> <li><a href="https://www.moltencloud.com">Molten Cloud</a> | Cambridge, MA; Remote | Technical Interview, behavioural interview with CEO, take-home challenge designed to mirror problems the company encounters</li> <li><a href="https://moneytree.jp">Moneytree Front-end Web Team</a> | Tokyo, Japan | Pair programming exercise and social gathering with team</li> <li><a href="https://monite.com">Monite</a> | Berlin, Germany | Screening interview with HR (salary expectations, career plans), take-home architectural design project (no code) and technical interview to discuss your skill set + general questions</li> <li><a href="https://monzo.com">Monzo</a> | London, UK &amp; Remote | Phone interview with another engineer. Take-home assignment. Call to debrief on take-home assignment. Half-day interview (on-site or Hangouts) with three conversational sessions: (1) building on take-home test &amp; real-world system design (verbal and collaborative); (2) digging into knowledge &amp; understanding in 1-2 other relevant technical areas; (3) general background, teams and ways of working.</li> <li><a href="https://www.moteefe.com/jobs">Moteefe</a> | London, UK &amp; Remote | Interview with CTO. Take home project/challenge.</li> <li><a href="https://careers.mozilla.org/listings">Mozilla</a> | San Francisco, US; Portland, US; Toronta, CA; Vancouver, CA; Berlin, DE; Remote | Deep-dive discussions on technical and mentorship problems solved in the past. No live coding. Total of 3 rounds.</li> <li><a href="https://mutualmobile.com/careers">Mutual Mobile</a> | Austin, TX; Hyderabad, India | Technical discussion, code test based on actual work you'll be doing, panel style discussions for cross-functional and culture-fit.</li> <li><a href="https://www.mutualofomaha.com/careers">Mutual of Omaha</a> | Omaha, NE, USA | Panel Style Interviews analyzing problem solving, ability to adapt well to change, and interpersonal communication skills.</li> <li><a href="https://www.mutuallyhuman.com">Mutually Human Software</a> | MI, OH, WA | Collaborative problem analysis and design exercise, pairing exercise</li> <li><a href="https://mux.com/jobs/">Mux</a> | San Francisco, CA; London, UK &amp; Remote | Hands-on software engineer and system-design interviews that focus on collaboratively building practical applications at scale.</li> <li><a href="https://mytaxi.com">My Taxi</a> | Hamburg, Germany | Video chat with HR, Take Home Assignment, Review of Assignment with a technical member, Technical interview and onboarding.</li> <li><a href="https://www.myheritage.com">MyHeritage</a> | Or Yehuda, Israel; Kyiv, Ukraine | Video call with HR, problem solving test on codility.com, video call with tech lead and solving problem from real project, system design onsite interview.</li> <li><a href="https://apply.workable.com/mytutor/">MyTutor</a> | London, UK | Take home test, followed by pair programming, system design discussion, and cross functional interview on site</li> <li><a href="https://naologic.com/careers/jobs">Naologic</a> | San Francisco, US | Takehome programming assignment and personal interviews with part of the founding team.</li> <li><a href="https://www.native-instruments.com">Native Instruments</a> | Berlin, Germany | Takehome programming assignment and personal interviews with part of the hiring team.</li> <li><a href="https://nearsoft.com/join-us/">Nearsoft Inc</a> | Hermosillo, Mexico; Chihuahua, Mexico; Mexico City, Mexico | Takehome <a href="https://nearsoft.com/blog/the-logic-behind-nearsofts-logic-test/">logic test</a>, english interview to check communication skills, short technical interview about experience, long technical discussion about languages/tools/practices you will use on daily basis, pair programming session.</li> <li><a href="https://lifeatnedap.com/vacatures">Nedap</a> | Groenlo, Netherlands / Remote | A simple conversation, human to human and a small on-site project</li> <li><a href="https://neoteric.eu/career/">Neoteric</a> | Gdańsk, Warsaw Poland; Remote | Face2Face conversation, take home exercise &amp; pair programming session</li> <li><a href="https://www.nerdwallet.com/careers">NerdWallet</a> | San Francisco, CA; Remote | Code review phone screen, on-site project to build a functioning app with interviewee's platform of choice</li> <li><a href="https://www.netguru.co/career">Netguru</a> | Warsaw, Poland; Remote | Takehome exercise &amp; pair programming session</li> <li><a href="https://www.netlandish.com">Netlandish</a> | Los Angeles, CA; Remote | Takehome exercise, chat interview, video interview</li> <li><a href="https://www.netlify.com/careers">Netlify</a> | San Francisco, CA / Remote | Takehome project and online/onsite discussion</li> <li><a href="https://neulabs.com/careers">Neulabs</a> | Milan, Italy | Initial phone screen with HR. Brief talk with VP of Engineering or CTO. Small take-home project followed by a technical review with 1 or more engineers &amp; a culture-fit discussion.</li> <li><a href="https://neurallab.io">Neural Lab</a> | Shatin, Hong Kong; Remote | Online non-technical (Behavioural) interview, followed by a Technical Interview with the core team - mainly revolving around the real-world problems, best approaches and some scenario based questions.</li> <li><a href="https://newrelic.com/about/careers">New Relic</a> | San Francisco, CA | Takehome exercise &amp;/ or pair programming session depending on the team</li> <li><a href="https://www.newstore.com/careers/">NewStore</a> | Berlin, Germany; Hannover, Germany; Erfurt, Germany; Boston, MA | Telephone technical interview, code sample submission or takeaway coding exercise, on-site pair programming, design session (1/2 day)</li> <li><a href="https://www.newvoicemedia.com/about-newvoicemedia/careers">NewVoiceMedia</a> | Basingstoke, England; Wroclaw, Poland | Telephone interview, takeaway coding exercise, on-site pair programming, code review &amp; technical discussion (1/2 day)</li> <li><a href="https://nexapp.ca/career/">Nexapp</a> | Quebec City, Canada | Video call where we get to know you more and you get to know us more, followed by a video call technical interview where we discuss a few open-ended problems strongly inspired by the daily real-world work we do.</li> <li><a href="https://nexcess.net">Nexcess.net</a> | Southfield, MI | We mostly chat to get a feel on both ends if there's a good cultural fit. We ask questions to see what experience you have and how you think as a programmer. At some point we look at some of your code or have you work on some of ours (1 hour).</li> <li><a href="https://nimblehq.co">Nimble</a> | Bangkok, Thailand; Ho Chi Minh City, Vietnam; Da Nang, Vietnam | Takehome exercise and specific role discussion</li> <li><a href="https://www.ninjaneers.de">Ninjaneers</a> | Kassel, Germany; Remote | Google Hangouts resume dive on past experience and projects</li> <li><a href="https://www.niteoweb.com/careers">Niteoweb</a> | Ljubljana, Slovenia | Join us for a week to see if we fit</li> <li><a href="https://www.gonitro.com/about/jobs">Nitro</a> | Dublin, Ireland; San Francisco, CA | Phone Call, Take Home Test, Hiring Manager Phone Interview followed by an onsite discussion</li> <li><a href="https://jobs.nmbrs.com">Nmbrs</a> | Amsterdam, The Netherlands; Lisbon, Portugal | Cultural interview, take home test, interview with CTO</li> <li><a href="https://www.noa.one">Noa</a> | Berlin, Germany; San Francisco, CA | 1 technical chat, 2-3 cultural chats with colleagues from different departments in the team, if these work a pair programming exercise</li> <li><a href="https://nodesource.com/careers">NodeSource</a> | Remote | A person-to–person walk through of a past project of yours</li> <li><a href="https://www.nomoko.world/jobs">Nomoko,camera</a> | Zurich, Switzerland | Three interrogations</li> <li><a href="https://www.norbsoft.com/careers">Norbsoft</a> | Kraków, Poland; Warszawa, Poland; Sosnowiec, Poland; Remote | Take-home exercise or code sample submission, technical discussion by video conference</li> <li><a href="https://www.nordsoftware.com/en/jobs">Nord Software</a> | Helsinki, Finland; Tampere, Finland; Stockholm, Sweden | Take-home exercise &amp; interview with CEO and senior developer</li> <li><a href="https://nordsecurity.com/careers">NordPass</a> | Remote | HR talk, take-home task, tech interview, culture fit interview</li> <li><a href="https://www.noredink.com/jobs">NoRedInk</a> | San Francisco, CA | Take-home exercise &amp; pair programming session</li> <li><a href="https://www.novacare.no">Nova Care</a> | Oslo, Norway | Casual interview, take-home exercise &amp; presentation</li> <li><a href="https://www.novacredit.com/careers">Nova Credit</a> | San Francisco, CA | Choose between a take home assignment or two interviews on CoderPad, CodePen, or your local dev env while screensharing. Final round is onsite working on a small project</li> <li><a href="https://novicap.com/en/careers.html">NoviCap</a> | Barcelona, Spain | Takehome exercise &amp; discussion on-site</li> <li><a href="https://novoda.com/joinus">Novoda</a> | London, UK; Liverpool, UK; Berlin, Germany; Barcelona, Spain; Remote | 2 x Pairing sessions &amp; conversational interviews <a href="https://github.com/novoda/dojos">(public repo)</a></li> <li><a href="https://www.novus.com/jobs">Novus Partners</a> | New York, NY | Take-home exercise &amp; on-site exercises (choice of laptop or whiteboard)</li> <li><a href="https://www.noyo.com/careers/">Noyo</a> | San Francisco, CA / Durham, NC / Remote | Phone interview, take-home assignment, on-site code review, and walk through a past project you're proud of</li> <li><a href="https://nozbe.com/careers">Nozbe</a> | Remote | Take-home exercise &amp; interview with the team</li> <li><a href="https://npmjs.com/jobs">npm, Inc</a> | Oakland, CA / Remote | No technical challenges. Just interview conversations.</li> <li><a href="https://nubank.workable.com">Nubank</a> | São Paulo, BR | Phone conversation, take-home exercise, code walkthrough, on-site code pairing.</li> <li><a href="https://www.numberly.com">numberly</a> | Paris, France | Series of interviews, that go over technical background, past experiences and cultural knowledge</li> <li><a href="https://angel.co/numerai/jobs">numer.ai</a> | San Francisco, CA</li> <li><a href="https://www.nurx.com/technology/">Nurx</a> | San Francisco, CA; Remote | Phone screen with recruiter and/or hiring manager, tech assessment with multiple options (full take home, partial take home, no take home), and then virtual on-site with a pair coding session, peer review of a technical document, architecture design, and exec loop</li> <li><a href="https://www.nutshell.com/jobs">Nutshell</a> | Ann Arbor, MI, US | Email screen / take-home programming exercise (<a href="https://github.com/nutshellcrm/join-the-team">public repo</a>)</li> <li><a href="https://www.nyon.nl/jobs">Nyon</a> | Amsterdam, The Netherlands | 1. Skype (or real life) interview 2. Take home exercise (3-4 hours) 3. Meet entire team and pair programming sessions</li> <li><a href="https://oreilly.com/jobs">O'Reilly Media</a> | Sebastopol, CA; Boston, MA; Remote | Phone conversation, take-home exercise or pair programming session, team interview, all via Google Hangout</li> <li><a href="https://www.oakstreethealth.com/careers">Oak Street Health</a> | Chicago, IL / Remote | Casual but semi-technical initial phone screen. One hour video call consisting of in depth technical discussion with lead developers followed by one hour of discussion with the product team</li> <li><a href="https://objectpartners.com/careers/">Object Partners, Inc.</a> | Minneapolis, MN; Omaha, NE | Phone interview to gauge mutual interest, followed by a slightly more in-depth technical round-table interview</li> <li><a href="https://www.objectiveinc.com/careers">Objective, Inc.</a> | Salt Lake City, UT | Take-home programming exercise, then onsite friendly chat with team</li> <li><a href="https://rejoins.octo.com">OCTO Technology</a> | Paris, France | HR interview to go over your experiences and cultural knowledge. Then more or less informal discussion with two future team members about architecture design, agile practices, take-home project, pair programming...</li> <li><a href="https://octopus.energy/careers/">Octopus Energy</a> | London, UK; Sydney, Australia; Remote | Take-home exercise and phone or on-site interview/discussion with potential team</li> <li><a href="https://careers.oda.com/jobs">Oda</a> | Oslo, Norway; Helsinki, Finland; Berlin, Germany | Phone screening to discuss technical background and past experience. Take-home assignment followed by virtual project discussion and interview. Cultural fit assessment.</li> <li><a href="https://grnh.se/e9ddbe544us">Odeko</a> | Remote; New York, NY; Dublin, IE | Take-home project (2 hours) related to role, follow-up technical interview where you discuss your project implementation (may perform pair-programming session instead of technical interview).</li> <li><a href="https://olist.com">Olist</a> | Curitiba, Brazil | Take-home project and remote or on-site interviews</li> <li><a href="https://www.omadahealth.com/jobs">Omada Health</a> | San Francisco, CA | Take home exercise and/or pair programming session.</li> <li><a href="https://oncue.co">Oncue</a> | San Francisco, CA; Remote | Online coding test on real-world problems (2 hours). Technical discussion with developer team.</li> <li><a href="https://jobs.onemainfinancial.com">OneMain Financial</a> | Chicago, IL; Remote | Take-home exercise and on-site interview/discussion with potential team</li> <li><a href="https://onesignal.com/careers">OneSignal</a> | San Mateo, CA | Intro call with recruiting, second conversation with OneSignal engineer, onsite pairing via screenshare</li> <li><a href="https://onfido.com/jobs">Onfido</a> | London, UK; Lisbon, Portugal | Take-home exercise and on-site interview/discussion with potential team</li> <li><a href="https://ontame.io">Ontame.io</a> | Copenhagen, Denmark | Take home exercise and specific role discussion</li> <li><a href="https://opbeat.com/jobs#seniorbackendengineer">Opbeat</a> | Copenhagen, Denmark | Pairing on a real-world problem</li> <li><a href="https://angel.co/company/openbasecom">Openbase</a> | San Francisco, CA | Take-home exercise on real-world problem &amp; discussion with engineers about exercise</li> <li><a href="https://www.openmindonline.it">Openmind</a> | Monza, Italy | On-site interviews</li> <li><a href="https://optilyz.com/careers">optilyz</a> | Remote | Either take-home or pair programming on open-source code, then pair programming on our actual production code.</li> <li><a href="https://www.optoro.com/open_position_item/?oid=134960">Optoro</a> | Washington, DC | Take home exercise. Review your code onsite.</li> <li><a href="https://www.optum.in/about/careers.html">Optum</a> | India, Hyderabad | Online assessment, followed by technical interview and behavioural check</li> <li><a href="https://ori.co">Ori</a>| London, UK | Phone interview and a takehome project, followed by a two hour meeting with the team</li> <li><a href="https://osism.tech">OSISM</a> | Remote | Three video calls: general introduction, team introduction, contract</li> <li><a href="https://www.ostmodern.co.uk">Ostmodern</a> | London, UK | Take-home exercise &amp; discussion on-site</li> <li><a href="https://careers.outbrain.com/?F1C=Netanya&amp;F2C=&amp;FTXT=">Outbrain</a> | Netanya, Israel | Take-home exercise &amp; discussion</li> <li><a href="https://outlandish.com">Outlandish</a> | London, UK | Take-home exercise, real-world pair programming session, friendly chat with team</li> <li><a href="https://github.com/outlook/jobs">Outlook iOS &amp; Android</a> | San Francisco, CA / New York, NY | Take-home project &amp; online / onsite discussion</li> <li><a href="https://www.nerdery.com/careers">The Nerdery</a> | Minneapolis, MN; Chicago, IL; Phoenix, AZ; Kansas City, KS | Take-home exercise</li> <li><a href="https://boards.greenhouse.io/theoutline">The Outline</a> | New York, NY | Take-home exercise</li> </ul> <h2>P - R</h2> <ul> <li><a href="https://www.pace.car/jobs">PACE Telematics</a> | Karlsruhe, Germany | Culture and mindset check, on-site meet and great, small code challenge to see development style and strategy</li> <li><a href="https://www.paessler.com/company/career/jobs">Paessler AG</a> | Nuremberg, Germany | Pairing with different engineers on a real problem</li> <li><a href="https://pagar.me">Pagar.me</a> | São Paulo, BR | Skype interview, on-site pairing task and-or real world problem solving process / presentation</li> <li><a href="https://pager.com">Pager</a> | New York, NY; Remote | Short phone interview, conversational interviews, take-home exercise &amp; discussion</li> <li><a href="https://pagerduty.com/careers">PagerDuty</a> | San Francisco, CA / Toronto, Canada / Atlanta, GA | Zoom / on-site pair programming and tasks</li> <li><a href="https://tech.palatinategroup.com">Palatinate Tech</a> | London, UK | Hangout/Skype/phone followed by (normally) on-site pairing task</li> <li><a href="https://withpaper.com/careers">Paper</a> | San Francisco, CA | Google Meets technical phone screen, take-home coding assignment, on-site with webapp architecture, team lunch, and culture-add conversations</li> <li><a href="https://parabol.co">Parabol</a> | New York, NY; Los Angeles, CA; Remote | Culture check followed by compensated, <a href="https://github.com/ParabolInc/action/projects">open-source contribution</a> skills evaluation</li> <li><a href="https://parivedasolutions.com">Pariveda Solutions</a> | Dallas, TX / Houston, TX / Atlana, GA / Washington, DC / New York, NY / Chicago, IL / San Francisco, CA / Seattle, WA / Los Angeles, CA | Personality assessment (Predictive Index) and case study. Programming aptitude test (language independent) for college hires.</li> <li><a href="https://passfort.com/about#jobs">PassFort</a> | London, UK | Skype interview, and on-site pairing task</li> <li><a href="https://passiv.com">Passiv</a> | Fredericton, Canada | Zoom interview, take-home coding assignment, standalone bite-size project that delivers some value, small feature development involving team collaboration.</li> <li><a href="https://pathosethos.com/careers/">Pathos Ethos</a> | Durham, NC / Raleigh, NC / Chapel Hill, NC / Remote | 3 conversational interviews (Manager, Team, Founder). No homework. We look for a candidate to be "culture add" instead of "culture fit"</li> <li><a href="https://paws.com/careers">Paws</a> | London, UK | Phone screening, take-home project, on-site pairing/discussion on your solution and meet the team.</li> <li><a href="https://paybase.io">Paybase</a> | London, UK | Phone screening, Take home project, On-site interview for technical and culture fit, Open Q&amp;A session with team</li> <li><a href="https://www.paybyphone.com/careers">PayByPhone</a> | Vancouver, Canada | Remote programming interview, on-site "meet the team"</li> <li><a href="https://peaksware.com">Peaksware Companies (TrainingPeaks, TrainHeroic, MakeMusic)</a> | Boulder, CO; Denver, CO | Phone screen, take home project, remote and on-site interviews for technical and cultural fit</li> <li><a href="https://info.peerstreet.com/careers">PeerStreet</a> | Los Angeles, CA | Phone, take home project &amp; on-site to meet the team</li> <li><a href="https://www.pento.io">Pento</a> | Remote | Quick personal interview, take home project</li> <li><a href="https://permutive.com/careers/">Permutive</a> | London, UK | Phone call; short, relevant take-home coding assignment; on-site pairing, general technical discussion, values &amp; ways of working interview.</li> <li><a href="https://www.persado.com/company/life-at-persado">Persado</a> | New York, NY | Phone screen, take home project, remote meeting with team member to discuss the project, remote meeting with team manager to discuss role and go over statistical concepts relevant to the role</li> <li><a href="https://www.persgroep.nl/werken-bij-it">Persgroep, de</a> | Amsterdam, Netherlands | Tech interview (technical background and experiences) and culture fit, both on-site</li> <li><a href="https://www.withpersona.com/about">Persona</a> | San Francisco, CA | Tech interview (technical background and experiences), pair programming, and culture fit</li> <li><a href="https://pex.com/careers/">Pex</a> | Los Angeles, CA; Remote | 3 sessions: brief phone conversation (30 min); take home assignment (2 hours); on-site or video discussion without any coding (2 hours)</li> <li><a href="https://empleo.pfsgroup.es">pfs</a> | Madrid, Spain; Valencia, Spain; Lisbon, Portugal; CDMX, Mexico; Remote | We adapt each interview according to the candidate and the position. The interviews are open discussions (no quizzes) about real-world problems. 2-3 interviews max, all of them can be done remotely.</li> <li><a href="https://philo.com/jobs">Philo</a> | San Francisco, CA; Cambridge, MA | Initial screen with deep-dive into one of your recent projects (30 mins) ; take-home coding exercise tailored your skills (4 hours); on-site with take-home code review, architecture interview, design interview and "soft skills" interview (4 hours)</li> <li><a href="https://www.phoodster.com">Phoodster</a> | Stockholm, Sweden | Take-home exercise + on-site discussion</li> <li><a href="https://www.pieinsurance.com/culture/careers">Pie Insurance</a> | Denver, CO; Washington, D.C.; Remote | Phone; remote technical screen paired with another engineer; remote multi-round interview to demonstrate basic backend/frontend skills (no bizarre Leetcode questions), behavioral/culture fit, design skills</li> <li><a href="https://pismo.io/pt/">Pismo</a> | Remote; Bristol, UK; Austin, TX; Singapore, Singapore | Initial and quick screening with recruiters from hr department, remote general technical discussion with tech lead and team members, take home assessment (choose between Java and/or Golang), remote pair programming.</li> <li><a href="https://pixiumdigital.com">Pixium Digital</a> | Singapore, Singapore | Remote or on-site interview with few generic / technical questions as well as portfolio review + discussion.</li> <li><a href="https://pilot.notion.site/Plane-Careers-Page-0f9a2b64ddd8470f968335b769de0909">Plane</a> | Remote | Two calls. Introduction one (30m) + verification of communication skills and remote work experience (15m)</li> <li><a href="https://platform.sh">Platform.sh</a> | Remote | Remote Interview, Wide-Ranging discussions on many diverse subjects. Remote interviews with team members.</li> <li><a href="https://platform45.com">Platform45</a> | Johannesburg, South Africa; Cape Town, South Africa | On-site interview, take-home project and culture fit day</li> <li><a href="https://platogo.com/hiring/">Platogo Interactive Entertainment GmbH</a> | Vienna, Austria | Simple online questionnaire, First Interview to get to know each other, Remote developer challenge (take home task), Code review together, Meet the team</li> <li><a href="https://getcatalyst.in/careers">Playlyfe</a> | Bangalore, India | Short personal interview, on-site demonstration of programming in browser devtools followed by discussion about the problem</li> <li><a href="https://www.pleo.io/en/careers">Pleo</a> | Remote; Copenhagen, Denmark; London, UK; Berlin, Germany; Stockholm, Sweden; Madrid, Spain| Intro interview (30m-45m), take home assignment, interview with discussion on the assignment + technical questions with the team (90m) and interview with managers (60m).</li> <li><a href="https://jobs.poki.com">Poki</a> | Amsterdam, The Netherlands | Pair programming on-site w/ two engineers where we focus on teamwork, googling relevant documentation and fixing things together.</li> <li><a href="http://polar.me/company/careers">Polar</a> | Toronto, Canada | Phone interview, followed by 1-2 onsite pair-programming interviews based on their platform</li> <li><a href="https://www.polleverywhere.com/jobs">Poll Everywhere</a> | Remote | Introduction call, 1 hour take home technical assessment, pairing session with Designer and Engineer to enhance technical challenge submission, Meeting with CTO and hiring manager.</li> <li><a href="https://www.popstand.com">Popstand</a> | Los Angeles, CA | Build MVPs for startups</li> <li><a href="http://www.popularpays.com">Popular Pays</a> | Chicago, IL | Phone chat/coffee to determine what will be worked on during a day of pair-programming on a real problem that the candidate thinks best demonstrates their skills.</li> <li><a href="https://posit.co">Posit</a> | Remote | Video calls with recruiter then engineering management, take home project, video call for code review with engineering lead</li> <li><a href="https://pragma.team/talent">Pragmateam</a> | Sydney, Australia | Engineering Consultancy And Delivery - Takehome exercise &amp; discussion</li> <li><a href="https://www.premiumbeat.com/careers">PremiumBeat</a> | Montreal, Canada | Discussion and general, high level questions</li> <li><a href="https://www.primary.com/jobs">Primary</a> | New York, NY / Remote | Phone chat, take home exercise, pair program and discuss onsite.</li> <li><a href="https://www.progressive.com/careers/">Progressive</a> | Mayfield Village, OH / Remote | Recruiter phone screen, followed by 2 one-hour <a href="https://www.progressive.com/careers/how-we-hire/application-next-steps/interviewing/">manager STAR interviews</a> and 1 one-hour <a href="https://www.progressive.com/careers/life/how-to-prepare-for-a-technical-screening/">technical STAR interview</a>.</li> <li><a href="https://www.prokeep.com/careers">Prokeep</a> | Remote | Take-home project, informal chat with managers.</li> <li><a href="https://www.promptworks.com/jobs">PromptWorks</a> | Philadelphia, PA | Take-home project, pair programming, discussion on-site</li> <li><a href="https://www.propertycaptain.ch">PropertyCaptain</a> | Zurich, Switzerland | Take-home project, discussion on-site</li> <li><a href="https://www.proxy.com">Proxy</a> | San Francisco, CA | Phone chat. In-depth discussion about experiences on-site. Occasionally a take home project.</li> <li><a href="https://pusher.com/jobs">Pusher</a> | London, UK | Solve a real-world problem through a design session with our engineers</li> <li><a href="https://pygmalios.com/en">Pygmalios</a> | Bratislava, Slovakia | Take-home project related to business and discussion with our engineers.</li> <li><a href="https://qonto.com/en/careers">Qonto</a> | Paris, France / Berlin, Germany / Milan, Italy / Barcelona, Spain / Belgrade, Serbia / Remote | Take-home project, code review and discussions with our engineers.</li> <li><a href="https://quietlightcom.com/positions-web.php">Quiet Light Communications</a> | Rockford, IL, USA | Discussion, work samples and/or small freelance project</li> <li><a href="http://www.workatquintype.com">Quintype</a> | Bengaluru, India / San Mateo, USA | Take home project, pair programming, discussion on-site</li> <li><a href="https://quizizz.com">Quizizz</a> | Bengaluru, India | Phone chat, real world assignment, discussion w/ developers, pair programming, discussion on-site</li> <li><a href="https://quizlet.com/careers">Quizlet</a> | Remote; San Francisco, CA; New York, NY; London, UK | Preliminary screen followed by role-specific applied exercises where candidates create new projects/apps or make improvements to pre-existing code.</li> <li><a href="https://ragnarson.com">Ragnarson</a> | Lodz, Poland; Remote | Take-home exercise &amp; pair programming session</li> <li><a href="https://www.railscarma.com">Railscarma</a> | Bengaluru, India | Take-home project, code review and discussion on-site</li> <li><a href="https://www.railslove.com">Railslove</a> | Cologne, Germany | Have a coffee in our office, casual chat with us, pair programming on a real project</li> <li><a href="https://www.raisingit.com">Raising IT</a> | London, UK | Coffee with a team member, on-site pair programming and discussion</li> <li><a href="https://ramp.com">Ramp</a> | New York, NY | Phone interview on a basic applied problem, followed by 2-3 onsite programming interviews that test practical day-to-day software skills.</li> <li><a href="https://rapidapi.com/company/careers/">RapidAPI</a> | San Francisco, CA; Berlin, Germany; Tallinn, Estonia | Take home assignment and discussion before/afterwards</li> <li><a href="https://careers.rapptrlabs.com">Rapptr Labs</a> | Jersey City, NJ | Take-home exercise followed by a video interview with 2-3 engineers about domain-specific knowledge and open-ended questions.</li> <li><a href="https://www.rapyuta-robotics.com/pages/jobs.html">Rapyuta Robotics</a> | Bengaluru, India / Tokyo, Japan / Zurich, Switzerland | Take-home assignment related to our ongoing projects, series of technical / experience based interviews, candidate presentation</li> <li><a href="https://rayfeed.com">Rayfeed</a> | Vancouver, Warsaw | Video-call interview followed by a take-home exercise</li> <li><a href="https://razorpay.com/jobs">Razorpay</a> | Bangalore, India | Phone screen, On-site pair programming, and occasionally a take home project.</li> <li><a href="https://reaktor.com/careers">Reaktor</a> | New York, NY; Amsterdam, Netherlands; Helsinki, Finland; Tokyo, Japan | Discussion, work samples from previous projects (work or hobby), take-home exercise if needed for further info</li> <li><a href="https://realync.com/careers">Realync</a> | Chicago, IL / Carmel, IN / Remote | Quick phone interview, then a take home project and finally in person interview (open discussions instead of quizzes - anything technical are real-world problems).</li> <li><a href="https://rebase.fi">Rebase Consulting</a> | Helsinki, Finland / Remote | First round general discussion/introductions, second round technical interview built around a take-home exercise, 2x2 skill/interest matrix go-through and general technical topics based on the candidate's profile.</li> <li><a href="https://red-badger.com/about-us/join-us">Red Badger</a> | London, UK | Phone &amp; Skype interview, take home exercise, On-site interview</li> <li><a href="https://redballoonsecurity.com">Red Balloon Security</a> | New York City, USA | A rather educational week long hacking challenge with a monetary reward upon finding solution. On-site with team members, real job related problems, a few open-ended questions.</li> <li><a href="https://www.redcarpetup.com/jobs">RedCarpet</a> | New Delhi, India | Interview, work sample/take-home project and discussion/code reviews</li> <li><a href="https://www.red-gate.com/our-company/careers/current-opportunities/">Redgate</a> | Cambridge, UK | Simple couple of questions during screening phase (up to 30 min) followed by a second phase with up to two coding exercises (non-CS).</li> <li><a href="https://reducer.co.uk">Reducer</a> | London, UK | Introductions by phone, pair programming on site, then meeting the team.</li> <li><a href="https://www.reflektive.com/careers/">Reflektive</a> | San Francisco, CA; Bengaluru, India | A short take home project/assignment, followed by a couple of technical and non-technical discussions online and offline.</li> <li><a href="https://refty.co">Refty</a> | Paris, France | Introductory video call, soft skills assessment process powered by our own product, on-site discussion, lunch with everyone.</li> <li><a href="https://relabe.com">Relabe</a> | San Juan, PR | First we screen for cultural fit then check for technical proficiency. 2-3 Interviews max in SJ</li> <li><a href="https://remote.com">Remote</a> | Remote | Call with a recruiter (if needed), call with manager, code exercise, call with team.</li> <li><a href="https://render.com/careers">Render</a> | San Francisco, CA; Remote | Phone screen followed by an onsite project based on our day-to-day, real world challenges.</li> <li><a href="https://www.rentify.com/jobs">Rentify</a> | London, UK | Phone call, take home real-world project, on-site pair programming, product discussion</li> <li><a href="https://www.rentomojo.com/about/careers">RentoMojo</a> | Bangalore, India | Short takehome project + phone interview</li> <li><a href="https://repl.it/site/jobs">Repl.it</a> | San Francisco, CA / Remote | Take-home project and discussion, then an on-site project and discussion</li> <li><a href="https://resin.io">Resin.io</a> | Remote | Take home real-world project and a couple of technical and non-technical discussions</li> <li><a href="https://www.resourcify.com">Resourcify</a> | Hamburg, Germany; Remote | Get to know phone call with Engineering Manager and VP of People, pair programming a day-to-day problem with a Lead Engineer, meeting with team members.</li> <li><a href="https://www.respark.co.uk">ReSpark</a> | London, UK | Phone conversation followed by on-site interview w/ task relevant to daily role.</li> <li><a href="https://www.restaurantops.co">RestaurantOps</a> | Scottsdale, AZ | Take Home Project &amp; pair programming session</li> <li><a href="https://retailpulse.ai">Retail Pulse</a> | Bangalore, India | Phone chat, take home exercise, feedback &amp; interview</li> <li><a href="https://reverscore.com">Rever</a> | Guadalajara, Mexico | Take-home project, on-site discussion or via Hangouts.</li> <li><a href="https://www.reviewtrackers.com/careers/">ReviewTrackers</a> | Remote; Chicago, IL | Phone conversation, take home project, virtual interview with project review and live coding, discussion with engineers and product, interview with VP of Engineering</li> <li><a href="https://revlv.net">Revlv</a> | Manila, Philippines | Discussion about developer skills, previous projects and experiences.</li> <li><a href="https://www.rexsoftware.com/careers">Rex Software</a> | Brisbane, Australia | Take home project, feedback + interview</li> <li><a href="https://rizk.com">Rizk.com</a> | Ta' Xbiex, Malta | Take-home assignment, discussion w/ developers</li> <li><a href="https://www.rockerbox.com/careers">Rockerbox</a> | Remote | Phone screen with pair programming. 2 hours of pre-interview prep. 4-hour final interview with situational questions, another pair programming, and presentation and discussion of pre-interview prep outputs.</li> <li><a href="https://rocketalumnisolutions.com">Rocket Alumni Solutions</a> | Remote; Boston, MA | One pair programming session, total 2-3 hours of interviews with leadership.</li> <li><a href="https://about.rocketmiles.com">Rocket Travel</a> | Remote; Chicago, IL; New York, NY | Pair programming, take home project (2-4 hours), 3-4 hour final interview with mix of high level technical, product, and cultural/behavioral sessions.</li> <li><a href="https://www.rockode.com">Rockode</a> | Bangalore, India | Real world assignment, group hack session, discussions</li> <li><a href="https://rosedigital.co">Rose Digital</a> | New York, NY | Phone conversation followed by pair coding components that mirror day to day work, in person discussion about code, take home project if needed for more info</li> <li><a href="https://career.ruangguru.com">Ruangguru</a> | Jakarta, Indonesia / Yogyakarta, Indonesia / Malang, Indonesia / Bandung, Indonesia | Phone screening with technical recruiter --&gt; live coding with an engineer --&gt; panel interview with related engineers (Test Engineers, Frontend Engineers, Backend Engineers, etc) --&gt; final interview with VP of Engineering</li> <li><a href="https://rubygarage.org">RubyGarage</a> | Dnipro, UA | Take-home project, code review and discussion on-site</li> <li><a href="https://www.runtastic.com">Runtastic</a> | Linz, Austria; Vienna, Austria | Video call with recruiting staff, take home project, video call for code review, discussion, questions</li> <li><a href="https://www.rvu.co.uk/careers">RVU</a> | London, UK | Also known as Uswitch / Money.co.uk / Bankrate, small take-home project related to our business area, followed by open book pairing with developers to extend it followed by Q&amp;A session to discuss your experience.</li> </ul> <h2>S - U</h2> <ul> <li><a href="https://www.safebutler.com">SafeButler</a> | San Francisco, CA | Take-home project, then an on-site or remote interview with a review, pair programming, and culture fit discussions</li> <li><a href="https://www.sahaj.ai">Sahaj Software</a> | Bangalore, India; Chennai, India; Pune, India; Melbourne, Australia; London, UK; San Jose, CA | Take home code + Pairing + Discussion</li> <li><a href="https://sailingbyte.com">Sailing Byte</a> | Rumia, Poland | Technical interview, Take-home Task</li> <li><a href="https://sakari.io">Sakari</a> | San Francisco, CA | Phone screen, programming assignment related to Sakari business (communications) with pair programming element, team and culture fit</li> <li><a href="https://www.salecycle.com/careers">SaleCycle</a> | Durham, UK; Brighton, UK | Phone screen, face-to-face discussion with developers, optional pairing session and discussion</li> <li><a href="https://www.salesfive.com/jobs">Salesfive</a> | Munich, Germany; Berlin, Germany | Phone screen, Phone Interview with developer to discuss code and challenges, Take home challenge if necessary. Onsite visit</li> <li><a href="https://salesloft.com">Salesloft</a> | Atlanta, GA | Phone interview, take-home project, cultural-fit interview, technical interview where candidate modifies take-home project</li> <li><a href="https://sc5.io/careers">SC5 Online</a> | Helsinki, Finland; Jyväskylä, Finland | Take-home assignment (intentionally short, takes at most an hour to complete), discussion and review assignments</li> <li><a href="https://scapic.com/careers/">Scapic</a> | Bangalore, India | Short takehome project + phone interview</li> <li><a href="https://www.schibsted.pl">Schibsted Tech Polska</a> | Gdańsk, Poland | Phone screen, take-home exercise, code review and technical discussion</li> <li><a href="https://www.searchapi.io">SearchApi</a> | Remote | Culture interview, take-home coding challenge and technical interview</li> <li><a href="https://boards.greenhouse.io/seesaw">Seesaw</a> | Remote | Technical challenges based on real world problems</li> <li><a href="https://segment.com">Segment</a> | San Francisco, CA; Vancouver, Canada | Phone interview, take-home assignment (small fun project), onsite interview (technical + core/culture) -&gt; intended to set you up for success</li> <li><a href="https://www.seitenbau.com/karriere/aktuelle-jobangebote">SEITENBAU</a> | Konstanz, Germany | Peer recruiting; conversational interviews (video call or face-to-face) with other developers and HR focussing on motivation, attitude, skills; possibly 2nd face-to-face interview meeting with additional team members</li> <li><a href="https://www.sendyne.com">Sendyne</a> | New York City, USA | Phone screen, on-site with team members. Review of past experiences + questions regardnig real problems.</li> <li><a href="https://sensortower.com/jobs">Sensor Tower</a> | San Francisco, CA | Phone call, on-site interview including discussion about projects/skills and a short real-world programming challenge</li> <li><a href="https://sensu.io">Sensu</a> | Remote | Video call, choice of pairing session or take home programming assignment</li> <li><a href="http://sentisis.com/trabaja-con-nosotros">Séntisis</a> | Madrid, Spain; Mexico City, Mexico; Bogotá, Colombia; Santiago de Chile, Chile; Remote | Phone call, on-site/remote interview including discussion about projects/skills and a short real-world pair-programming exercise</li> <li><a href="https://serpapi.com">SerpApi</a> | Austin, TX / Remote | Skype core value and culture interview, review of contributions on GitHub or other platforms, and take-home project if online contributions are not enough.</li> <li><a href="https://sertiscorp.com">Sertis</a> | Bangkok, Thailand | Technical &amp; culture fit interview, take-home project, follow-up discussion</li> <li><a href="https://setapp.pl/career">Setapp Sp. z o.o.</a> | Poznan, Poland | Online/face-to-face discussion with developers about everyday programming dilemmas &amp; reviewing your own code</li> <li><a href="https://www.sharoo.com/jobs/">Sharoo</a> | Zurich, Switzerland; Remote | Soft skills interview, take home project, technical interview based on take home project.</li> <li><a href="https://www.shipandco.com/en/">Ship&amp;co</a> | Remote / Kyoto, Japan | Casual non-technical interview with the CEO. One hour technical discussion with lead developer about software development, skills and past experience. Three months paid trial period.</li> <li><a href="https://getshogun.com">Shogun</a> | Remote | Discussion about software development and past experience, code samples, paid trial period.</li> <li><a href="https://shortcut.com/careers">Shortcut</a> | New York, NY &amp; Remote | Phone interview, followed by onsite discussions and pair programming</li> <li><a href="https://blog.showmax.com/engineering-careers">Showmax</a> | Beroun, Czechia; Prague, Czechia; Remote | Take home project, then a pair-programming and discussion onsite / Hangouts round.</li> <li><a href="https://shuttlecloud.com/jobs">ShuttleCloud</a> | Chicago, IL / Madrid, Spain | Take-home project, then on-site code walk through and a real world problem discussion.</li> <li><a href="https://www.signal-ai.com/about-us/careers">Signal AI</a> | London, UK | Phone screen; take home code exercise; on-site code extension with pair programming and discussion</li> <li><a href="https://signoz.io">SigNoz</a> | Bangalore, India; Remote | Intro round to explore interests, 1-2 Technical interviews that resembles a problem SigNoz solves for, then product round to discuss on industry and problems which SigNoz is solving.</li> <li><a href="https://www.simpli.fi/about-us/careers">Simpli.fi</a> | Fort Worth, TX, USA | Takehome code challenge and review</li> <li><a href="https://www.welcometothejungle.co/companies/simplifield/jobs">SimpliField</a> | Lille, France | Interview with the CTO and the developer team</li> <li><a href="https://www.simplybusiness.co.uk/about-us/careers/tech">Simply Business</a> | London, UK / Remote | Three stage, one day interview with quick feedback. One of the stages is 1.5h pair-programming session, where interviewee is assigned a task and interviewing developer plays role of Product Owner.</li> <li><a href="https://sixfold.com/careers">Sixfold</a> | Tallinn, Estonia; Tartu, Estonia; Vienna, Austria | 3-4 stages: 1st interview with HR and an engineering lead, 2nd a test-task to solve at home, 3rd technical discussion &amp; feedback on the test-task, 4th optional meeting with further engineering leads to find best fitting team.</li> <li><a href="https://www.sixt.jobs/en">Sixt</a> | Munich, Germany | 4 stages: 1st HR, 2nd take-home project, 3rd follow-up discussion, 4th on-site interview with team plus HR</li> <li><a href="https://skylight.digital/join/">Skylight Digital</a> | Remote | Screening call to determine general interest, 1.5 hour pair programming exercise based on realistic scenario, EQ interview.</li> <li><a href="https://www.skyrisepro.com">Skyrise Pro</a> | Chicago, IL | Take-home coding project, on-site interview including coding enhancements to the take-home project, offsite group activity</li> <li><a href="https://slack.com/jobs">Slack</a> | San Francisco, CA | Call with recruiter, 1 week take-home project, call with hiring manager, on-site interview covering high-level system design, best software development practices and culture-fit</li> <li><a href="https://www.small-improvements.com/careers">Small Improvements</a> | Berlin, Germany</li> <li><a href="https://smartia.tech">Smartia</a> | Bristol, UK; Remote | Take-home real world project to complete, call with head of engineering, culture fit with CEO and COO</li> <li><a href="https://www.smartly.io/developer">Smartly.io</a> | Helsinki, Finland | Discussion with recruiter and developers and a pair coding exercises</li> <li><a href="https://smile.io/careers">Smile.io</a> | Kitchener, Canada / Remote | Take-home real world project, interviews with HR and engineering team</li> <li><a href="https://snyk.io/jobs">Snyk</a> | London, UK; Tel Aviv, Israel | Take home task, then a pair coding on it</li> <li><a href="https://www.socialtables.com">Social Tables</a> | Washington, DC | Chat about skills and past experiences + bring in a code sample from previous work or side project to discuss</li> <li><a href="https://softwear.nl/vacatures">Softwear</a> | Amsterdam, Netherlands | Writing software for the fashion industry – remotely – in an international team.</li> <li><a href="https://sogilis.com">Sogilis</a> | Grenoble, France | Discussion about interests, practices, and motivation. Presentation/code review/pair programming on a personal or professional project.</li> <li><a href="https://about.sourcegraph.com/jobs">Sourcegraph</a> | San Francisco, CA &amp; Remote | Tailored to the candidate, often consists of take-home work, discussion of real-world eng challenges, and product familiarity.</li> <li><a href="https://jobs.splice.com">Splice</a> | New York, NY; Remote | Call with recruiter, 4 hr take-home project, video interview w two engs on take-home exercise, video call with hiring manager, video call w VPE &amp; principal eng to talk about architecture.</li> <li><a href="https://careers.splyt.com">Splyt</a> | London, UK; Singapore, Singapore; Kuala Lumpur, Malaysia; Tokyo, Japan | Initial screening with recruiters from hr department, take home assessment (React + Node.js), followed by remote/on-site interviews with hiring manager and CTO about the assessment, system design/architecture, and cultural fit.</li> <li><a href="https://www.spreedly.com/jobs">Spreedly</a> | Durham, NC | Take-home project <a href="https://engineering.spreedly.com/blog/programming-puzzles-are-not-the-answer-how-spreedly-does-work-samples.html">related to business</a></li> <li><a href="https://www.natureasia.com">Springer Nature (Asia)</a> | Tokyo, Japan | Discussion &amp; Pair programming session</li> <li><a href="https://sndigital.springernature.com">Springer Nature Digital</a> | Berlin, Germany; London, UK | Phone chat; take-home project; then a pairing session based on the project, a technical chat, and a chat with non-technical team members</li> <li><a href="https://www.spronq.nl">SpronQ</a> | Amsterdam, Netherlands | Takehome coding challenge</li> <li><a href="https://www.squadcast.com/careers">Squadcast</a> | Bangalore,India | Phone screening, technical interview, Founder Interview.</li> <li><a href="https://squareup.com/careers">Square</a> | San Francisco, CA | Pair programming in a work environment</li> <li><a href="https://square-sense.com">Square Sense</a> | Paris, France | Short phone screen to confirm the interest, take-home project (similar to some of our existing software), a pair-programming interview where we will make some changes to the same project</li> <li><a href="https://srijan.net">Srijan Technologies</a> | Delhi, India | General high level questions/discussion followed by Pair programming OR take-home coding challenge</li> <li><a href="https://stacc.com">Stacc</a> | Norway, Bergen | Open-Ended Take Home Assignment (UX and/or Coding in your preferred language) followed by a high-level discussion and reflection upon the process with senior engineers.</li> <li><a href="https://stackgenie.io">Stackgenie</a> | London, UK / New York, US / Trivandrum, India / Remote | Real-world take-home project, video interviews with HR and the engineering team.</li> <li><a href="https://stardog.com">Stardog Union</a> | Washington, DC; Remote | Technical discussion and general interest conversations</li> <li><a href="http://startdee.com">StartDee</a> | Bangkok, Thailand | Phone screening with technical recruiter --&gt; live coding with an engineer --&gt; panel interview with related engineers (Test Engineers, Frontend Engineers, Backend Engineers, etc) --&gt; final interview with VP of Engineering</li> <li><a href="https://www.stashaway.sg/careers">StashAway</a> | Singapore, Malaysia &amp; Remote | Take Home Technical Task (broken down to frontend or backend focused), Database Architecture Case Design round, Peer-to-Peer (P2P) team round, and Management Interview</li> <li><a href="https://statflo.com">Statflo</a> | Toronto, Canada | Phone screening, take home project, on-site interview discussing the take home project, high-level architectural brainstorm, and questions about career and team work.</li> <li><a href="https://www.store2be.com/en/pages/jobs">store2be</a> | Berlin, Germany | Skype/on-site interview, take-home project</li> <li><a href="https://www.stormx.io/about#jobs">Storm</a> | Seattle, WA; Remote | Phone/skype screen --&gt; Take-home coding assignment --&gt; on-site/skype interview loop to discuss assignment; meet-and-greet with other teams --&gt; +1/-1 based on team consensus</li> <li><a href="https://jobs.storytel.com/departments/tech">Storytel</a> | Stockholm, Sweden; Lund, Sweden; Karlstad, Sweden; Umeå, Sweden; Copenhagen, Denmark | Our process has few stages: a social interview with HR and 1-2 future teammates; a small take-home project followed by a technical discussion with 2-3 future colleagues. All stages can be in-person in one of our offices or via Google Meet</li> <li><a href="https://www.stridenyc.com">Stride Consulting</a> | New York, NY / Chicago, IL | Phone Screen, Agile and Technical Overview, a Pairing session, and architecture interview on previous experience.</li> <li><a href="https://structura.bio">Structura Biotechnology</a> | Toronto, Canada | Phone screening, take-home coding challenge, on-site review and discussion about past experience, and high-level architectural brainstorm</li> <li><a href="https://strv.com/careers">STRV</a> | Prague, Czech Republic; Brno, Czech Republic; Remote | A social interview with a recruiter + take-home coding challenge followed by a technical interview session discussing your approach in solving the take-home assignment + a culture-fit interview with the head of engineering.</li> <li><a href="https://www.stylabs.in">STYLABS</a> | Mumbai, India | Phone Screen, Take-home project and discussion on-site</li> <li><a href="https://verticalchange.com/job_posts">Subvertical (VerticalChange)</a> | Remote | Phone screening, live pair programming &amp; personal project code review</li> <li><a href="https://sulvo.com/careers">Sulvo</a> | New York, NY / Remote | Interview over video call for cultural fit first, if you pass we proceed with technical interview that doesn't include coding games or challenges</li> <li><a href="https://careers.summitto.com">Summitto</a> | Amsterdam, Netherlands | take-home coding challenge and on-site interview</li> <li><a href="https://www.sumup.com/careers/">SumUp</a> | London, UK | Five-stages interview process. The first stage is with HR. The second stage is with the Engineering manager - discussion about general engineering knowledge and past projects. The third stage is take-home assignment. The fourth stage is a discussion of the take-home assignment solution with two engineers. The fifth stage is a behavioural interview structured around company values.</li> <li><a href="https://www.superawesome.com">SuperAwesome</a> | London, UK | Short recruiter phone screen, take-home exercise, follow up system design and cultural interview focused on your past experience.</li> <li><a href="https://superplayer.fm">Superplayer</a> | Porto Alegre, Brazil | Skype/On-site interview, take-home project and interview with CTO and CEO</li> <li><a href="https://surglogs.com/careers/slovakia/">Surglogs</a> | Remote | (Europe timezone) Phone screen, take-home assignment with a follow-up call, or live coding focused on building simple real-world scenarios (based on your preference), culture-fit call with team and CTO.</li> <li><a href="https://surveysparrow.com/careers">SurveySparrow</a> | Kochi, India | Skype interview, take home project and code review, interview with CTO and CEO</li> <li><a href="https://www.svix.com">Svix</a> | Remote | Take home project, an interview to discuss the project, and a cultural fit interview.</li> <li><a href="https://svti.svt.se">SVTi (Sveriges Television)</a> | Stockholm, Sweden | On-site interview, take-home project, follow up interview where you walk through how you chose to solve the task.</li> <li><a href="https://sweetiq.com/about/careers">SweetIQ</a> | Montreal, Canada | Discussion and general, high level questions</li> <li><a href="https://www.swiftly.com/about/careers">Swiftly</a> | Seattle, WA; San Francisco, CA | Take-home coding project, design principles discussions, collaborative problem solving</li> <li><a href="https://www.swisscom.ch/en/about/career.html">Swisscom</a> | Rotterdam, The Netherlands | A mix of behavioural, technical and cultural interview, take-home project, project review with engineers from different teams and cultural interview with staff members.</li> <li><a href="https://www.symphonycommerce.com/careers">Symphony Commerce</a> | San Francisco, CA / Remote | Take-home project (phone), design discussion, review and critique <em>our</em> code, debugging questions</li> <li><a href="https://www.symplicity.com/about/join-us">Symplicity</a> | Arlington, VA | Take-home project and code review in-person</li> <li><a href="https://sysgarage.com">SysGarage</a> | Buenos Aires, Argentina | Take-home project and real world pair programming</li> <li><a href="https://www.tablecheck.com/en/company/jobs/">TableCheck</a> | Tokyo, Japan | Show us your code! Brief call then take-home project or pairing for those without code.</li> <li><a href="https://tailorbrands.com/jobs">Tailor Brands</a> | Tel Aviv-Yafo, Israel | Discuss knowledge and interests, explore previous work experience, during the technical interview we discuss real-life problems.</li> <li><a href="https://tails.com/careers">tails.com</a> | Richmond (London), UK | Live pair programming or take home project with review</li> <li><a href="https://takehomes.com">Take Homes</a> | San Francisco, CA &amp; New York, NY | Take-home project based on a real-world problem, administered on their own platform, followed by a pair programming session, also on their platform, which builds on the initial project</li> <li><a href="https://careers.take2games.com">Take-Two Interactive</a> | Bengaluru, India; Vancouver, Canada; London, UK; Singapore, Singapore; CA, NY, WA: United States | Data Engineering, Recruiter screening, followed by 1 round of fitment discussion, followed by a take home assignment(similar to actual work), followed by 1 round involving assignment solution discussion, programming language specific questions, and other role specific technical questions, followed by hiring manager discussion.</li> <li><a href="https://careers.takeaway.com">takeaway.com</a> | Enschede, Netherlands &amp; Berlin, Germany | Discussion and general, high level questions</li> <li><a href="https://www.madeintandem.com">Tandem</a> | Chicago, IL; San Francisco, CA | Introductory phone screen, take-home project, take-home project phone review, a few hour-long pairing sessions on real projects.</li> <li><a href="https://tanookilabs.com">Tanooki Labs</a> | New York, NY | Paid half-day take home project with followup review and discussion</li> <li><a href="https://tara.ai/about/careers">Tara AI</a> | San Jose, CA | On-site interview with a deep dive into appropriate technology and our problem space. The same sort of problem solving you would do with peers after a standup</li> <li><a href="https://www.tattoodo.com">Tattoodo</a> | Copenhagen, Denmark | Takehome exercise</li> <li><a href="https://www.taxdoo.com/#/jobs/">Taxdoo</a> | Hamburg, Germany | On-site interview, little takehome exercise, followup review/interview</li> <li><a href="https://www.teamwork.com">Teamwork.com</a> | Remote; Cork, Ireland; Belfast, UK; Wilmington, USA | Initial conversation, remote values interview, takehome exercise, followup review/interview</li> <li><a href="https://tenthousandcoffees.com">Ten Thousand Coffees</a> | Toronto, Canada | Take home project, then explain how you solved the project</li> <li><a href="https://www.teraki.com">Teraki</a> | Berlin, Germany | Pair programming exercise, 45min to 3h according to seniority and role.</li> <li><a href="https://engineering.tes.com/recruitment/">Tes</a> | Remote; London, UK | Remote pair programming session on React/Node kata with small takehome exercise as prep. Remote interview with senior engineers about previous experience, technical knowledge and interests.</li> <li><a href="https://www.tesco.com">Tesco PLC</a> | London, United Kingdom | Pair programming and casual hypothetical system design discussion</li> <li><a href="https://testdouble.com/careers">Test Double</a> | Remote | Initial conversation, Consulting interview, Technical interview, Pair programming, Takehome exercise.</li> <li><a href="https://textio.com/careers/?utm_source=github&amp;utm_medium=forum&amp;utm_campaign=textio-careers-engineering&amp;utm_content=poteto-hiring-without-whiteboards">Textio</a> | Seattle, WA | Initial screen to discuss experience and interest in a role at Textio; then a take-home programming task is discussed during a 1-hour tech screen (on-site or remote); finally a larger take-home project, simulating real work, is discussed during an on-site presentation plus 1-1s; <a href="https://textio.ai/how-we-hire-a74cdbadd1e8">How we hire</a></li> <li><a href="https://thebookofeveryone.workable.com">The Book of Everyone</a> | Barcelona, Spain | Quick interview, meet the team, pairing with developers on your own project</li> <li><a href="https://lego.com">The LEGO Group</a> | Billund, Denmark; Copenhagen, Denmark; Enfield, USA; London, UK | First meeting to discuss interests, the team, and general questions. Next take-home case study/project, followed by another meeting discussion the high level solution with focus on the process and thoughts behind the solution.</li> <li><a href="https://www.thezebra.com/about/careers/">The Zebra</a> | Austin, TX | Take-home coding challenge with in-person review and pair programming.</li> <li><a href="https://www.thinkmill.com.au">Thinkmill</a> | Sydney, Australia | Initial meet and greet interview with Thinkmillers from the relevant team, take home assignment followed by tech review on a followup interview.</li> <li><a href="https://www.thinslices.com">Thinslices</a> | Iasi, Romania | Takehome exercise &amp; in person pair programming on a simple Kata.</li> <li><a href="https://thoughtbot.com/jobs">thoughtbot</a> | San Francisco, CA; London, UK | <a href="https://thoughtbot.com/playbook/our-company/hiring#interviewing">Our interview process</a></li> <li><a href="https://www.thoughtworks.com/careers">ThoughtWorks</a> | San Francisco, CA | Interviews with ThoughtWorkers of diverse backgrounds and roles; take home assignment followed by in person pairing session.</li> <li><a href="https://www.thoughtworks.com/careers/singapore">ThoughtWorks Singapore</a> | Singapore, Singapore | Interviews with ThoughtWorkers of diverse backgrounds and roles; Simple, live paired coding exercise in language of choice focused on clean code, not speed. Followed by refactoring paired interview, and technical discussion on modelling and system design, tech depth &amp; breadth and team leading skills (if applicable).</li> <li><a href="https://www.thread.com/jobs">Thread</a> | London, UK | Take home test, real world architecture design, real world pair programming.</li> <li><a href="https://www.threatspike.com">ThreatSpike Labs</a> | London, UK | Take home computing and security related challenges to be completed over a week.</li> <li><a href="https://www.tilde.io">Tilde</a> | Portland, OR | Pair programming sessions with each member of the team, working on problems similar to daily work.</li> <li><a href="https://www.timbuktutravel.com">Timbuktu</a> | Cape Town, South Africa | On site interview and pair programming exercise</li> <li><a href="https://tipalti.com">Tipalti</a> | Glil-Yam, Israel | Real-world design and coding challenges</li> <li><a href="https://titanium.codes">Titanium</a> | Moldova, Chisinau | High level review of public activity on GitHub/BitBucket/Gitlab (if applicable) and screening via phone, On-site technical &amp; Team fit interview, Formal "Meet the Team" meeting</li> <li><a href="https://toggl.com/jobs">Toggl</a> | Remote / Tallinn, Estonia | Online test on basic programming skills, followed by interview (typically includes get-to-know questions and technical skill testing). Depending on the team, there may be a take-home or live coding assignment. <strong>Paid test week</strong> to work with the team on actual bugs/features.</li> <li><a href="https://www.tooploox.com/careers">Tooploox</a> | Warsaw, Poland; Wroclaw, Poland; Gdansk, Poland; Remote | Team fit interview and then take-home project. Next on-site or remote interview consisting of discussion and live coding based on the delivered code. Focusing on high level questions, architecture and design decisions.</li> <li><a href="https://toowoxx.de/index.php/karriere/">Toowoxx</a> | Deisenhausen, Germany &amp; Ulm, Germany | Short interview with general questions, on-site programming challenge, code review of result</li> <li><a href="https://tophat.com/company/work-with-us/">Top Hat</a> | Remote / Toronto, Canada | Short coding challenge inspired from the day-to-day problem space followed by a longer frontend or backend pairing design and implementation exercise</li> <li><a href="https://jobs.jointorii.co">Torii</a> | Raanana, Israel | Take-home fun full-stack-app exercise followed by an on-site review</li> <li><a href="http://toucantoco.com/fr/team#jobs">Toucan Toco</a> | Paris, France | Pair-programming and TDD</li> <li><a href="https://gotouche.com">Touché</a> | Singapore, Singapore; Barcelona, Spain | Skype / Phone / on-site interview, take-home project, technical interview to discuss the project, team interview.</li> <li><a href="https://trademark.vision">TrademarkVision</a> | Brisbane, Australia | On site interview and quick take-home exercise</li> <li><a href="https://trainheroic.com/careers/">TrainHeroic</a> | Boulder, CO; Denver, CO | Phone screen, take home project, remote and on-site interviews for technical and cultural fit</li> <li><a href="https://www.trainingpeaks.com/careers.html">TrainingPeaks</a> | Boulder, CO; Denver, CO | Phone screen, take home project, remote and on-site interviews for technical and cultural fit</li> <li><a href="https://www.transparentclassroom.com">Transparent Classroom</a> | Seattle, WA; Remote | Phone screen, 1 hr pairing on toy problem, 4 hr pairing on real code, full-day paid stage</li> <li><a href="https://trendency.hu">Trendency</a> | Budapest, Hungary | Technical interview with a lead developer discussing past experience and tech related to the job, then culture fit/add interview with the CTO. Max 1 hour long sessions, both can be done via video call or on-site with friendly atmosphere</li> <li><a href="http://www.tripstack.com/company/careers/">TripStack</a> | Toronto, Canada | Take-home assignment, followed up by a face to face code walk through</li> <li><a href="https://www.trivago.com">Trivago</a> | Düsseldorf, Germany | Case Study, Skype Interview, On site Interview with some code review exercises</li> <li><a href="https://boards.greenhouse.io/trov">Trōv</a> | Remote | Take-home project with followup interview from actual prospective teammates</li> <li><a href="https://truefit.io/about/">Truefit</a> | Pittsburgh, PA | Phone screen, Take-home project, In-person interview with the team that you would join</li> <li><a href="https://www.truora.com">Truora</a> | Bogotá, Colombia; Cali, Colombia; Remote | Take-home project, followed by phone interview with tech leads to discuss the project.</li> <li><a href="https://truss.works/jobs">Truss</a> | San Francisco, CA; Remote | Phone screen/ Take-home project that resembles a problem Truss has seen many times before / Followup interview about the project / Closing Interview, all interviews done remotely</li> <li><a href="https://www.tunein.com">TuneIn</a> | San Fransisco, CA | High level screening over the phone or on-site, take home project, code review and discussion</li> <li><a href="https://www.twistlock.com">Twistlock</a> | Tel Aviv, Israel | Takehome</li> <li><a href="https://typito.com/go">Typito</a> | Bangalore , India | Take home assignment project with options for focus in frontend or backend work. First interview round based on the project submitted, may require to do some edits or add further feature based on discussion , live during interview. Second round mostly specific to overall system engineering and discussion regarding solutions to common backend/frontend engineering problems.</li> <li><a href="https://uberall.com/en/careers">uberall</a> | Berlin, Germany | 30-min coding on-site, then a trial day</li> <li><a href="https://ubots.com.br">Ubots</a> | Porto Alegre, Brazil | Skype/On-site interview, take-home project, technical interview</li> <li><a href="https://unbounce.com">Unbounce</a> | Vancouver, BC | Phone screen, take-home project, project discussion, technical interview</li> <li><a href="https://unboxed.co">Unboxed</a> | London, UK | Take home feature requests, pairing with developers to extend solution, team-fit interviews, chat with a director</li> <li><a href="https://www.unearthlabs.com/careers">Unearth</a> | Seattle, WA | Take home project, team-fit interviews, technical discussion</li> <li><a href="https://unito.io/careers/">Unito</a> | Montreal, Canada | Team-fit interviews, technical discussion, paid take home project paired with developers.</li> <li><a href="https://www.untappd.com">Untappd</a> | Wilmington, NC; New York, NY; Los Angeles, CA | Review portfolio - What projects have you worked on? + personality assessment, + interview</li> <li><a href="https://www.updater.com/jobs/openings">Updater</a> | New York, NY | Begin-at-home assignment highly relevant to role, presented and discussed during on-site.</li> <li><a href="http://uprise.se">Uprise</a> | Uppsala, Sweden | Take-home assignment, code review and discussion on-site</li> <li><a href="https://www.upstatement.com/jobs/">Upstatement</a> | Boston, MA; New York, NY; Remote | Phone screen, take home project relevant to our work, first round interview to discuss background and take home implementation, second round interview to meet more employees and share some of your and our recent work.</li> <li><a href="https://www.upwave.com/careers">Upwave</a> | San Francisco, CA; Remote | Intro call, take home project, live take home project review, application / system design conversation, behavioral interview, offer!</li> <li><a href="https://www.urbdyn.com/careers">Urban Dynamics</a> | Knoxville, TN; Vilnius, Lithuania; Remote | Phone screen, take home project (<a href="https://github.com/urbdyn/coding_exercises">exercises publicly available</a>), and then interview with team.</li> <li><a href="https://www.urbanmassage.com/jobs">Urban Massage</a> | London, UK | Project done at home, in-person walk through. Meeting the team is an integral part.</li> <li><a href="https://www.usertesting.com/about-us/jobs">UserTesting</a> | Atlanta, GA; San Francisco, CA; Mountain View, CA | Initial interview, pair programming, and offer</li> </ul> <h2>V - X</h2> <ul> <li><a href="https://www.v7labs.com/careers">V7</a> | London, UK; Remote | Initial screen by Talent team, first technical screen (application / system design), take-home assignment and follow-up review with extra application / system design conversation</li> <li><a href="https://www.valassis.com/digital-advertising">Valassis Digital</a> | Seattle, WA; San Francisco, CA; Lansing, MI; Hamburg, Germany | Phone screen, on-site interview with group, paired whiteboard problem solving and discussion, take-home project and follow-up review</li> <li><a href="https://www.valuemotive.com/career">Valuemotive</a> | Helsinki, Finland | Code examples from previous projects (work or hobby) or take-home exercise</li> <li><a href="https://www.vance.tech/careers">Vance</a> | Bangalore, India | A take-home exercise followed by two rounds of interviews: the first with a team member focusing on technical skills and practical problem-solving, and the second with the Head of Engineering, also centered on technical expertise and real-world challenges.</li> <li><a href="https://www.varsitytutors.com">Varsity Tutors</a> | Remote | Take home assignment, presentation of assignment, live code review with team. Advanced / high-level chat with team based on skillset and role.</li> <li><a href="https://vayu.com.au">Vayu Technology</a> | Sydney, Australia; Kathmandu, Nepal | Short interview, general programming questions and short take home challenge.</li> <li><a href="https://careers.venasolutions.com">Vena Solutions</a> | Toronto, Canada | Phone screen, on-site pair-programming and code-review exercise on a real-world problem</li> <li><a href="https://www.venminder.com">Venminder, Inc.</a> | Elizabethtown, KY; Louisville, KY | Initial phone screen to explain position. If candidate interested they get a take home assignment followed by a non-scripted in-person interview with team members to judge personality fit.</li> <li><a href="https://verloop.io">Verloop</a> | Bengaluru, India | A take home programming exercise and technical discussion</li> <li><a href="https://vernacular.ai">Vernacular.ai</a> | Bangalore, India | Phone screen, Research Paper Discussion (ML Role), Code review/Open-source code navigation/on-screen Pair programming, and discussion with CTO/CEO.</li> <li><a href="https://verve.co/careers">Verve</a> | London, UK | An intentionally short, take home exercise that mirrors real project work and incorporates code review elements</li> <li><a href="https://verveindustrial.com/why-verve/careers">Verve Industrial Protection</a> | Madison, WI / Remote | Phone screen, project discussion and tooling experience overview in panel interview with team, practical shared-editor coding problem and relevant architectural challenge in hands-on interview</li> <li><a href="https://careers.vingle.net">Vingle</a> | Seoul, Korea | Written interview, takehome project, in-person, conversational code review and interviews with engineers and engineering managers</li> <li><a href="https://www.vinta.com.br/careers/">Vinta Software</a> | Recife, Brazil | Culture fit interview, architectural challenge, take home project, and pairing over work sample</li> <li><a href="https://virtual7.de/de/karriere">virtual7</a> | Kalrsruhe, Germany | Phone interview and on-site interview based on personal experience.</li> <li><a href="https://www.vhslab.com">Virtually Human</a> | Remote | Take home assignment, Short interview around the assignment and past experience.</li> <li><a href="https://www.e-conomic.dk/om/job">Visma e-conomic</a> | Copenhagen, Denmark | Take home assignment, assignment presentation and discussion</li> <li><a href="https://vitalitysouth.com">Vitality South</a> | Tupelo, MS | Take home project, code review, and in-person discussion</li> <li><a href="https://voltra.co">Voltra Co.</a> | Amsterdam, Netherlands / New York, NY / Remote | Show us your github account, tell us what you know. Let's pair on an OSS PR!</li> <li><a href="https://https//vsx.net/jobs">VSX</a> | Dresden, Germany | On-site interview, home coding challenge, presentation/discussion of proposed solutions</li> <li><a href="http://lab.vtex.com/careers">VTEX</a> | Rio de Janeiro, Brazil | Take-home project, Skype interview and then in-person talk.</li> <li><a href="https://buildingvts.com">VTS</a> | New York City, New York | Technical Phone Screen, Pair programming on-site &amp; in-person talks with multiple engineers</li> <li><a href="https://apply.workable.com/wallapop/">Wallapop</a> | Barcelona, Spain | Intro call, technical take-home project OR tech repository you feel proud that highlights your skills for the job, practical interview and finally a competency interview</li> <li><a href="https://waymark.com/jobs">Waymark</a> | Detroit, MI | Technical phone screen, take-home project, going over the project in person, follow up day in the office</li> <li><a href="https://www.wealthsimple.com/work-with-us">Wealthsimple</a> | Toronto, Canada | Pair programming on a problem similar to daily work, discussion of system design</li> <li><a href="http://www.wearehive.co.uk">WeAreHive</a> | London, UK | Just walk us through your best code or we give you a small real-world exercise to do at home.</li> <li><a href="https://webantic.co.uk/careers">Webantic</a> | Manchester, UK | Basic TNA self-assessment and real-world problem-solving</li> <li><a href="https://webflow.com">Webflow</a> | San Francisco, CA &amp; Remote | Short take-home challenge, followed by a paid 3-5 day freelance contract project</li> <li><a href="https://weedmaps.com/careers">Weedmaps</a> | Irvine, CA; Denver, CO; Tucson, AZ; Madrid, Spain; Remote | Phone screen, Group interview, and possible code review</li> <li><a href="https://www.wellsfargojobs.com/en/university-programs/undergraduate-programs/">Wells Fargo (Technology Program)</a> | San Francisco, CA; Charlotte, NC; Des Moines, IA; Minneapolis, MN; Phoenix, AZ; St. Louis, MO | One round , Behavioral + One simple System Design Question + Questions for your resume</li> <li><a href="https://wemake.services">wemake.services</a> | Remote | Short unpaid take-home challenge, code review, portfolio discussion</li> <li><a href="https://wemod.com">WeMod</a> | Remote | Take-home &amp; presentation / code review, resume discussion</li> <li><a href="https://www.wend.nl">Wend</a> | Amsterdam, Netherlands | Face to face interview followed by a take-home assignment</li> <li><a href="https://www.weployapp.com/join-our-team/">Weploy</a> | Melbourne, Australia; Sydney, Australia | Phase 1: Face to face interview to get to know the candidate. Phase 2: Problem solving session that involves designing a solution to a real-world problem followed by 1/2 day of pairing with a senior dev on implementing the proposed solution.</li> <li><a href="https://wetransfer.com/jobs">WeTransfer</a> | Amsterdam, Netherlands | Culture fit and fundamentals chat, skills interview - no whiteboarding! - and take-home project, communication and collaboration interview, meet with the VP of Engineering</li> <li><a href="https://wheely.com/en/careers">Wheely</a> | Moscow, Russia | Get to know each other in under 30 minutes on-site or via Skype, take-home challenge, on-site review and interview with the team.</li> <li><a href="https://wikimediafoundation.org/about/jobs/">Wikimedia Foundation</a> | Remote | Cultural fit interview, about one hour of discussing possible solutions for real problems the team you are applying to could face. Not right or wrong answers, more of a brainstorming with two engineers who will evaluate how your problem solving workflow works.</li> <li><a href="https://windy.com">Windy.com</a> | Prague, Czechia | Talk and write small program on a computer</li> <li><a href="https://wirecardbrasil.workable.com">Wirecard Brasil</a> | São Paulo, Brazil | Phone or on-site Cultural Fit interview, take-home coding challenge, code review and discussing in-person.</li> <li><a href="https://wiredcraft.com">Wiredcraft</a> | Shanghai, China | Phone or on-site interview, take-home coding challenge, code review and discussing in-person.</li> <li><a href="https://worldgaming.com">WorldGaming</a> | Toronto, Canada | Technical Interview, Solution Design, Take Home Assignment, then Culture fit interview with the team</li> <li><a href="https://wyeworks.com">WyeWorks</a> | Montevideo, Uruguay | Take-home project and discussion on-site</li> <li><a href="https://x-team.com">X-Team</a> | Remote | A short, fun Node.js challenge, followed by a series of culture-based interview questions, followed by a creative mock project with tons of freedom on how to approach, and follow-up questions about the approach they chose to discuss the tradeoffs. Usually a 10-30 day paid training is rewarded to top candidates to prep them for remote communication skills needed to join a team.</li> <li><a href="https://xebia.com/careers/security/">Xebia Security</a> | Hilversum, Netherlands | Culture fit, Technical interview, followed by take-home security project, on-site brainstorm session to discuss the solutions and approach.</li> <li><a href="https://www.xing.com">XING</a> | Hamburg, Germany | Take-home coding challenge, on-site review and short interviews with future team.</li> <li><a href="https://ourxplor.com">Xplor</a> | Melborne, Australia; London, UK | Phone Cultural Fit interview, Take home-code challenge, pair-programming session and discussion about past experience</li> </ul> <h2>Y - #</h2> <ul> <li><a href="https://18f.gsa.gov/join/">18F</a> | Remote; Washington, DC; New York, NY; Chicago, IL; San Francisco, CA | take-home coding exercise (2-4 hours), technical and values-match interviews over video chat</li> <li><a href="https://21re.de">21st Real Estate</a> | Berlin, Germany | Phone call for quick personal introduction followed by Video call interview. Finally, a pair-programming session on-site.</li> <li><a href="https://23technologies.cloud">23 Technologies</a> | Remote | Three video calls: general introduction, team introduction, contract</li> <li><a href="https://3boxlabs.com">3BoxLabs</a> | Remote | Intro call, resume walk-through, and finally live work exercise with ~2 hours independent work followed by ~1.5 hour debrief discussing the work with the rest of the team.</li> <li><a href="https://3dhubs.com/jobs">3D Hubs</a> | Amsterdam, The Netherlands | Take-home code challenge from our product's domain followed by discussion remote/on-site, sometimes do an additional on-site pair programming session.</li> <li><a href="https://47-degrees.breezy.hr">47 Degrees</a> | Remote; Seattle, WA; Madrid, ESP; Cadiz, ESP; London, UK | Questions related to implementation of specific projects using popular functional programming libraries and techniques and a discussion about the tradeoffs. Discussion of past open-source projects/contributions and future open-source goals. <strong>Note:</strong> This company looks for people who have modern functional programming experience in Haskell, Scala, Swift, or Kotlin and it looks for people who have existing open-source contributions in those fields so the roles can be a bit self-selecting.</li> <li><a href="https://4degrees.ai/about/">4Degrees</a> | Chicago, Illinois | Collaborative pair-programming exercise done through video chat that's representative of the responsibilities of the job then a take-home programming task.</li> <li><a href="https://500Tech.com">500Tech</a> | Tel Aviv, Israel | Pair programming on a laptop in working env</li> <li><a href="https://5minds.de">5Minds</a> | Remote; Gelsenkirchen-Buer, DE | Coding exercise via GitHub, you are interviewed by a developer and a team lead, there is no live coding.</li> <li><a href="https://8thlight.com">8th Light</a> | Chicago, IL; London, UK; Los Angeles, CA; New York, NY | Take home code challenge, discussion, pair programming session</li> <li><a href="https://www.yld.io/join-us">YLD</a> | London, UK; Lisbon, PT; Porto, PT &amp; Remote | Take home-code challenge, pair-programming session and discussion about past experience</li> <li><a href="https://yodas.com">Yodas</a> | Binyamina, Israel | Coding tasks over github repository</li> <li><a href="https://yougov.com">YouGov</a> | Remote; San Francisco, CA; London, UK; Warsaw, Poland; Mumbai, India; Hong Kong, China | Coding exercise sometimes over github repository, at least 1 interview with a developer and a lead, no live coding.</li> <li><a href="http://yoyowallet.com">Yoyo Wallet</a> | London, UK | Take home code challenge, discussion of the code challenge, and general, high level questions</li> <li><a href="https://www.yunojuno.com">YunoJuno</a> | London, UK | Code challenge based on a realistic feature request on a real open-source package created and used at YunoJuno; phone/video interview with members of the Product team to explore technical background, experiences, interests, cultural fit; on-site interview, usually with Product Manager and CTO.</li> <li><a href="https://jobs.kenoby.com/grupozap/">ZAP Group</a> | São Paulo, Brazil | Takehome exercise; a series of real-world interviews with engineers, HR, engineering managers and product managers on site.</li> <li><a href="https://zapier.com/jobs/">Zapier</a> | Remote | Recruiter interview, take-home project, code review of the take-home project, technical discussions with hiring manager and engineers from the team, and a values interview.</li> <li><a href="https://www.zencargo.com/careers">Zencargo</a> | London, UK | Initial interview with CTO, covering professional experience interests and expectations, followed by one technical interview focused on fundamentals and familiarity with best practices. A further short chat with co-founders to get to know each other - either onsite or remote.</li> <li><a href="https://www.zenefits.com/careers">Zenefits (UI Team)</a> | San Francisco, CA | One technical phone screen focused on JS fundamentals and/or one timeboxed take-home challenge. The onsite is a series of interviews designed to test your understanding of JS, HTML/CSS, design, etc.</li> <li><a href="https://www.zensurance.com/careers">Zensurance</a> | Toronto, Canada; Remote | Timeboxed take-home challenge representative of the types of challenges faced day-to-day, and zoom chats with recruiter / hiring managers.</li> <li><a href="https://zerodha.com/careers">Zerodha</a> | Bengaluru, India | Technical call at the beginning and one take home programming task.</li> <li><a href="https://www.zweitag.de/karriere">Zweitag</a> | Münster, Germany &amp; Remote | Get-to-know call, take-home task representative to our problems, on-site pairing and discussion, and mentoring throughout the process with talks for aligning expectations.</li> </ul> <h2>Also see:</h2> <ul> <li><a href="https://they.whiteboarded.me">They Whiteboarded Me!</a></li> </ul> <p><a href="https://github.com/poteto/hiring-without-whiteboards/actions/workflows/node.js.yml"><img src="https://github.com/poteto/hiring-without-whiteboards/actions/workflows/node.js.yml/badge.svg?sanitize=true" alt="Node.js CI"></a></p> \ No newline at end of file diff --git a/alloy/daily/index.xml b/alloy/daily/index.xml index 55a4f0ed60b..115f8dc472c 100644 --- a/alloy/daily/index.xml +++ b/alloy/daily/index.xml @@ -1,7 +1,7 @@ GitHub Alloy Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:28:55Z + 2024-11-21T01:28:49Z Daily 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 1e908828ec6..9f9dab7f18a 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 - 2024-11-20T01:28:55Z + 2024-11-21T01:28:49Z Daily 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 0c67e2e3140..9c7ab4ffebb 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 - 2024-11-20T01:28:55Z + 2024-11-21T01:28:49Z Daily 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 d024c4e3051..b7fd8f36385 100644 --- a/ampl/daily/index.xml +++ b/ampl/daily/index.xml @@ -1,7 +1,7 @@ GitHub AMPL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:28:56Z + 2024-11-21T01:28:50Z Daily Trending of AMPL in GitHub \ No newline at end of file diff --git a/angelscript/daily/index.xml b/angelscript/daily/index.xml index 452ca604de0..49499a5c3f3 100644 --- a/angelscript/daily/index.xml +++ b/angelscript/daily/index.xml @@ -1,7 +1,7 @@ GitHub AngelScript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:28:57Z + 2024-11-21T01:28:51Z Daily 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 3c0c9577d28..56910b6c0bb 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 - 2024-11-20T01:28:56Z + 2024-11-21T01:28:51Z Daily 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 4675b07215d..ece3a43653b 100644 --- a/antlr/daily/index.xml +++ b/antlr/daily/index.xml @@ -1,7 +1,7 @@ GitHub ANTLR Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:28:57Z + 2024-11-21T01:28:51Z Daily Trending of ANTLR in GitHub \ No newline at end of file diff --git a/apacheconf/daily/index.xml b/apacheconf/daily/index.xml index 7495c689f49..e71d30040b1 100644 --- a/apacheconf/daily/index.xml +++ b/apacheconf/daily/index.xml @@ -1,7 +1,7 @@ GitHub ApacheConf Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:28:58Z + 2024-11-21T01:28:53Z Daily Trending of ApacheConf in GitHub \ No newline at end of file diff --git a/apex/daily/index.xml b/apex/daily/index.xml index 35b10d69d45..1aa7b5956e6 100644 --- a/apex/daily/index.xml +++ b/apex/daily/index.xml @@ -1,7 +1,7 @@ GitHub Apex Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:28:59Z + 2024-11-21T01:28:53Z Daily Trending of Apex in GitHub \ No newline at end of file diff --git a/api-blueprint/daily/index.xml b/api-blueprint/daily/index.xml index b874cb805c4..4a7add35751 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 - 2024-11-20T01:28:59Z + 2024-11-21T01:28:52Z Daily 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 b3b6119eb0e..6ae9692a064 100644 --- a/apl/daily/index.xml +++ b/apl/daily/index.xml @@ -1,7 +1,7 @@ GitHub APL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:28:58Z + 2024-11-21T01:28:52Z Daily 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 8a3594f271b..95ac2541121 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 - 2024-11-20T01:29:00Z + 2024-11-21T01:28:54Z Daily 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 87a1387e6a0..e5e588e45f2 100644 --- a/applescript/daily/index.xml +++ b/applescript/daily/index.xml @@ -1,7 +1,7 @@ GitHub AppleScript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:29:01Z + 2024-11-21T01:28:54Z Daily Trending of AppleScript in GitHub \ No newline at end of file diff --git a/arc/daily/index.xml b/arc/daily/index.xml index 5cbcdfff6ae..ec5b9b812a6 100644 --- a/arc/daily/index.xml +++ b/arc/daily/index.xml @@ -1,7 +1,7 @@ GitHub Arc Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:29:00Z + 2024-11-21T01:28:55Z Daily Trending of Arc in GitHub \ No newline at end of file diff --git a/asciidoc/daily/index.xml b/asciidoc/daily/index.xml index 5e7ec2d070f..4054b5241b8 100644 --- a/asciidoc/daily/index.xml +++ b/asciidoc/daily/index.xml @@ -1,7 +1,7 @@ GitHub AsciiDoc Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:29:00Z + 2024-11-21T01:28:54Z Daily Trending of AsciiDoc in GitHub \ No newline at end of file diff --git a/asl/daily/index.xml b/asl/daily/index.xml index 1898928e438..b7e62cdbf8b 100644 --- a/asl/daily/index.xml +++ b/asl/daily/index.xml @@ -1,7 +1,7 @@ GitHub ASL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:29:02Z + 2024-11-21T01:28:56Z Daily 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 0e7a801d11d..47f964585ca 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 - 2024-11-20T01:29:01Z + 2024-11-21T01:28:55Z Daily 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 7fa4d9bbea5..3808f69dbeb 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 - 2024-11-20T01:29:02Z + 2024-11-21T01:28:55Z Daily 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 2207487da91..eab01d41128 100644 --- a/aspectj/daily/index.xml +++ b/aspectj/daily/index.xml @@ -1,7 +1,7 @@ GitHub AspectJ Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:29:03Z + 2024-11-21T01:28:57Z Daily Trending of AspectJ in GitHub \ No newline at end of file diff --git a/assembly/daily/index.xml b/assembly/daily/index.xml index 6918671e3c7..5817daea5b5 100644 --- a/assembly/daily/index.xml +++ b/assembly/daily/index.xml @@ -1,7 +1,7 @@ GitHub Assembly Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:29:05Z + 2024-11-21T01:28:58Z Daily Trending of Assembly in GitHub \ No newline at end of file diff --git a/astro/daily/index.xml b/astro/daily/index.xml index a7a88bcae8b..153c0848c64 100644 --- a/astro/daily/index.xml +++ b/astro/daily/index.xml @@ -1,7 +1,7 @@ GitHub Astro Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:29:04Z + 2024-11-21T01:28:58Z Daily Trending of Astro in GitHub \ No newline at end of file diff --git a/asymptote/daily/index.xml b/asymptote/daily/index.xml index d148ea25f3d..43f6f23ee7a 100644 --- a/asymptote/daily/index.xml +++ b/asymptote/daily/index.xml @@ -1,7 +1,7 @@ GitHub Asymptote Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:29:03Z + 2024-11-21T01:28:57Z Daily Trending of Asymptote in GitHub \ No newline at end of file diff --git a/ats/daily/index.xml b/ats/daily/index.xml index d2e3b386e60..ab93acca01b 100644 --- a/ats/daily/index.xml +++ b/ats/daily/index.xml @@ -1,7 +1,7 @@ GitHub ATS Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:29:05Z + 2024-11-21T01:29:00Z Daily Trending of ATS in GitHub \ No newline at end of file diff --git a/augeas/daily/index.xml b/augeas/daily/index.xml index 296f1102e9d..f7f3fc48263 100644 --- a/augeas/daily/index.xml +++ b/augeas/daily/index.xml @@ -1,7 +1,7 @@ GitHub Augeas Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:29:05Z + 2024-11-21T01:28:59Z Daily Trending of Augeas in GitHub \ No newline at end of file diff --git a/autohotkey/daily/index.xml b/autohotkey/daily/index.xml index ff9fe877b13..4f4a2f7fcb5 100644 --- a/autohotkey/daily/index.xml +++ b/autohotkey/daily/index.xml @@ -1,7 +1,7 @@ GitHub AutoHotkey Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:29:06Z + 2024-11-21T01:29:00Z Daily Trending of AutoHotkey in GitHub \ No newline at end of file diff --git a/autoit/daily/index.xml b/autoit/daily/index.xml index 25288a980da..6adf61377ed 100644 --- a/autoit/daily/index.xml +++ b/autoit/daily/index.xml @@ -1,7 +1,7 @@ GitHub AutoIt Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:29:06Z + 2024-11-21T01:29:00Z Daily Trending of AutoIt in GitHub \ No newline at end of file diff --git a/avro-idl/daily/index.xml b/avro-idl/daily/index.xml index 383d5ac608a..17df9cc1728 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 - 2024-11-20T01:29:07Z + 2024-11-21T01:29:01Z Daily 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 0a76d07e644..94e49678297 100644 --- a/awk/daily/index.xml +++ b/awk/daily/index.xml @@ -1,7 +1,7 @@ GitHub Awk Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:29:08Z + 2024-11-21T01:29:01Z Daily Trending of Awk in GitHub \ No newline at end of file diff --git a/ballerina/daily/index.xml b/ballerina/daily/index.xml index 4ea5332de0d..02ca5bc82cd 100644 --- a/ballerina/daily/index.xml +++ b/ballerina/daily/index.xml @@ -1,7 +1,7 @@ GitHub Ballerina Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:29:07Z + 2024-11-21T01:29:02Z Daily Trending of Ballerina in GitHub \ No newline at end of file diff --git a/basic/daily/index.xml b/basic/daily/index.xml index 4f4a32d4b80..a289dce6baf 100644 --- a/basic/daily/index.xml +++ b/basic/daily/index.xml @@ -1,7 +1,7 @@ GitHub BASIC Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:29:09Z + 2024-11-21T01:29:03Z Daily Trending of BASIC in GitHub \ No newline at end of file diff --git a/batchfile/daily/index.xml b/batchfile/daily/index.xml index 15e741a4f73..3a1c2d97d82 100644 --- a/batchfile/daily/index.xml +++ b/batchfile/daily/index.xml @@ -1,7 +1,7 @@ GitHub Batchfile Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:29:10Z + 2024-11-21T01:29:04Z Daily Trending of Batchfile in GitHub \ No newline at end of file diff --git a/beef/daily/index.xml b/beef/daily/index.xml index 49890ba792d..3967877e415 100644 --- a/beef/daily/index.xml +++ b/beef/daily/index.xml @@ -1,7 +1,7 @@ GitHub Beef Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:29:09Z + 2024-11-21T01:29:03Z Daily Trending of Beef in GitHub \ No newline at end of file diff --git a/befunge/daily/index.xml b/befunge/daily/index.xml index 9e0397f0e68..78af5e707e4 100644 --- a/befunge/daily/index.xml +++ b/befunge/daily/index.xml @@ -1,7 +1,7 @@ GitHub Befunge Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:29:08Z + 2024-11-21T01:29:03Z Daily Trending of Befunge in GitHub \ No newline at end of file diff --git a/berry/daily/index.xml b/berry/daily/index.xml index 8b578ac6254..33b541395f9 100644 --- a/berry/daily/index.xml +++ b/berry/daily/index.xml @@ -1,7 +1,7 @@ GitHub Berry Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:29:12Z + 2024-11-21T01:29:05Z Daily Trending of Berry in GitHub \ No newline at end of file diff --git a/bibtex/daily/index.xml b/bibtex/daily/index.xml index 1b6f9f35d5d..3f3db77c7c8 100644 --- a/bibtex/daily/index.xml +++ b/bibtex/daily/index.xml @@ -1,7 +1,7 @@ GitHub BibTeX Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:29:10Z + 2024-11-21T01:29:05Z Daily Trending of BibTeX in GitHub \ No newline at end of file diff --git a/bicep/daily/index.xml b/bicep/daily/index.xml index 9dbd7f7a35c..796e87ab284 100644 --- a/bicep/daily/index.xml +++ b/bicep/daily/index.xml @@ -1,7 +1,7 @@ GitHub Bicep Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:29:11Z + 2024-11-21T01:29:06Z Daily Trending of Bicep in GitHub \ No newline at end of file diff --git a/bison/daily/index.xml b/bison/daily/index.xml index 67a95fa379b..d30e4588ccd 100644 --- a/bison/daily/index.xml +++ b/bison/daily/index.xml @@ -1,7 +1,7 @@ GitHub Bison Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:29:13Z + 2024-11-21T01:29:07Z Daily Trending of Bison in GitHub \ No newline at end of file diff --git a/bitbake/daily/index.xml b/bitbake/daily/index.xml index efd6a93473a..6332cec7b95 100644 --- a/bitbake/daily/index.xml +++ b/bitbake/daily/index.xml @@ -1,7 +1,7 @@ GitHub BitBake Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:29:14Z + 2024-11-21T01:29:08Z Daily Trending of BitBake in GitHub \ No newline at end of file diff --git a/blade/daily/index.xml b/blade/daily/index.xml index 4db98a82363..802a0502079 100644 --- a/blade/daily/index.xml +++ b/blade/daily/index.xml @@ -1,7 +1,7 @@ GitHub Blade Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:29:13Z + 2024-11-21T01:29:07Z Daily Trending of Blade in GitHub \ No newline at end of file diff --git a/blitzbasic/daily/index.xml b/blitzbasic/daily/index.xml index 9bfcc659b20..6d5bfa50306 100644 --- a/blitzbasic/daily/index.xml +++ b/blitzbasic/daily/index.xml @@ -1,7 +1,7 @@ GitHub BlitzBasic Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:29:12Z + 2024-11-21T01:29:07Z Daily Trending of BlitzBasic in GitHub \ No newline at end of file diff --git a/blitzmax/daily/index.xml b/blitzmax/daily/index.xml index f051a33ac68..1d96d12ce8c 100644 --- a/blitzmax/daily/index.xml +++ b/blitzmax/daily/index.xml @@ -1,7 +1,7 @@ GitHub BlitzMax Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:29:15Z + 2024-11-21T01:29:09Z Daily Trending of BlitzMax in GitHub \ No newline at end of file diff --git a/bluespec/daily/index.xml b/bluespec/daily/index.xml index 1df238398f3..4ed0fc3bbad 100644 --- a/bluespec/daily/index.xml +++ b/bluespec/daily/index.xml @@ -1,7 +1,7 @@ GitHub Bluespec Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:29:15Z + 2024-11-21T01:29:08Z Daily Trending of Bluespec in GitHub \ No newline at end of file diff --git a/boo/daily/index.xml b/boo/daily/index.xml index 5acb6678078..59d70869166 100644 --- a/boo/daily/index.xml +++ b/boo/daily/index.xml @@ -1,7 +1,7 @@ GitHub Boo Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:29:15Z + 2024-11-21T01:29:09Z Daily Trending of Boo in GitHub \ No newline at end of file diff --git a/boogie/daily/index.xml b/boogie/daily/index.xml index e86890a52e7..7b7ada0d69a 100644 --- a/boogie/daily/index.xml +++ b/boogie/daily/index.xml @@ -1,7 +1,7 @@ GitHub Boogie Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:29:17Z + 2024-11-21T01:29:11Z Daily Trending of Boogie in GitHub \ No newline at end of file diff --git a/brainfuck/daily/index.xml b/brainfuck/daily/index.xml index 3becce4e424..f1d60426fa7 100644 --- a/brainfuck/daily/index.xml +++ b/brainfuck/daily/index.xml @@ -1,7 +1,7 @@ GitHub Brainfuck Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:29:16Z + 2024-11-21T01:29:10Z Daily Trending of Brainfuck in GitHub \ No newline at end of file diff --git a/brightscript/daily/index.xml b/brightscript/daily/index.xml index 7c87748e674..d2a6ae4f610 100644 --- a/brightscript/daily/index.xml +++ b/brightscript/daily/index.xml @@ -1,7 +1,7 @@ GitHub Brightscript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:29:18Z + 2024-11-21T01:29:12Z Daily Trending of Brightscript in GitHub \ No newline at end of file diff --git a/browserslist/daily/index.xml b/browserslist/daily/index.xml index 8032b85237e..1b521727c11 100644 --- a/browserslist/daily/index.xml +++ b/browserslist/daily/index.xml @@ -1,7 +1,7 @@ GitHub Browserslist Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:29:18Z + 2024-11-21T01:29:12Z Daily 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 2a029b527fe..16e8c84fb1f 100644 --- a/c%23/daily/index.xml +++ b/c%23/daily/index.xml @@ -1,21 +1,21 @@ GitHub C# Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:29:31Z + 2024-11-21T01:29:24Z Daily Trending of C# in GitHub - stephanstapel/ZUGFeRD-csharp - 2024-11-20T01:29:31Z - tag:github.com,2024-11-20:/stephanstapel/ZUGFeRD-csharp - - <p>C# assembly for creating and reading ZUGFeRD invoices</p><hr><p><a href="https://www.nuget.org/packages/ZUGFeRD-csharp/"><img src="https://img.shields.io/nuget/v/ZUGFeRD-csharp?color=blue" alt="NuGet"></a></p> <p>Part of the ZUGFeRD community: <a href="https://github.com/zugferd">https://github.com/zugferd</a></p> <h1>Sponsoring</h1> <p>Implementing and maintaining this library is a lot of hard work. I'm doing this in my spare time, there is no company behind developing ZUGFeRD-csharp. Support me in this work and help making this library better:</p> <p><a href="https://github.com/sponsors/stephanstapel"><span>❤️</span> Sponsor me on GitHub</a></p> <p>In particular, I am searching for sponsors for:</p> <ul> <li>Complete UBL format support (reading and writing)</li> <li>Validation using the standard XSL</li> <li>Invoice visualization</li> </ul> <h1>Introduction</h1> <p>The ZUGFeRD library allows to create XML files as required by German electronic invoice initiative ZUGFeRD as well invoices in the successor Factur-X. One special profile of Factur-X is the German XRechnung format. The library is meant to be as simple as possible, however it is not straight forward to use as the resulting XML file contains a complete invoice in XML format. Please take a look at the ZUGFeRD-Test project to find sample creation code. This code creates the same XML file as shipped with the ZUGFeRD information package.</p> <h1>Relationship between the different standards</h1> <p>Since there are a lot of terms and standards around electronic invoices, I'd like to lay out my understanding:</p> <ul> <li>ZUGFeRD was developed by a German initiative as a standard for electronic invoices (<a href="https://www.ferd-net.de/">https://www.ferd-net.de/</a>).</li> <li>ZUGFeRD 2.1 is identical to the German/French cooperation Factur-X (ZUGFeRD 2.1 = Factur-X 1.0) (<a href="https://www.ferd-net.de/standards/what-is-factur-x/index.html">https://www.ferd-net.de/standards/what-is-factur-x/index.html</a>).</li> <li>The standard Factur-X 1.0 (respectively ZUGFeRD 2.1) is conform with the European norm EN 16931.</li> <li>EN 16931 in turn is based on worldwide UN/CEFACT standard 'Cross Industry Invoice' (CII).</li> <li>XRechnung as another German standard is a subset of EN 16931. It is defined by another party called KoSIT (<a href="https://www.xoev.de/">https://www.xoev.de/</a>). It comes with its own validation rules (<a href="https://www.ferd-net.de/standards/what-is-xrechnung/index.html">https://www.ferd-net.de/standards/what-is-xrechnung/index.html</a>).</li> <li>This means that both Factur-X 1.0 (respectively ZUGFeRD 2.1) and XRechnung are conform with EN 16931. This does not automatically result that those invoices are per se identical</li> <li>To achieve compatibility, ZUGFeRD 2.1.1 introduced a XRechnung reference profile to guarantee compatibility between the two sister formats</li> </ul> <h1>License</h1> <p>Subject to the Apache license <a href="http://www.apache.org/licenses/LICENSE-2.0.html">http://www.apache.org/licenses/LICENSE-2.0.html</a></p> <h1>Installation</h1> <p>Just use nuget or Visual Studio Package Manager and download 'ZUGFeRD-csharp'.</p> <p>You can find more information about the nuget package here:</p> <p><a href="https://www.nuget.org/packages/ZUGFeRD-csharp/"><img src="https://img.shields.io/nuget/v/ZUGFeRD-csharp?color=blue" alt="NuGet"></a></p> <p><a href="https://www.nuget.org/packages/ZUGFeRD-csharp/">https://www.nuget.org/packages/ZUGFeRD-csharp/</a></p> <h1>Building on your own</h1> <p>Prerequisites:</p> <ul> <li>Visual Studio &gt;= 2017</li> <li>.net Framework &gt;= 4.6.1 (for .net Standard 2.0 support)</li> </ul> <p>Open ZUGFeRD/ZUGFeRD.sln solution file. Choose Release or Debug mode and hit 'Build'. That's it.</p> <p>For running the tests, open ZUGFeRD-Test/ZUGFeRD-Test.sln and run the unit tests. The tests show good cases on how to use the library.</p> <h1>Step-by-step guide for creating invoices</h1> <p>Central class for users is class <code>InvoiceDescriptor</code>. This class does not only allow to read and set all ZUGFeRD attributes and structures but also allows to load and save ZUGFeRD files.</p> <p>However, the standard has become quite large during the recent years. So it is worthwhile to go through the creation process step by step.</p> <h2>Creating an invoice</h2> <pre><code class="language-csharp">InvoiceDescriptor desc = InvoiceDescriptor.CreateInvoice("471102", new DateTime(2013, 6, 5), CurrencyCodes.EUR, "GE2020211-471102"); desc.Name = "WARENRECHNUNG"; desc.ReferenceOrderNo = "AB-312"; desc.AddNote("Rechnung gemäß Bestellung Nr. 2013-471331 vom 01.03.2013."); desc.AddNote("Es bestehen Rabatt- und Bonusvereinbarungen.", SubjectCodes.AAK); desc.SetBuyer("Kunden Mitte AG", "69876", "Frankfurt", "Kundenstraße 15", CountryCodes.DE, "88", new GlobalID(GlobalIDSchemeIdentifiers.GLN, "4000001123452")); desc.AddBuyerTaxRegistration("DE234567890", TaxRegistrationSchemeID.VA); desc.SetBuyerContact("Hans Muster"); desc.SetSeller("Lieferant GmbH", "80333", "München", "Lieferantenstraße 20", CountryCodes.DE, "88", new GlobalID(GlobalIDSchemeIdentifiers.GLN, "4000001123452")); desc.AddSellerTaxRegistration("201/113/40209", TaxRegistrationSchemeID.FC); desc.AddSellerTaxRegistration("DE123456789", TaxRegistrationSchemeID.VA); desc.SetBuyerOrderReferenceDocument("2013-471331", new DateTime(2013, 03, 01)); desc.SetDeliveryNoteReferenceDocument("2013-51111", new DateTime(2013, 6, 3)); desc.ActualDeliveryDate = new DateTime(2013, 6, 3); desc.SetTotals(202.76m, 5.80m, 14.73m, 193.83m, 21.31m, 215.14m, 50.0m, 165.14m); desc.AddApplicableTradeTax(129.37m, 7m, TaxTypes.VAT, TaxCategoryCodes.S); desc.AddApplicableTradeTax(64.46m, 19m, TaxTypes.VAT, TaxCategoryCodes.S); desc.AddLogisticsServiceCharge(5.80m, "Versandkosten", TaxTypes.VAT, TaxCategoryCodes.S, 7m); desc.AddTradePaymentTerms("Zahlbar innerhalb 30 Tagen netto bis 04.04.2018", new DateTime(2018, 4, 4)); desc.AddTradePaymentTerms("3% Skonto innerhalb 10 Tagen bis 15.03.2018", new DateTime(2018, 3, 15), PaymentTermsType.Skonto, 30, 3m); </code></pre> <p>Optionally, to support Peppol, an electronic address can be passed:</p> <pre><code class="language-csharp">desc.SetSellerElectronicAddress("DE123456789", ElectronicAddressSchemeIdentifiers.GermanyVatNumber); desc.SetBuyerElectronicAddress("LU987654321", ElectronicAddressSchemeIdentifiers.LuxemburgVatNumber); </code></pre> <p>The fields are only necessary if you want to send the XRechnung via the Peppol network. A description of the fields can be found in the following documents:</p> <p><a href="https://docs.peppol.eu/edelivery/policies/PEPPOL-EDN-Policy-for-use-of-identifiers-4.2.0-2023-06-19.pdf">https://docs.peppol.eu/edelivery/policies/PEPPOL-EDN-Policy-for-use-of-identifiers-4.1.0-2020-03-11.pdf</a></p> <p><a href="https://www.ferd-net.de/upload/Dokumente/FACTUR-X_ZUGFeRD_2p0_Teil1_Profil_EN16931_1p03.pdf">https://www.ferd-net.de/upload/Dokumente/FACTUR-X_ZUGFeRD_2p0_Teil1_Profil_EN16931_1p03.pdf</a></p> <p>In Luxembourg, it has been mandatory since this year to process all invoices via Peppol:</p> <p><a href="https://gouvernement.lu/de/dossiers.gouv_digitalisation%2Bde%2Bdossiers%2B2021%2Bfacturation-electronique.html">https://gouvernement.lu/de/dossiers.gouv_digitalisation%2Bde%2Bdossiers%2B2021%2Bfacturation-electronique.html</a></p> <p>In Germany, this has so far only been necessary for invoices in the course of a public contract from the federal government:</p> <p><a href="https://www.e-rechnung-bund.de/ubertragungskanale/peppol/">https://www.e-rechnung-bund.de/ubertragungskanale/peppol/</a></p> <h2>Adding line items</h2> <h3>Handling of line ids</h3> <p>The library allows to operate in two modes: you can either let the library generate the line ids automatically or you can alternatively pass distinct line ids. This is helpful if you want to convert existing invoices, e.g. from ERP systems, to ZUGFeRD/ Factur-X.</p> <p>To let the library create line ids, you can use:</p> <pre><code class="language-csharp">InvoiceDescriptor desc = InvoiceDescriptor.CreateInvoice("471102", new DateTime(2013, 6, 5), CurrencyCodes.EUR, "GE2020211-471102"); desc.AddTradeLineItem("Item name", "Detail description", QuantityCodes.C62, ....); </code></pre> <p>This will generate an invoice with trade line item numbered as '1'.</p> <p>To pass pre-defined line ids, this is the way to go:</p> <pre><code class="language-csharp">InvoiceDescriptor desc = InvoiceDescriptor.CreateInvoice("471102", new DateTime(2013, 6, 5), CurrencyCodes.EUR, "GE2020211-471102"); desc.AddTradeLineItem(lineID: "0001", "Item name", "Detail description", QuantityCodes.C62, ....); desc.AddTradeLineItem(lineID: "0002", "Item name", "Detail description", QuantityCodes.C62, ....); </code></pre> <p>which will generate an invoice with two trade line items, with the first one as number '0001' and the second one as number '0002'.</p> <h3>Working with product characteristics</h3> <p>Product characteristics are used to add information for the specified trade product in the 'ApplicableProductCharacteristic' section. One trade product can have one or more product characteristics, which can contain description, value, typecode and value measurand elements.</p> <pre><code class="language-csharp">// you can optionally add product characteristics: desc.TradeLineItems.Add(new TradeLineItem("0003") { ApplicableProductCharacteristics = new List&lt;ApplicableProductCharacteristic&gt; { new ApplicableProductCharacteristic() { Description = "Description", Value = "Value" } } }); </code></pre> <h2>Document references</h2> <p>The library allows to add special references to an invoice which are pretty rare but nevertheless supported:</p> <pre><code class="language-csharp">// you can optionally add a reference to a procuring project: desc.SpecifiedProcuringProject = new SpecifiedProcuringProject {Name = "Projekt AB-312", ID = "AB-312"}; // you can optionally reference a contract: desc.ContractReferencedDocument = new ContractReferencedDocument {ID = "AB-312-1", IssueDateTime = new DateTime(2013,1,1)}; </code></pre> <h2>Storing the invoice</h2> <pre><code class="language-csharp">FileStream stream = new FileStream(filename, FileMode.Create, FileAccess.Write); desc.Save(stream, ZUGFeRDVersion.Version23, Profile.XRechnung); stream.Flush(); stream.Close(); </code></pre> <h1>Support for ZUGFeRD 1.x, ZUGFeRD 2.x</h1> <p>In order to load ZUGFeRD files, you call <code>InvoiceDescriptor.Load()</code>, passing a file path like this:</p> <pre><code class="language-csharp">InvoiceDescriptor descriptor = InvoiceDescriptor.Load("zugferd.xml"); </code></pre> <p>alternatively, you can pass an open stream object:</p> <pre><code class="language-csharp">Stream stream = new FileStream("zugferd.xml", FileMode.Open, FileAccess.Read); InvoiceDescriptor descriptor = InvoiceDescriptor.Load(stream); </code></pre> <p>The library will automatically detect the ZUGFeRD version of the file and parse accordingly. It will automatically be chosen which XRechnung version to use depending on the current date. The lifecycle of the stream is not influenced by the ZUGFeRD library, i.e. the library expects an open stream and will not close if after reading from it.</p> <p>For saving ZUGFeRD files, use <code>InvoiceDescriptor.Save()</code>. Here, you can also pass a stream object:</p> <pre><code class="language-csharp">InvoiceDescriptor descriptor = InvoiceDescriptor.CreateInvoice(......); // fill attributes and structures FileStream stream = new FileStream(filename, FileMode.Create, FileAccess.Write); descriptor.Save(stream, ZUGFeRDVersion.Version1, Profile.Basic); stream.Flush(); stream.Close(); </code></pre> <p>As you see, the library does not influence the lifecycle of the stream, i.e. it is not automatically closed by the library. Just as opening the stream, flushing and closing is the duty of the calling function.</p> <p>Alternatively, you can pass a file path:</p> <pre><code class="language-csharp">InvoiceDescriptor descriptor = InvoiceDescriptor.CreateInvoice(......); // fill attributes and structures descriptor.Save("zugferd.xml", ZUGFeRDVersion.Version1, Profile.Basic); </code></pre> <p>Optionally, you can pass the ZUGFeRD version to use. Currently, the default version is 1.x, e.g.:</p> <pre><code class="language-csharp">InvoiceDescriptor descriptor = InvoiceDescriptor.CreateInvoice(......); // fill attributes and structures descriptor.Save("zugferd-v1.xml", ZUGFeRDVersion.Version1, Profile.Basic); // save as version 1.x descriptor.Save("zugferd-v20.xml", ZUGFeRDVersion.Version20, Profile.Basic); // save as version 2.0 descriptor.Save("zugferd-v23.xml", ZUGFeRDVersion.Version23, Profile.Basic); // save as version 2.3 </code></pre> <p>For reading and writing XRechnung invoices, please see below.</p> <h1>Support for XRechnung</h1> <p>In general, creating XRechnung files is straight forward and just like creating any other ZUGFeRD version and profile:</p> <pre><code class="language-csharp">descriptor.Save("xrechnung.xml", ZUGFeRDVersion.Version23, Profile.XRechnung); </code></pre> <p>This will save the invoice as XRechnung 3.0.1 as valid from 2024/02/01.</p> <p>Make sure to also add a business process which is required starting with XRechnung 3.0.1:</p> <pre><code class="language-csharp">desc.BusinessProcess = "urn:fdc:peppol.eu:2017:poacc:billing:01:1.0"; </code></pre> <p>Furthermore, XRechnung comes with some special features. One of these features is the ability to embed binary files as attachments to the <code>xrechnung.xml</code> document:</p> <pre><code class="language-csharp">InvoiceDescriptor desc = _createInvoice(); byte[] data = System.IO.File.ReadAllBytes("my-calculation.xlsx"); desc.AddAdditionalReferencedDocument( id: "calculation-sheet", typeCode: AdditionalReferencedDocumentTypeCode.ReferenceDocument, name: "Calculation as the basis for the invoice", attachmentBinaryObject: data, filename: "my-calculation.xlsx"); desc.Save("xrechnung.xml", ZUGFeRDVersion.Version23, Profile.XRechnung); </code></pre> <p>The resulting <code>xrechnung.xml</code> file will then contain the calculation file content. As this is not standardized, the decision was to encode the attachments in base64. Please note that there are only few mime-types supported by the XRechnung standard. The supported mime-types are defined in BG-24 and BT-125. At the time of writing this tutorial, those are also listed in the discussion you find over here: <a href="https://projekte.kosit.org/xrechnung/xrechnung/-/issues/59">https://projekte.kosit.org/xrechnung/xrechnung/-/issues/59</a></p> <ul> <li>application/pdf</li> <li>image/png</li> <li>image/jpeg</li> <li>text/csv</li> <li>application/vnd.openxmlformats-officedocument.spreadsheetml.sheet</li> <li>application/vnd.oasis.opendocument.spreadsheet</li> <li>application/xml</li> </ul> <h1>Support for E-Reporting</h1> <p>For french companies, a dedicated profile exists called E-Reporting. This profile is implemented on top of XRechnung/ Factur-X. It is used when transactions are done to customers who don't make use of VAT. One example are private customers (in B2C scenarios). The other example is when selling to entities beyond France. More information can be found here: <a href="https://www.impots.gouv.fr/e-reporting-la-transmission-de-donnees-de-transaction-ladministration">https://www.impots.gouv.fr/e-reporting-la-transmission-de-donnees-de-transaction-ladministration</a> (French) And here: <a href="https://www.roedl.de/themen/frankreich-e-invoice-reporting-umsatzsteuer-digital">https://www.roedl.de/themen/frankreich-e-invoice-reporting-umsatzsteuer-digital</a> (german)</p> <p>Thanks to <a href="https://github.com/Athilla">@Athilla</a>, this profile is also supported by ZUGFeRD-csharp.</p> <p>The information that is written into the invoice descriptor is identical to standard XRechnung/ Factur-X invoices, you just need to adjust the profile:</p> <pre><code class="language-csharp">descriptor.Save("factur-x.xml", ZUGFeRDVersion.Version23, Profile.EReporting); </code></pre> <p>This information needs to be sent to the tax authorities. Different due dates apply for implementation for different sizes of companies.</p> <h1>Support for profiles</h1> <p>The library contains support for all profiles that are supported by the ZUGFeRD formats:</p> <table> <thead> <tr> <th>Profile</th> <th>Version1</th> <th>Version20</th> <th>Version23</th> </tr> </thead> <tbody> <tr> <td>MINIMUM</td> <td></td> <td>X</td> <td>X</td> </tr> <tr> <td>BASIC WL</td> <td></td> <td>X</td> <td>X</td> </tr> <tr> <td>BASIC</td> <td>X</td> <td>X</td> <td>X</td> </tr> <tr> <td>COMFORT/EN16391</td> <td>X</td> <td>X</td> <td>X</td> </tr> <tr> <td>XRECHNUNG</td> <td></td> <td></td> <td>X</td> </tr> <tr> <td>EXTENDED</td> <td>X</td> <td>X</td> <td>X</td> </tr> </tbody> </table> <p>Please note that version 1 implementation of the library is not strict, i.e. it will output all information available into the invoice xml, regardless of the profiles that is used. Reading various files with different profiles will generate the correct output.</p> <p>If you want to write the invoice xml with a certain ZUGFeRD version and a certain profile, make sure to use the parameters of the Save method:</p> <pre><code class="language-csharp">descriptor.Save("zugferd-v1.xml", ZUGFeRDVersion.Version1, Profile.Basic); // save as version 1.x, profile Basic descriptor.Save("zugferd-v20.xml", ZUGFeRDVersion.Version20, Profile.Basic); // save as version 2.0, profile Basic descriptor.Save("zugferd-v23.xml", ZUGFeRDVersion.Version23, Profile.Basic); // save as version 2.3, profile Basic descriptor.Save("zugferd-v23-xrechnung.xml", ZUGFeRDVersion.Version23, Profile.XRechnung); // save as version 2.3, profile XRechnung </code></pre> <h1>Extracting XML attachments from PDF files</h1> <p>I am frequently asked how to extract the ZUGFeRD / Factur-X / XRechnung attachment from existing PDF files.</p> <p>There is a nice article on Stack Overflow on how this can be achieved using itextsharp:</p> <p><a href="https://stackoverflow.com/a/6334252">https://stackoverflow.com/a/6334252</a></p> <p>and this one covers the same with <code>itext7</code> which is the successor of <code>itextsharp</code>:</p> <p><a href="https://stackoverflow.com/a/37804285">https://stackoverflow.com/a/37804285</a></p> <h1>Writing XML attachments to PDF files</h1> <p>It is also possible to add the XML ZUGFeRD or XRechnung attachment to PDF files using <code>itextsharp</code>. You find information about this here:</p> <p><a href="https://stackoverflow.com/questions/70597318/af-reference-to-file-embedded-into-a-pdf-with-itextsharp">https://stackoverflow.com/questions/70597318/af-reference-to-file-embedded-into-a-pdf-with-itextsharp</a></p> <h1>Thanks</h1> <ul> <li>The solution is used in CKS.DMS and supported by CKSolution: <a href="https://www.cksolution.de">https://www.cksolution.de</a></li> <li>ZUGFeRD 2.1 implementation was done by <a href="https://netco-solution.de">https://netco-solution.de</a> and used in netCo.Butler</li> </ul> <h1>Links</h1> <p>You can find more information about ZUGFeRD here: <a href="https://www.ferd-net.de/">https://www.ferd-net.de/</a></p> + efcore/EFCore.NamingConventions + 2024-11-21T01:29:24Z + tag:github.com,2024-11-21:/efcore/EFCore.NamingConventions + + <p>Entity Framework Core plugin to apply naming conventions to table and column names (e.g. snake_case)</p><hr><h1>Naming Conventions for Entity Framework Core Tables and Columns</h1> <p><a href="https://www.nuget.org/packages/EFCore.NamingConventions/"><img src="https://img.shields.io/nuget/v/EFCore.NamingConventions" alt="Nuget"></a></p> <p>By default, EF Core will map to tables and columns named exactly after your .NET classes and properties. For example, mapping a typical Customer class to PostgreSQL will result in SQL such as the following:</p> <pre><code class="language-sql">CREATE TABLE "Customers" ( "Id" integer NOT NULL GENERATED BY DEFAULT AS IDENTITY, "FullName" text NULL, CONSTRAINT "PK_Customers" PRIMARY KEY ("Id") ); SELECT c."Id", c."FullName" FROM "Customers" AS c WHERE c."FullName" = 'John Doe'; </code></pre> <p>For PostgreSQL specifically, this forces double-quotes to be added since unquoted identifiers are automatically converted to lower-case - and all those quotes are an eye-sore. But even if we're using another database such as SQL Server, maybe we just hate seeing upper-case letters in our database, and would rather have another naming convention.</p> <p>Down with same-name identifier tyranny! Simply add a reference to <a href="https://www.nuget.org/packages/EFCore.NamingConventions/">EFCore.NamingConventions</a> and enable a naming convention in your model's <code>OnConfiguring</code> method:</p> <pre><code class="language-c#">protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) =&gt; optionsBuilder .UseNpgsql(...) .UseSnakeCaseNamingConvention(); </code></pre> <p>This will automatically make all your table and column names have snake_case naming:</p> <pre><code class="language-sql">CREATE TABLE customers ( id integer NOT NULL GENERATED BY DEFAULT AS IDENTITY, full_name text NULL, CONSTRAINT "pk_customers" PRIMARY KEY (id) ); SELECT c.id, c.full_name FROM customers AS c WHERE c.full_name = 'John Doe'; </code></pre> <h2>Supported naming conventions</h2> <ul> <li>UseSnakeCaseNamingConvention: <code>FullName</code> becomes <code>full_name</code></li> <li>UseLowerCaseNamingConvention: <code>FullName</code> becomes <code>fullname</code></li> <li>UseCamelCaseNamingConvention: <code>FullName</code> becomes <code>fullName</code></li> <li>UseUpperCaseNamingConvention: <code>FullName</code> becomes <code>FULLNAME</code></li> <li>UseUpperSnakeCaseNamingConvention: <code>FullName</code> becomes <code>FULL_NAME</code></li> </ul> <p>Have another naming convention in mind? Open an issue or even submit a PR - it's pretty easy to do!</p> <h2>Important notes</h2> <ul> <li>If you have an existing database, adding this naming convention will cause a migration to be produced, renaming everything. Be very cautious when doing this (the process currently involves dropping and recreating primary keys).</li> <li>This plugin will work with any relational database provider and isn't related to PostgreSQL or Npgsql in any way.</li> <li>This is a community-maintained plugin: it isn't an official part of Entity Framework Core and isn't supported by Microsoft in any way.</li> </ul> - npgsql/efcore.pg - 2024-11-20T01:29:31Z - tag:github.com,2024-11-20:/npgsql/efcore.pg - - <p>Entity Framework Core provider for PostgreSQL</p><hr><h1>Npgsql Entity Framework Core provider for PostgreSQL</h1> <p><a href="https://www.nuget.org/packages/Npgsql.EntityFrameworkCore.PostgreSQL/"><img src="https://img.shields.io/nuget/v/Npgsql.EntityFrameworkCore.PostgreSQL.svg?label=stable" alt="stable"></a> <a href="https://www.myget.org/feed/npgsql/package/nuget/Npgsql.EntityFrameworkCore.PostgreSQL"><img src="https://img.shields.io/myget/npgsql/v/Npgsql.EntityFrameworkCore.PostgreSQL.svg?label=next%20patch" alt="next patch"></a> <a href="https://www.myget.org/feed/npgsql-vnext/package/nuget/Npgsql.EntityFrameworkCore.PostgreSQL"><img src="https://img.shields.io/myget/npgsql-vnext/v/Npgsql.EntityFrameworkCore.PostgreSQL.svg?label=vNext" alt="daily builds (vnext)"></a> <a href="https://github.com/npgsql/efcore.pg/actions/workflows/build.yml"><img src="https://github.com/npgsql/efcore.pg/actions/workflows/build.yml/badge.svg?sanitize=true" alt="build"></a> <a href="https://gitter.im/npgsql/npgsql"><img src="https://img.shields.io/badge/gitter-join%20chat-brightgreen.svg?sanitize=true" alt="gitter"></a></p> <p>Npgsql.EntityFrameworkCore.PostgreSQL is the open source EF Core provider for PostgreSQL. It allows you to interact with PostgreSQL via the most widely-used .NET O/RM from Microsoft, and use familiar LINQ syntax to express queries. It's built on top of <a href="https://github.com/npgsql/npgsql">Npgsql</a>.</p> <p>The provider looks and feels just like any other Entity Framework Core provider. Here's a quick sample to get you started:</p> <pre><code class="language-csharp">await using var ctx = new BlogContext(); await ctx.Database.EnsureDeletedAsync(); await ctx.Database.EnsureCreatedAsync(); // Insert a Blog ctx.Blogs.Add(new() { Name = "FooBlog" }); await ctx.SaveChangesAsync(); // Query all blogs who's name starts with F var fBlogs = await ctx.Blogs.Where(b =&gt; b.Name.StartsWith("F")).ToListAsync(); public class BlogContext : DbContext { public DbSet&lt;Blog&gt; Blogs { get; set; } protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) =&gt; optionsBuilder.UseNpgsql(@"Host=myserver;Username=mylogin;Password=mypass;Database=mydatabase"); } public class Blog { public int Id { get; set; } public string Name { get; set; } } </code></pre> <p>Aside from providing general EF Core support for PostgreSQL, the provider also exposes some PostgreSQL-specific capabilities, allowing you to query JSON, array or range columns, as well as many other advanced features. For more information, see the <a href="http://www.npgsql.org/efcore/index.html">the Npgsql site</a>. For information about EF Core in general, see the <a href="https://docs.microsoft.com/ef/core/">EF Core website</a>.</p> <h2>Related packages</h2> <ul> <li>Spatial plugin to work with PostgreSQL PostGIS: <a href="https://www.nuget.org/packages/Npgsql.EntityFrameworkCore.PostgreSQL.NetTopologySuite">Npgsql.EntityFrameworkCore.PostgreSQL.NetTopologySuite</a></li> <li>NodaTime plugin to use better date/time types with PostgreSQL: <a href="https://www.nuget.org/packages/Npgsql.EntityFrameworkCore.PostgreSQL.NodaTime">Npgsql.EntityFrameworkCore.PostgreSQL.NodaTime</a></li> <li>The underlying Npgsql ADO.NET provider is <a href="https://www.nuget.org/packages/Npgsql">Npgsql</a>.</li> </ul> + greenshot/greenshot + 2024-11-21T01:29:24Z + tag:github.com,2024-11-21:/greenshot/greenshot + + <p>Greenshot for Windows - Report bugs & features go here: https://greenshot.atlassian.net or look for information on:</p><hr><h1>Greenshot - a free screenshot tool optimized for productivity</h1> <p>Welcome to the source repository for Greenshot</p> <h2>What is Greenshot?</h2> <p>Greenshot is a light-weight screenshot software tool for Windows with the following key features:</p> <ul> <li>Quickly create screenshots of a selected region, window or fullscreen; you can even capture complete (scrolling) web pages from Internet Explorer.</li> <li>Easily annotate, highlight or obfuscate parts of the screenshot.</li> <li>Export the screenshot in various ways: save to file, send to printer, copy to clipboard, attach to e-mail, send Office programs or upload to photo sites like Flickr or Picasa, and others. and a lot more options simplyfying creation of and work with screenshots every day.</li> </ul> <p>Being easy to understand and configurable, Greenshot is an efficient tool for project managers, software developers, technical writers, testers and anyone else creating screenshots.</p> <p><a href="https://getgreenshot.org/support/">If you find that Greenshot saves you a lot of time and/or money, you are very welcome to support the development of this screenshot software.</a></p> <h2>About this repository</h2> <p>This repository is for Greenshot 1.3, currently in development, but is the next planned release</p> <h2>Releases</h2> <p>You can find a list of all releases (stable and unstable) in the <a href="https://github.com/greenshot/greenshot/releases">Github releases</a> or in the <a href="https://getgreenshot.org/version-history/">version history on our website</a>. The <a href="https://getgreenshot.org/downloads/">downloads page on our website</a> always links to the latest stable release.</p> \ No newline at end of file diff --git a/c++/daily/index.xml b/c++/daily/index.xml index cce08316641..59048d12c1b 100644 --- a/c++/daily/index.xml +++ b/c++/daily/index.xml @@ -1,14 +1,7 @@ GitHub C++ Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:29:25Z + 2024-11-21T01:29:31Z Daily Trending of C++ in GitHub - - fritzing/fritzing-app - 2024-11-20T01:29:25Z - tag:github.com,2024-11-20:/fritzing/fritzing-app - - <p>Fritzing desktop application</p><hr><h1>Fritzing</h1> <table> <thead> <tr> <th>Branch</th> <th>Badge</th> </tr> </thead> <tbody> <tr> <td>master</td> <td><a href="https://travis-ci.org/fritzing/fritzing-app"><img src="https://travis-ci.org/fritzing/fritzing-app.svg?branch=master" alt="Build Status"></a></td> </tr> <tr> <td>develop</td> <td><a href="https://travis-ci.org/fritzing/fritzing-app"><img src="https://travis-ci.org/fritzing/fritzing-app.svg?branch=develop" alt="Build Status"></a></td> </tr> </tbody> </table> <p>The Fritzing application is an Electronic Design Automation software with a low entry barrier, suited for the needs of makers and hobbyists. It offers a unique real-life "breadboard" view, and a parts library with many commonly used high-level components. Fritzing makes it very easy to communicate about circuits, as well as to turn them into PCB layouts ready for production. It is particularly popular among Arduino and Raspberry Pi users, and is widely used in education and creative tinkering.</p> <ul> <li> <p>For more information on Fritzing and its related activities, visit <a href="http://fritzing.org">http://fritzing.org</a>. There you can also <a href="http://fritzing.org/download">download</a> the latest releases for all platforms and get help on getting started.</p> </li> <li> <p>To report a problem or suggest improvements, use the <a href="https://github.com/fritzing/fritzing-app/issues">issue tracker</a> or the <a href="http://forum.fritzing.org">user forum</a>. Please provide steps, what operating system you are on, including the version. Add screenshots or copies of error messages, describe what behavior you saw and what you expected.</p> </li> <li> <p>If you would like to help with the development, please take a look at those labels:</p> <ul> <li><a href="https://github.com/fritzing/fritzing-app/labels/easy%20start"><img src="https://img.shields.io/badge/-easy%20start-%2333AAFF" alt="label: easy start"></a></li> <li><a href="https://github.com/fritzing/fritzing-app/labels/challenging%20start"><img src="https://img.shields.io/badge/-challenging%20start-%235500EE" alt="label: challenging start"></a></li> </ul> </li> </ul> <p>Some of those don't need C++ skills, like reproducing an issue on a certain platform, or verifying translations of languages we don't speak. If there is something for you, you might want to check the <a href="https://github.com/fritzing/fritzing-app/wiki">developer instructions</a> next. This includes information about how to compile and run the Fritzing app.</p> <h2>Project Structure</h2> <ul> <li> <p><strong>help</strong> - End-user documentation included with the app.</p> </li> <li> <p><strong>parts</strong> - All the part definitions, including meta data (.fzp) and graphics (.svg), as well as some utility tools. They are kept in a separate repository at <a href="http://github.com/fritzing/fritzing-parts">https://github.com/fritzing/fritzing-parts</a> and only linked from here.</p> </li> <li> <p><strong>pri</strong> - Submodule definitions for Qt</p> </li> <li> <p><strong>resources</strong> - Binaries and definitions that are supposed not to be touched by users, such as fonts, images, special parts, etc.</p> </li> <li> <p><strong>sketches</strong> - Example circuits/sketches shipped with the application</p> </li> <li> <p><strong>src</strong> - Application logic!</p> </li> <li> <p><strong>tools</strong> - Utility tools for making releases, converting parts, etc.</p> </li> <li> <p><strong>translations</strong> - Language translations</p> </li> </ul> <h2>Credits</h2> <p>The Fritzing app was maintained by the Friends-of-Fritzing e.V., a non-profit foundation based in Berlin, Germany. The project has grown out of a state-funded research project at the <a href="http://idl.fh-potsdam.de">Interaction Design Lab</a> at <a href="http://fh-potsdam.de">Potsdam University of Applied Sciences</a>.</p> <p>The founding team consists of Prof. Reto Wettach, André Knörig, Jonathan Cohen, and Stefan Hermann. Many <a href="http://fritzing.org/about/people/">fantastic people</a> have contributed to it over the years.</p> <p>Since 2019, the project is maintained by Kjell Morgenstern, with great support from Peter Van Epp, André Knörig, and AISLER.</p> <p>The Fritzing app is written on top of the <a href="http://qt-project.org">Qt cross-platform framework</a>.</p> <h2>Licensing</h2> <p>The source code of Fritzing is under GNU GPL v3, the documentation and part designs under Creative Commons Attribution-ShareALike 3.0 Unported. The full texts of these licenses are shipped with this download.</p> <p>This means that you can create your own variation of Fritzing, as long as you credit us and also publish it under GPL. Similarly, you may re-publish our documentation, as long as you credit us, and publish it under the same license. You may publish circuits and diagrams that you create with Fritzing and that use our graphics, again as long as you credit us, and publish your works under the same license. A credit can be as simple as "this image was created with Fritzing."</p> <p>Lookup <a href="http://fritzing.org/faq/">our FAQs</a> for more details on licensing.</p> - \ No newline at end of file diff --git a/c-objdump/daily/index.xml b/c-objdump/daily/index.xml index 334c40c84b3..b8c191da0e2 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 - 2024-11-20T01:29:23Z + 2024-11-21T01:29:20Z Daily 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 6ba318b7d95..c979fe55305 100644 --- a/c/daily/index.xml +++ b/c/daily/index.xml @@ -1,14 +1,14 @@ GitHub C Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:29:20Z + 2024-11-21T01:29:14Z Daily Trending of C in GitHub - oracle/bpftune - 2024-11-20T01:29:20Z - tag:github.com,2024-11-20:/oracle/bpftune - - <p>bpftune uses BPF to auto-tune Linux systems</p><hr><h1>bpftune - BPF driven auto-tuning</h1> <p>bpftune aims to provide lightweight, always-on auto-tuning of system behaviour. The key benefit it provides are</p> <ul> <li>by using BPF observability features, we can continuously monitor and adjust system behaviour</li> <li>because we can observe system behaviour at a fine grain (rather than using coarse system-wide stats), we can tune at a finer grain too (individual socket policies, individual device policies etc)</li> </ul> <h2>The problem</h2> <p>The Linux kernel contains a large number of tunables; these often take the form of sysctl(8) parameters, and are usually introduced for situations where there is no one "right" answer for a configuration choice. The number of tunables available is quite daunting. On a 6.2 kernel we see</p> <pre><code># sysctl --all 2&gt;/dev/null|wc -l 1624 </code></pre> <p><a href="https://github.com/leandromoreira/linux-network-performance-parameters">See here for an excellent writeup on network-related tunables.</a>.</p> <p>At the same time, individual systems get a lot less care and adminstrator attention than they used to; phrases like "cattle not pets" exemplify this. Given the modern cloud architectures used for most deployments, most systems never have any human adminstrator interaction after initial provisioning; in fact given the scale requirements, this is often an explicit design goal - "no ssh'ing in!".</p> <p>These two observations are not unrelated; in an earlier era of fewer, larger systems, tuning by administrators was more feasible.</p> <p>These trends - system complexity combined with minimal admin interaction suggest a rethink in terms of tunable management.</p> <p>A lot of lore accumulates around these tunables, and to help clarify why we developed bpftune, we will use a straw-man version of the approach taken with tunables:</p> <p>"find the set of magic numbers that will work for the system forever"</p> <p>This is obviously a caricature of how administrators approach the problem, but it does highlight a critical implicit assumption - that systems are static.</p> <p>And that gets to the "BPF" in bpftune; BPF provides means to carry out low-overhead observability of systems. So not only can we observe the system and tune appropriately, we can also observe the effect of that tuning and re-tune if necessary.</p> <h2>Key design principles</h2> <ul> <li>Minimize overhead. Use observability features sparingly; do not trace very high frequency events.</li> <li>Be explicit about policy changes providing both a "what" - what change was made - and a "why" - how does it help? syslog logging makes policy actions explicit with explanations</li> <li>Get out of the way of the administrator. We can use BPF observability to see if the admin sets tunable values that we are auto-tuning; if they do, we need to get out of the way and disable auto-tuning of the related feature set.</li> <li>Don't replace tunables with more tunables! bpftune is designed to be zero configuration; there are no options, and we try to avoid magic numbers where possible.</li> <li>Use push-pull approaches. For example, with tcp buffer sizing, we often want to get out of the way of applications and bump up tcp sndbuf and rcvbuf, but at a certain point we run the risk of exhausting TCP memory. We can however monitor if we are approaching TCP memory pressure and if so we can tune down values that we've tuned up. In this way, we can let the system find a balance between providing resources and exhausting them. In some cases, we won't need to tune up values; they may be fine as they are. But in other cases these limits block optimal performance, and if they are raised safely - with awareness of global memory limits - we can get out the way of improved performance. Another concern is that increasing buffer size leads to latency - to handle that, we correlate buffer size changes and TCP smoothed round-trip time; if the correlation between these exceeds a threshold (0.7) we stop increasing buffer size.</li> </ul> <h2>Concepts</h2> <p>The key components are</p> <ul> <li> <p>tuners: each tuner manages tunables and handles events sent from BPF programs to userspace via the shared ring buffer. Each tuner has an associated set of tunables that it manages.</p> </li> <li> <p>optional strategies: a tuner can specify multiple strategies; after running for a while a strategy times out and we assess if a better strategy is available. Each strategy specifies a</p> <ul> <li>name</li> <li>description</li> <li>timeout</li> <li>evaluation function</li> <li>set of BPF program names in tuner associated with strategy</li> </ul> <p>Strategies are optional and should be set in the tuner init() method via bpftune_strategies_add(). See test/strategy for a coded example. When a strategy times out, the various evaluation functions are called and the highest-value evaluation dictates the next stratgey.</p> <p>Strategies provide a way of providing multiple schemes for auto-tuning the same set of tunables, where the choice is guided by an evaluation of the effectiveness of the strategies.</p> </li> <li> <p>events specify a</p> <ul> <li>tuner id: which tuner the event is destined for</li> <li>a scenario: what happened</li> <li>an associated netns (if supported)</li> <li>information about the event (IP address etc)</li> </ul> </li> <li> <p>the tuner then responds to the event guided by the active strategy; increase or decrease a tunable value, etc. Describing the event in the log is key; this allows an admin to understand what changed and why.</p> </li> </ul> <h2>Architecture</h2> <ul> <li>bpftune is a daemon which manages a set of .so plugin tuners; each of these is a shared object that is loaded on start-up.</li> <li>tuners can be enabled or disabled; a tuner is automatically disabled if the admin changes associated tunables manually.</li> <li>tuners share a global BPF ring buffer which allows posting of events from BPF programs to userspace. For example, if the sysctl tuner sees a systl being set, it posts an event.</li> <li>each tuner has an associated id (set when it is loaded), and events posted contain the tuner id.</li> <li>each tuner has a BPF component (built using a BPF skeleton) and a userspace component. The latter has init(), fini() and event_handler() entrypoints. When an event is received, the tuner id is used to identify the appropriate event handler and its event_handler() callback function is run.</li> <li>init, fini and event_handler functions are loaded from the tuner .so object.</li> <li>BPF components should include bpftune.bpf.h; it contains the common map definitions (ringbuf, etc) and shared variables such as learning rate and tuner ids that each tuner needs.</li> </ul> <h2>Supported tuners</h2> <ul> <li>TCP connection tuner: auto-tune choice of congestion control algorithm. See bpftune-tcp-conn (8).</li> <li>neighbour table tuner: auto-tune neighbour table sizes by growing tables when approaching full. See bpftune-neigh (8).</li> <li>route table tuner: auto-tune route table size by growing tables when approaching full. See bpftune-route (8).</li> <li>sysctl tuner: monitor sysctl setting and if it collides with an auto-tuned sysctl value, disable the associated tuner. See bpftune-sysctl (8).</li> <li>TCP buffer tuner: auto-tune max and initial buffer sizes. See bpftune-tcp-buffer (8).</li> <li>net buffer tuner: auto-tune tunables related to core networking. See bpftune-net-buffer (8).</li> <li>netns tuner: notices addition and removal of network namespaces, which helps power namespace awareness for bpftune as a whole. Namespace awareness is important as we want to be able to auto-tune containers also. See bpftune-netns (8).</li> </ul> <h2>Code organization</h2> <p>Both core bpftune.c and individual tuners use the libbpftune library. It handles logging, tuner init/fini, and BPF init/fini.</p> <p>Each tuner shared object defines an init(), fini() and event_handler() function. These respectively set up and clean up BPF and handle events that originate from the BPF code.</p> <h2>Getting Started</h2> <p>If building the repository manually, simply run</p> <pre><code>$ make ; sudo make install </code></pre> <p>at the top-level of the repository. bpftune also supports a</p> <pre><code>$ make pkg </code></pre> <p>target, which will make a bpftune RPM. See ./buildrpm/bpftune.spec</p> <p>We can also build with non-standard libdir for distros which do not use /usr/lib64 like CachyOS; in this case to install to /usr/lib instead</p> <pre><code>$ make libdir=lib $ sudo make install libdir=lib </code></pre> <p>To build the following packages are needed (names may vary by distro);</p> <ul> <li>libbpf, libbpf-devel &gt;= 0.6</li> <li>libcap-devel</li> <li>bpftool &gt;= 4.18</li> <li>libnl3-devel</li> <li>clang &gt;= 11</li> <li>llvm &gt;= 11</li> <li>python3-docutils</li> </ul> <p>From the kernel side, the kernel needs to support BPF ring buffer (around the 5.6 kernel, though 5.4 is supported on Oracle Linux as ring buffer support was backported), and kernel BTF is required (CONFIG_DEBUG_INFO_BTF=y). Verify /sys/kernel/btf/vmlinux is present.</p> <p>To enable bpftune as a service</p> <pre><code>$ sudo service bpftune start </code></pre> <p>...and to enable it by default</p> <pre><code>$ sudo systemctl enable bpftune </code></pre> <p>bpftune logs to syslog so /var/log/messages will contain details of any tuning carried out.</p> <p>bpftune can also be run in the foreground as a program; to redirect output to stdout/stderr, run</p> <pre><code>$ sudo bpftune -s </code></pre> <p>On exit, bpftune will summarize any tuning done.</p> <h2>Tests</h2> <p>Tests are supplied for each tuner in the tests/ subdirectory. "make test" runs all the tests. Tests use network namespaces to simulate interactions with remote hosts. See ./TESTING.md for more details.</p> <h2>Does my system support bpftune?</h2> <p>Simply run "bpftune -S" to see:</p> <pre><code>$ bpftune -S bpftune works fully bpftune supports per-netns policy (via netns cookie) </code></pre> <p>Two aspects are important here</p> <ul> <li>does the system support fentry/fexit etc? If so full support is likely.</li> <li>does the system support network namespace cookies? If so per-network-namespace policy is supported.</li> </ul> <h2>Demo</h2> <p>Simply starting bpftune and observing changes made via /var/log/messages can be instructive. For example, on a standard VM with sysctl defaults, I ran</p> <pre><code>$ service bpftune start </code></pre> <p>...and went about normal development activities such as cloning git trees from upstream, building kernels, etc. From the log we see some of the adjustments bpftune made to accommodate these activities</p> <pre><code>$ sudo grep bpftune /var/log/messages ... Apr 19 16:14:59 bpftest bpftune[2778]: bpftune works fully Apr 19 16:14:59 bpftest bpftune[2778]: bpftune supports per-netns policy (via netns cookie) Apr 19 16:18:40 bpftest bpftune[2778]: Scenario 'specify bbr congestion control' occurred for tunable 'TCP congestion control' in global ns. Because loss rate has exceeded 1 percent for a connection, use bbr congestion control algorithm instead of default Apr 19 16:18:40 bpftest bpftune[2778]: due to loss events for 145.40.68.75, specify 'bbr' congestion control algorithm Apr 19 16:26:53 bpftest bpftune[2778]: Scenario 'need to increase TCP buffer size(s)' occurred for tunable 'net.ipv4.tcp_rmem' in global ns. Need to increase buffer size(s) to maximize throughput Apr 19 16:26:53 bpftest bpftune[2778]: Due to need to increase max buffer size to maximize throughput change net.ipv4.tcp_rmem(min default max) from (4096 131072 6291456) -&gt; (4096 131072 7864320) Apr 19 16:26:53 bpftest bpftune[2778]: Scenario 'need to increase TCP buffer size(s)' occurred for tunable 'net.ipv4.tcp_rmem' in global ns. Need to increase buffer size(s) to maximize throughput Apr 19 16:26:53 bpftest bpftune[2778]: Due to need to increase max buffer size to maximize throughput change net.ipv4.tcp_rmem(min default max) from (4096 131072 7864320) -&gt; (4096 131072 9830400) Apr 19 16:29:04 bpftest bpftune[2778]: Scenario 'specify bbr congestion control' occurred for tunable 'TCP congestion control' in global ns. Because loss rate has exceeded 1 percent for a connection, use bbr congestion control algorithm instead of default Apr 19 16:29:04 bpftest bpftune[2778]: due to loss events for 140.91.12.81, specify 'bbr' congestion control algorithm </code></pre> <p>To deterministically trigger bpftune behaviour, one approach we can take is to download a large file with inappropriate settings.</p> <p>In one window, set tcp rmem max to a too-low value, and run bpftune as a program logging to stdout/stderr (-s):</p> <pre><code>$ sudo sysctl -w net.ipv4.tcp_rmem="4096 131072 1310720" net.ipv4.tcp_rmem = 4096 131072 1310720 $ sudo bpftune -s </code></pre> <p>In another window, wget a large file:</p> <pre><code>$ wget https://yum.oracle.com/ISOS/OracleLinux/OL8/u7/x86_64/OracleLinux-R8-U7-x86_64-dvd.iso </code></pre> <p>In the first window, we see bpftune tuning up rmem:</p> <pre><code>bpftune: bpftune works in legacy mode bpftune: bpftune does not support per-netns policy (via netns cookie) bpftune: Scenario 'need to increase TCP buffer size(s)' occurred for tunable 'net.ipv4.tcp_rmem' in global ns. Need to increase buffer size(s) to maximize throughput bpftune: Due to need to increase max buffer size to maximize throughput change net.ipv4.tcp_rmem(min default max) from (4096 131072 1310720) -&gt; (4096 131072 1638400) </code></pre> <p>This occurs multiple times, and on exit (Ctrl+C) we see the summary of changes made:</p> <pre><code>bpftune: Summary: scenario 'need to increase TCP buffer size(s)' occurred 9 times for tunable 'net.ipv4.tcp_rmem' in global ns. Need to increase buffer size(s) to maximize throughput bpftune: sysctl 'net.ipv4.tcp_rmem' changed from (4096 131072 1310720 ) -&gt; (4096 131072 9765625 ) </code></pre> <h2>For more info</h2> <p>See the docs/ subdirectory for manual pages covering bpftune and associated tuners.</p> <p>bpftune was presented at the eBPF summit; <a href="https://www.youtube.com/watch?v=X0TvfH8hrQE&amp;t=420s">video here</a>.</p> <p>bpftune <a href="https://www.youtube.com/watch?v=3ylmGE6sW8w">was also discussed on Liz Rice's excellent eCHO eBPF podcast</a>, specifically in the context of using reinforcement learning in BPF</p> <h2>Contributing</h2> <p>This project welcomes contributions from the community. Before submitting a pull request, please <a href="https://raw.githubusercontent.com/oracle/bpftune/main/CONTRIBUTING.md">review our contribution guide</a></p> <h2>Security</h2> <p>Please consult the <a href="https://raw.githubusercontent.com/oracle/bpftune/main/SECURITY.md">security guide</a> for our responsible security vulnerability disclosure process</p> <h2>License</h2> <p>Copyright (c) 2023 Oracle and/or its affiliates.</p> <p>This software is available to you under</p> <p>SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note</p> <p>Being under the terms of the GNU General Public License version 2.</p> <p>SPDX-URL: <a href="https://spdx.org/licenses/GPL-2.0.html">https://spdx.org/licenses/GPL-2.0.html</a></p> <p>See <a href="https://raw.githubusercontent.com/oracle/bpftune/main/LICENSE.txt">the license file</a> for more details.</p> + simd-everywhere/simde + 2024-11-21T01:29:14Z + tag:github.com,2024-11-21:/simd-everywhere/simde + + <p>Implementations of SIMD instruction sets for systems which don't natively support them.</p><hr><h1>SIMD Everywhere</h1> <!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section --> <p><a href="https://raw.githubusercontent.com/simd-everywhere/simde/master/#contributors-"><img src="https://img.shields.io/badge/all_contributors-78-orange.svg?style=flat-square" alt="All Contributors"></a></p> <!-- ALL-CONTRIBUTORS-BADGE:END --> <p><a href="https://matrix.to/#/%23simd-everywhere_community:gitter.im"><img src="https://badges.gitter.im/gitterHQ/gitter.png" alt="Chat"></a> <a href="https://codecov.io/gh/simd-everywhere/simde"><img src="https://codecov.io/gh/simd-everywhere/simde/branch/master/graph/badge.svg?token=jcMBoRk0ui" alt="codecov"></a></p> <p>The SIMDe header-only library provides fast, portable implementations of <a href="https://en.wikipedia.org/wiki/SIMD">SIMD intrinsics</a> on hardware which doesn't natively support them, such as calling <a href="https://en.wikipedia.org/wiki/Streaming_SIMD_Extensions">SSE</a> functions on ARM. There is no performance penalty if the hardware supports the native implementation (<em>e.g.</em>, SSE/<a href="https://en.wikipedia.org/wiki/Advanced_Vector_Extensions">AVX</a> runs at full speed on <a href="https://en.wikipedia.org/wiki/X86">x86</a>, <a href="https://en.wikipedia.org/wiki/ARM_architecture#Advanced_SIMD_(Neon)">NEON</a> on <a href="https://en.wikipedia.org/wiki/ARM_architecture">ARM</a>, <em>etc.</em>).</p> <p>This makes porting code to other architectures much easier in a few key ways:</p> <p>First, instead of forcing you to rewrite everything for each architecture, SIMDe lets you get a port up and running almost effortlessly. You can then start working on switching the most performance-critical sections to native intrinsics, improving performance gradually. SIMDe lets (for example) SSE/AVX and NEON code exist side-by-side, in the same implementation.</p> <p>Second, SIMDe makes it easier to write code targeting <a href="https://en.wikipedia.org/wiki/Instruction_set_architecture">ISA</a> extensions you don't have convenient access to. You can run NEON code on your x86 machine <em>without an emulator</em>. Obviously you'll eventually want to test on the actual hardware you're targeting, but for most development, SIMDe can provide a much easier path.</p> <p>SIMDe takes a very different approach from most other SIMD abstraction layers in that it aims to expose the entire functionality of the underlying instruction set. Instead of limiting functionality to the lowest common denominator, SIMDe tries to minimize the amount of effort required to port while still allowing you the space to optimize as needed.</p> <p>The current focus is on writing complete portable implementations, though a large number of functions already have accelerated implementations using one (or more) of the following:</p> <ul> <li>SIMD intrinsics from other ISA extensions (e.g., using NEON to implement SSE).</li> <li>Compiler-specific vector extensions and built-ins such as <a href="http://clang.llvm.org/docs/LanguageExtensions.html#langext-builtin-shufflevector"><code>__builtin_shufflevector</code></a> and <a href="http://clang.llvm.org/docs/LanguageExtensions.html#langext-builtin-convertvector"><code>__builtin_convertvector</code></a></li> <li>Compiler auto-vectorization hints, using: <ul> <li><a href="http://www.openmp.org/">OpenMP 4 SIMD</a></li> <li><a href="https://www.cilkplus.org/">Cilk Plus</a></li> <li><a href="https://gcc.gnu.org/onlinedocs/gcc/Loop-Specific-Pragmas.html">GCC loop-specific pragmas</a></li> <li><a href="http://llvm.org/docs/Vectorizers.html#pragma-loop-hint-directives">clang pragma loop hint directives</a></li> </ul> </li> </ul> <p>You can <a href="https://simde.netlify.app/godbolt/demo">try SIMDe online</a> using Compiler Explorer and an amalgamated SIMDe header.</p> <p>If you have any questions, please feel free to use the <a href="https://github.com/simd-everywhere/simde/issues">issue tracker</a> or the <a href="https://groups.google.com/forum/#!forum/simde">mailing list</a>.</p> <h2>Current Status</h2> <p>There are currently complete implementations of the following instruction set extensions:</p> <ul> <li>ARM <ul> <li><a href="https://en.wikipedia.org/wiki/ARM_architecture_family#Advanced_SIMD_(Neon)">NEON</a> <a href="https://developer.arm.com/architectures/instruction-sets/intrinsics/#f:@navigationhierarchiessimdisa=%5BNeon%5D">List</a></li> </ul> </li> <li>x86 / x86_64 <ul> <li><a href="https://en.wikipedia.org/wiki/MMX_(instruction_set)">MMX</a> <a href="https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#techs=MMX">List</a></li> <li><a href="https://en.wikipedia.org/wiki/Streaming_SIMD_Extensions">SSE</a> <a href="https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#ssetechs=SSE">List</a></li> <li><a href="https://en.wikipedia.org/wiki/SSE2">SSE2</a> <a href="https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#ssetechs=SSE2">List</a></li> <li><a href="https://en.wikipedia.org/wiki/SSE3">SSE3</a> <a href="https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#ssetechs=SSE3">List</a></li> <li><a href="https://en.wikipedia.org/wiki/SSSE3">SSSE3</a> <a href="https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#ssetechs=SSSE3">List</a></li> <li><a href="https://en.wikipedia.org/wiki/SSE4#SSE4.1">SSE4.1</a> <a href="https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#ssetechs=SSE4_1">List</a></li> <li><a href="https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#ig_expand=7131&amp;othertechs=CRC32">CRC32</a></li> <li><a href="https://en.wikipedia.org/wiki/Advanced_Vector_Extensions">AVX</a> <a href="https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#avxnewtechs=AVX">List</a></li> <li><a href="https://en.wikipedia.org/wiki/Advanced_Vector_Extensions#Advanced_Vector_Extensions_2">AVX2</a> <a href="https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#avxnewtechs=AVX2">List</a></li> <li><a href="https://en.wikipedia.org/wiki/F16C">F16C</a> <a href="https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#avxnewtechs=F16C">List</a></li> <li><a href="https://en.wikipedia.org/wiki/FMA_instruction_set">FMA</a> <a href="https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#avxnewtechs=FMA">List</a></li> <li><a href="https://en.wikipedia.org/wiki/AVX-512#GFNI">GFNI</a> <a href="https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#othertechs=GFNI">List</a></li> <li><a href="https://en.wikipedia.org/wiki/XOP_instruction_set">XOP</a></li> <li><a href="https://software.intel.com/content/www/us/en/develop/documentation/cpp-compiler-developer-guide-and-reference/top/compiler-reference/intrinsics/intrinsics-for-intel-advanced-vector-extensions-512-intel-avx-512-instructions/intrinsics-for-arithmetic-operations-1/intrinsics-for-short-vector-math-library-svml-operations.html">SVML</a> <a href="https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#ig_expand=770&amp;techs=SVML">List</a></li> <li><a href="https://en.wikipedia.org/wiki/AVX-512#VPOPCNTDQ_and_BITALG">AVX512VPOPCNTDQ</a> <a href="https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#ig_expand=7131&amp;avx512techs=AVX512VPOPCNTDQ">List</a></li> <li><a href="https://en.wikipedia.org/wiki/AVX-512#VPOPCNTDQ_and_BITALG">AVX512_BITALG</a> <a href="https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#ig_expand=7131&amp;avx512techs=AVX512_BITALG">List</a></li> <li><a href="https://en.wikipedia.org/wiki/AVX-512#Permute">AVX512_VBMI</a> <a href="https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#ig_expand=7131&amp;avx512techs=AVX512_VBMI">List</a></li> <li><a href="https://en.wikipedia.org/wiki/AVX-512#VNNI">AVX512_VNNI</a> <a href="https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#ig_expand=7131&amp;avx512techs=AVX512_VNNI">List</a></li> <li><a href="https://en.wikipedia.org/wiki/AVX-512#VP2INTERSECT">AVX512_VP2INTERSECT</a> <a href="https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#ig_expand=7131&amp;avx512techs=AVX512_VP2INTERSECT">List</a></li> <li><a href="https://en.wikipedia.org/wiki/AVX-512#VPCLMULQDQ">VPCLMULQDQ</a> <a href="https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#othertechs=VPCLMULQDQ">List</a></li> </ul> </li> <li>WebAssembly <ul> <li><a href="https://github.com/WebAssembly/simd">SIMD128</a></li> </ul> </li> </ul> <p>As well as partial support for many others, including AES-ni, <a href="https://en.wikipedia.org/wiki/CLMUL_instruction_set">CLMUL</a>, SSE4.2, SVE, <a href="https://en.wikipedia.org/wiki/MIPS_architecture#Application-specific_extensions">MSA</a> in addition to several AVX-512 extensions. See the <a href="https://github.com/simd-everywhere/simde/issues?q=is%3Aissue+is%3Aopen+label%3Ainstruction-set-support+sort%3Aupdated-desc">instruction-set-support</a> label in the issue tracker for details on progress. If you'd like to be notified when an instruction set is available you may subscribe to the relevant issue.</p> <p>If you have a project you're interested in using with SIMDe but we don't yet support all the functions you need, please file an issue with a list of what's missing so we know what to prioritize.</p> <p>The default branch is protected so commits never reach it unless they have passed extensive CI checks. Status badges don't really make sense since they will always be green, but here are the links:</p> <ul> <li><a href="https://github.com/simd-everywhere/simde/actions">GitHub Actions</a></li> <li><a href="https://cirrus-ci.com/github/simd-everywhere/simde">Cirrus CI</a></li> <li><a href="https://nemequ.semaphoreci.com/projects/simde">Semaphore CI</a></li> <li><a href="https://app.circleci.com/pipelines/github/simd-everywhere/simde">Circle CI</a></li> <li><a href="https://ci.appveyor.com/project/nemequ/simde">AppVeyor</a></li> <li><a href="https://dev.azure.com/simd-everywhere/SIMDe/_build">Azure Pipelines</a></li> <li><a href="https://cloud.drone.io/simd-everywhere/simde/">Drone CI</a></li> <li><a href="https://app.travis-ci.com/github/simd-everywhere/simde/">Travis CI</a></li> <li><a href="https://dashboard.packit.dev/projects/github.com/simd-everywhere/simde">Packit CI</a></li> </ul> <p>If you're adding a new build I suggest Cirrus CI, which is where we currently have the most room given the number of builds currently on the platform and the quotas for free/open-source usage. Alternately, feel free to set up another provider (such as <a href="https://codefresh.io/">Codefresh</a>, <a href="https://www.shippable.com/">Shippable</a>, <a href="https://www.bitrise.io/">Bitrise</a>, <a href="https://app.wercker.com/">Werkaer</a>, etc.).</p> <p><em>Notice</em>: we plan on changing the name of the default branch from "master" to something else soon; we are just trying to wait to see what name git settles on so we can be consistent.</p> <h2>Contributing</h2> <p>First off, if you're reading this: thank you! Even considering contributing to SIMDe is very much appreciated!</p> <p>SIMDe is a fairly large undertaking; there are a <em>lot</em> of functions to get through and a lot of opportunities for optimization on different platforms, so we're very happy for any help you can provide.</p> <p>Programmers of all skill levels are welcome, there are lots of tasks which are pretty straightforward and don't require any special expertise.</p> <p>If you're not sure how you'd like to contribute, please consider taking a look at <a href="https://github.com/simd-everywhere/simde/issues">the issue tracker</a>. There is a <a href="https://github.com/simd-everywhere/simde/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22">good first issue</a> tag if you want to ease into a your first contributions, but if you're interested in something else please get in touch via the issue tracker; we're happy to help you get a handle on whatever you are interested in.</p> <p>If you're interested in implementing currently unimplemented functions, there is <a href="https://github.com/simd-everywhere/simde/wiki/Implementing-a-New-Function">a guide</a> explaining how to add new functions and how to quickly and easily get a test case in place. It's a bit rough right now, but if anything is unclear please feel free to use the issue tracker to ask about anything you're not clear on.</p> <h2>Usage</h2> <p>First, it is important to note that <em>you do not need two separate versions</em> (one using SIMDe, the other native). If the native functions are available SIMDe will use them, and compilers easily optimize away any overhead from SIMDe; all they have to do is some basic inlining. <code>-O2</code> should be enough, but we strongly recommend <code>-O3</code> (or whatever flag instructs your compiler to aggressizely optimize) since many of the portable fallbacks are substantially faster with aggressive auto-vectorization that isn't enabled at lower optimization levels.</p> <p>Each instruction set has a separate file; <code>x86/mmx.h</code> for MMX, <code>x86/sse.h</code> for SSE, <code>x86/sse2.h</code> for SSE2, and so on. Just include the header for whichever instruction set(s) you want <em>instead of the native version</em> (if you include the native version after SIMDe it will result in compile-time errors if native aliases are enabled). SIMDe will provide the fastest implementation it can given which extensions you've enabled in your compiler (i.e., if you want to use NEON to implement SSE, you may need to pass something like <code>-mfpu=neon</code> or <code>-march=armv8-a+simd</code>. See <a href="https://gcc.gnu.org/onlinedocs/gcc/ARM-Options.html">GCC ARM-Options</a> for more information).</p> <p>If you define <code>SIMDE_ENABLE_NATIVE_ALIASES</code> before including SIMDe you can use the same names as the native functions. Unfortunately, this is somewhat error-prone due to portability issues in the APIs, so it's recommended to only do this for testing. When <code>SIMDE_ENABLE_NATIVE_ALIASES</code> is undefined only the versions prefixed with <code>simde_</code> will be available; for example, the MMX <code>_mm_add_pi8</code> intrinsic becomes <code>simde_mm_add_pi8</code>, and <code>__m64</code> becomes <code>simde__m64</code>.</p> <p>Since SIMDe is meant to be portable, many functions which assume types are of a specific size have been altered to use fixed-width types instead. For example, Intel's APIs use <code>char</code> for signed 8-bit integers, but <code>char</code> on ARM is generally unsigned. SIMDe uses <code>int8_t</code> to make the API portable, but that means your code may require some minor changes (such as using <code>int8_t</code> instead of <code>char</code>) to work on other platforms.</p> <p>That said, the changes are usually quite minor. It's often enough to just use search and replace, manual changes are required pretty infrequently.</p> <h3>OpenMP 4 SIMD</h3> <p>SIMDe makes extensive use of annotations to help the compiler vectorize code. By far the best annotations use the SIMD support built in to OpenMP 4, so if your compiler supports these annotations we strongly recommend you enable them.</p> <p>If you are already using OpenMP, SIMDe will automatically detect it using the <code>_OPENMP</code> macro and no further action is required.</p> <p>Some compilers allow you to enable OpenMP SIMD <em>without</em> enabling the full OpenMP. In such cases there is no runtime dependency on OpenMP and no runtime overhead; SIMDe will just be faster. Unfortunately, SIMDe has no way to detect such situations (the <code>_OPENMP</code> macro is not defined), so after enabling it in your compiler you'll need to define <code>SIMDE_ENABLE_OPENMP</code> (e.g., by passing <code>-DSIMDE_ENABLE_OPENMP</code>) to get SIMDe to output the relevant pragmas.</p> <p>Enabling OpenMP SIMD support varies by compiler:</p> <ul> <li>GCC 4.9+ and clang 6+ support a <code>-fopenmp-simd</code> command line flag.</li> <li>ICC supports a <code>-qopenmp-simd</code> command line flag.</li> <li>MCST's LCC enables OpenMP SIMD by default, so no flags are needed (technically you don't even need to pass <code>-DSIMDE_ENABLE_OPENMP</code>).</li> </ul> <p>We are not currently aware of any other compilers which allow you to enable OpenMP SIMD support without enabling full OpenMP (if you are please file an issue to let us know). You should determine whether you wish to enable full OpenMP support on a case-by-case basis, but it is likely that the overhead of linking to (but not using) the OpenMP runtime library will be dwarfed by the performance improvements from using the OpenMP SIMD annotations in SIMDe.</p> <p>If you choose not to use OpenMP SIMD, SIMDe also supports using <a href="https://www.cilkplus.org/">Cilk Plus</a>, <a href="https://gcc.gnu.org/onlinedocs/gcc/Loop-Specific-Pragmas.html">GCC loop-specific pragmas</a>, or <a href="http://llvm.org/docs/Vectorizers.html#pragma-loop-hint-directives">clang pragma loop hint directives</a>, though these are not nearly as effective as OpenMP SIMD and depending on them will likely result in less efficient code. All of these are detected automatically by SIMDe, so if they are enabled in your compiler nothing more is required.</p> <p>If for some reason you do not wish to enable OpenMP 4 SIMD support even though SIMDe detects it, you should define <code>SIMDE_DISABLE_OPENMP</code> prior to including SIMDe.</p> <h2>Portability</h2> <h3>Compilers</h3> <p>SIMDe does depend on some C99 features, though the subset supported by MSVC also works. While we do our best to make sure we provide optimized implementations where they are supported, SIMDe does contain portable fallbacks which are designed to work on any C99 compiler.</p> <p>Every commit is tested in CI on multiple compilers, platforms, and configurations, and our test coverage is extremely extensive. Currently tested compilers include:</p> <ul> <li>GCC versions back to 4.8</li> <li>Clang versions back to 3.8</li> <li>Microsoft Visual Studio back to 12 (2013)</li> <li>IBM XL C/C++</li> <li>Intel C/C++ Compiler (ICC)</li> </ul> <p>I'm generally willing to accept patches to add support for other compilers, as long as they're not too disruptive, <em>especially</em> if we can get CI support going. If using one of our existing CI providers isn't an option then other CI platforms can be added.</p> <h3>Hardware</h3> <p>The following architectures are tested in CI for every commit:</p> <ul> <li>x86_64/amd64</li> <li>x86</li> <li>AArch64</li> <li>ARMv8</li> <li>ARMv7 with VFPv3-D16 floating point</li> <li>ARMv5 EABI</li> <li>PPC64</li> <li>z/Architecture (with "-mzvector")</li> <li>MIPS Loongson 64</li> <li>RISC-V 64</li> <li>emscripten 32- &amp; 64-bit; regular and relaxed</li> </ul> <p>We would love to add more, so patches are extremely welcome!</p> <h2>Related Projects</h2> <ul> <li>The "builtins" module in <a href="https://github.com/nemequ/portable-snippets">portable-snippets</a> does much the same thing, but for compiler-specific intrinsics (think <code>__builtin_clz</code> and <code>_BitScanForward</code>), <strong>not</strong> SIMD intrinsics.</li> <li>Intel offers an emulator, the <a href="https://software.intel.com/en-us/articles/intel-software-development-emulator/">Intel® Software Development Emulator</a> which can be used to develop software which uses Intel intrinsics without having to own hardware which supports them, though it doesn't help for deployment.</li> <li><a href="https://github.com/AlexYaruki/iris">Iris</a> is the only other project I'm aware of which is attempting to create portable implementations like SIMDe. SIMDe is much further along on the Intel side, but Iris looks to be in better shape on ARM. C++-only, Apache 2.0 license. AFAICT there are no accelerated fallbacks, nor is there a good way to add them since it relies extensively on templates.</li> <li>There are a few projects trying to implement one set with another: <ul> <li><a href="https://github.com/intel/ARM_NEON_2_x86_SSE">ARM_NEON_2_x86_SSE</a> — implementing NEON using SSE. Quite extensive, Apache 2.0 license.</li> <li><a href="https://github.com/jratcliff63367/sse2neon">sse2neon</a> — implementing SSE using NEON. This code has already been merged into SIMDe.</li> <li><a href="https://github.com/IvantheDugtrio/veclib">veclib</a> — implementing SSE2 using AltiVec/VMX, using a non-free IBM library called <a href="https://www.ibm.com/developerworks/community/groups/community/powerveclib/">powerveclib</a></li> <li><a href="https://github.com/otim/SSE-to-NEON">SSE-to-NEON</a> — implementing SSE with NEON. Non-free, C++.</li> <li><a href="https://github.com/kunpengcompute/AvxToNeon">AvxToNeon</a> — Popular AVX+ intrinsincs implemented in NEON. C, Apache 2.0 license.</li> <li><a href="https://github.com/howjmay/neon2rvv">neon2rvv</a> - A C/C++ header file that converts Arm/Aarch64 NEON intrinsics to RISC-V Vector (RVV) Extension, MIT license</li> <li><a href="https://github.com/pattonkan/sse2rvv">sse2rvv</a> - A C/C++ header file that converts Intel SSE intrinsics to RISCV-V Extension intrinsics, MIT license.</li> </ul> </li> <li><a href="https://github.com/christophe-lyon/arm-neon-tests">arm-neon-tests</a> contains tests to verify NEON implementations.</li> </ul> <p>If you know of any other related projects, please <a href="https://github.com/simd-everywhere/simde/issues/new">let us know</a>!</p> <h2>Caveats</h2> <p>Sometime features can't be emulated. If SIMDe is operating in native mode the functions will work as expected, but if there is no native support some caveats apply:</p> <ul> <li>Many functions require &lt;math.h&gt; and/or &lt;fenv.h&gt;. SIMDe will still work without those headers, but the results of those functions are undefined.</li> <li>x86 / x86_64 <ul> <li>SSE <ul> <li><code>SIMDE_MM_SET_ROUNDING_MODE()</code> will use <code>fesetround()</code>, altering the global rounding mode.</li> <li><code>simde_mm_getcsr</code> and <code>simde_mm_setcsr</code> only implement bits 13 and 14 (rounding mode).</li> </ul> </li> <li>AVX <ul> <li><code>simde_mm256_test*</code> do not set the CF/ZF registers as there is no portable way to implement that functionality.</li> <li><code>simde_mm256_zeroall</code> and <code>simde_mm256_zeroupper</code> are not implemented as there is no portable way to implement that functionality.</li> </ul> </li> </ul> </li> </ul> <p>Additionally, there are some known limitations which apply when using native aliases (<code>SIMDE_ENABLE_NATIVE_ALIASES</code>):</p> <ul> <li>On Windows x86 (but not x86_64), some MMX functions and SSE/SSE2 functions which use MMX types (__m64) other than for pointers may return incorrect results.</li> </ul> <p>Also, as mentioned earlier, while some APIs make assumptions about basic types (<em>e.g.</em>, <code>int</code> is 32 bits), SIMDe does not, so many types have been altered to use portable fixed-width versions such as <code>int32_t</code>.</p> <p>If you find any other differences, please file an issue so we can either fix it or add it to the list above.</p> <h2>Benefactors</h2> <p>SIMDe uses resources provided for free by a number of organizations. While this shouldn't be taken to imply endorsement of SIMDe, we're tremendously grateful for their support:</p> <ul> <li><a href="https://integricloud.com/">IntegriCloud</a> — provides access to a very fast POWER9 server for developing AltiVec/VMX support.</li> <li><a href="https://gcc.gnu.org/wiki/CompileFarm">GCC Compile Farm</a> — provides access to a wide range of machines with different architectures for developing support for various ISA extensions.</li> <li><a href="https://codecov.io/">CodeCov.io</a> — provides code coverage analysis for our test cases.</li> <li><a href="https://www.google.com/">Google</a> ­— financing <a href="https://summerofcode.withgoogle.com/">Summer of Code</a>, substantial amounts of code (Sean Maher's contributions), and an <a href="https://opensource.google/docs/growing/peer-bonus/">Open Source Peer Bonus</a>.</li> </ul> <p>Without such organizations donating resources, SIMDe wouldn't be nearly as useful or usable as it is today.</p> <p>We would also like to thank anyone who has helped develop the myriad of software on which SIMDe relies, including compilers and analysis tools.</p> <p>Finally, a special thank you to <a href="https://github.com/simd-everywhere/simde/graphs/contributors">anyone who has contributed</a> to SIMDe, filed bugs, provided suggestions, or helped with SIMDe development in any way.</p> <h2>License</h2> <p>SIMDe is distributed under an MIT-style license; see COPYING for details.</p> <h2>Contributors ✨</h2> <p>Thanks goes to these wonderful people (<a href="https://allcontributors.org/docs/en/emoji-key">emoji key</a>):</p> <!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --> <!-- prettier-ignore-start --> <!-- markdownlint-disable --> <table> <tbody> <tr> <td align="center"><a href="https://nemequ.github.io/"><img src="https://avatars0.githubusercontent.com/u/1151?v=4" width="100px;" alt=""><br><sub><b>Evan Nemerson</b></sub></a><br><a href="https://github.com/nemequ/simde/commits?author=nemequ" title="Code">💻</a> <a href="https://raw.githubusercontent.com/simd-everywhere/simde/master/#content-nemequ" title="Content">🖋</a> <a href="https://github.com/nemequ/simde/commits?author=nemequ" title="Documentation">📖</a> <a href="https://raw.githubusercontent.com/simd-everywhere/simde/master/#example-nemequ" title="Examples">💡</a> <a href="https://raw.githubusercontent.com/simd-everywhere/simde/master/#ideas-nemequ" title="Ideas, Planning, &amp; Feedback">🤔</a> <a href="https://raw.githubusercontent.com/simd-everywhere/simde/master/#question-nemequ" title="Answering Questions">💬</a> <a href="https://github.com/nemequ/simde/pulls?q=is%3Apr+reviewed-by%3Anemequ" title="Reviewed Pull Requests">👀</a> <a href="https://github.com/nemequ/simde/commits?author=nemequ" title="Tests">⚠️</a> <a href="https://raw.githubusercontent.com/simd-everywhere/simde/master/#tutorial-nemequ" title="Tutorials">✅</a> <a href="https://raw.githubusercontent.com/simd-everywhere/simde/master/#talk-nemequ" title="Talks">📢</a> <a href="https://github.com/nemequ/simde/issues?q=author%3Anemequ" title="Bug reports">🐛</a> <a href="https://raw.githubusercontent.com/simd-everywhere/simde/master/#infra-nemequ" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="https://raw.githubusercontent.com/simd-everywhere/simde/master/#maintenance-nemequ" title="Maintenance">🚧</a> <a href="https://raw.githubusercontent.com/simd-everywhere/simde/master/#projectManagement-nemequ" title="Project Management">📆</a></td> <td align="center"><a href="https://orcid.org/0000-0002-2961-9670"><img src="https://avatars3.githubusercontent.com/u/1330696?v=4" width="100px;" alt=""><br><sub><b>Michael R. Crusoe</b></sub></a><br><a href="https://github.com/nemequ/simde/issues?q=author%3Amr-c" title="Bug reports">🐛</a> <a href="https://github.com/nemequ/simde/commits?author=mr-c" title="Code">💻</a> <a href="https://raw.githubusercontent.com/simd-everywhere/simde/master/#eventOrganizing-mr-c" title="Event Organizing">📋</a> <a href="https://raw.githubusercontent.com/simd-everywhere/simde/master/#fundingFinding-mr-c" title="Funding Finding">🔍</a> <a href="https://raw.githubusercontent.com/simd-everywhere/simde/master/#ideas-mr-c" title="Ideas, Planning, &amp; Feedback">🤔</a> <a href="https://raw.githubusercontent.com/simd-everywhere/simde/master/#infra-mr-c" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="https://raw.githubusercontent.com/simd-everywhere/simde/master/#platform-mr-c" title="Packaging/porting to new platform">📦</a> <a href="https://github.com/nemequ/simde/commits?author=mr-c" title="Tests">⚠️</a> <a href="https://raw.githubusercontent.com/simd-everywhere/simde/master/#maintenance-mr-c" title="Maintenance">🚧</a> <a href="https://raw.githubusercontent.com/simd-everywhere/simde/master/#projectManagement-mr-c" title="Project Management">📆</a> <a href="https://github.com/nemequ/simde/pulls?q=is%3Apr+reviewed-by%3Amr-c" title="Reviewed Pull Requests">👀</a></td> <td align="center"><a href="https://github.com/himanshi18037"><img src="https://avatars1.githubusercontent.com/u/43923076?v=4" width="100px;" alt=""><br><sub><b>HIMANSHI MATHUR</b></sub></a><br><a href="https://github.com/nemequ/simde/commits?author=himanshi18037" title="Code">💻</a> <a href="https://github.com/nemequ/simde/commits?author=himanshi18037" title="Tests">⚠️</a></td> <td align="center"><a href="https://github.com/masterchef2209"><img src="https://avatars0.githubusercontent.com/u/27916352?v=4" width="100px;" alt=""><br><sub><b>Hidayat Khan</b></sub></a><br><a href="https://github.com/nemequ/simde/commits?author=masterchef2209" title="Code">💻</a> <a href="https://github.com/nemequ/simde/commits?author=masterchef2209" title="Tests">⚠️</a></td> <td align="center"><a href="https://github.com/rosbif"><img src="https://avatars1.githubusercontent.com/u/553899?v=4" width="100px;" alt=""><br><sub><b>rosbif</b></sub></a><br><a href="https://github.com/nemequ/simde/commits?author=rosbif" title="Code">💻</a> <a href="https://github.com/nemequ/simde/commits?author=rosbif" title="Tests">⚠️</a> <a href="https://github.com/nemequ/simde/issues?q=author%3Arosbif" title="Bug reports">🐛</a> <a href="https://raw.githubusercontent.com/simd-everywhere/simde/master/#ideas-rosbif" title="Ideas, Planning, &amp; Feedback">🤔</a> <a href="https://github.com/nemequ/simde/commits?author=rosbif" title="Documentation">📖</a></td> <td align="center"><a href="http://junaruga.hatenablog.com/"><img src="https://avatars2.githubusercontent.com/u/121989?v=4" width="100px;" alt=""><br><sub><b>Jun Aruga</b></sub></a><br><a href="https://github.com/nemequ/simde/commits?author=junaruga" title="Code">💻</a> <a href="https://raw.githubusercontent.com/simd-everywhere/simde/master/#ideas-junaruga" title="Ideas, Planning, &amp; Feedback">🤔</a> <a href="https://raw.githubusercontent.com/simd-everywhere/simde/master/#platform-junaruga" title="Packaging/porting to new platform">📦</a> <a href="https://raw.githubusercontent.com/simd-everywhere/simde/master/#infra-junaruga" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="https://raw.githubusercontent.com/simd-everywhere/simde/master/#maintenance-junaruga" title="Maintenance">🚧</a> <a href="https://github.com/nemequ/simde/commits?author=junaruga" title="Tests">⚠️</a> <a href="https://github.com/nemequ/simde/issues?q=author%3Ajunaruga" title="Bug reports">🐛</a></td> <td align="center"><a href="https://github.com/marmeladema"><img src="https://avatars2.githubusercontent.com/u/1629419?v=4" width="100px;" alt=""><br><sub><b>Élie ROUDNINSKI</b></sub></a><br><a href="https://github.com/nemequ/simde/commits?author=marmeladema" title="Code">💻</a> <a href="https://github.com/nemequ/simde/commits?author=marmeladema" title="Tests">⚠️</a></td> </tr> <tr> <td align="center"><a href="http://www.bache.name"><img src="https://avatars3.githubusercontent.com/u/7937081?v=4" width="100px;" alt=""><br><sub><b>Jesper Storm Bache</b></sub></a><br><a href="https://github.com/nemequ/simde/commits?author=jsbache" title="Code">💻</a></td> <td align="center"><a href="https://github.com/jeffdaily"><img src="https://avatars1.githubusercontent.com/u/904248?v=4" width="100px;" alt=""><br><sub><b>Jeff Daily</b></sub></a><br><a href="https://github.com/nemequ/simde/commits?author=jeffdaily" title="Code">💻</a> <a href="https://raw.githubusercontent.com/simd-everywhere/simde/master/#infra-jeffdaily" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a></td> <td align="center"><a href="https://github.com/yekm"><img src="https://avatars2.githubusercontent.com/u/205196?v=4" width="100px;" alt=""><br><sub><b>Pavel</b></sub></a><br><a href="https://github.com/nemequ/simde/commits?author=yekm" title="Code">💻</a></td> <td align="center"><a href="https://github.com/sabarishbollapragada"><img src="https://avatars3.githubusercontent.com/u/36379720?v=4" width="100px;" alt=""><br><sub><b>Sabarish Bollapragada</b></sub></a><br><a href="https://github.com/nemequ/simde/commits?author=sabarishbollapragada" title="Code">💻</a></td> <td align="center"><a href="http://www.thegavinli.com/"><img src="https://avatars2.githubusercontent.com/u/371529?v=4" width="100px;" alt=""><br><sub><b>Gavin Li</b></sub></a><br><a href="https://github.com/nemequ/simde/commits?author=gh2o" title="Code">💻</a></td> <td align="center"><a href="http://www.yiningkarlli.com"><img src="https://avatars0.githubusercontent.com/u/1057198?v=4" width="100px;" alt=""><br><sub><b>Yining Karl Li</b></sub></a><br><a href="https://github.com/nemequ/simde/commits?author=betajippity" title="Code">💻</a></td> <td align="center"><a href="https://www.facebook.com/anirbandey303"><img src="https://avatars1.githubusercontent.com/u/29774651?v=4" width="100px;" alt=""><br><sub><b>Anirban Dey</b></sub></a><br><a href="https://github.com/nemequ/simde/commits?author=anirbandey303" title="Documentation">📖</a></td> </tr> <tr> <td align="center"><a href="https://github.com/Un1Gfn"><img src="https://avatars3.githubusercontent.com/u/28521292?v=4" width="100px;" alt=""><br><sub><b>Darren Ng</b></sub></a><br><a href="https://github.com/nemequ/simde/commits?author=Un1Gfn" title="Documentation">📖</a></td> <td align="center"><a href="https://github.com/FaresSalem"><img src="https://avatars0.githubusercontent.com/u/7736245?v=4" width="100px;" alt=""><br><sub><b>FaresSalem</b></sub></a><br><a href="https://github.com/nemequ/simde/commits?author=FaresSalem" title="Documentation">📖</a></td> <td align="center"><a href="https://github.com/GorePradnyesh"><img src="https://avatars0.githubusercontent.com/u/843197?v=4" width="100px;" alt=""><br><sub><b>Pradnyesh Gore</b></sub></a><br><a href="https://github.com/nemequ/simde/commits?author=GorePradnyesh" title="Code">💻</a></td> <td align="center"><a href="https://github.com/seanptmaher"><img src="https://avatars0.githubusercontent.com/u/39571964?v=4" width="100px;" alt=""><br><sub><b>Sean Maher</b></sub></a><br><a href="https://github.com/nemequ/simde/commits?author=seanptmaher" title="Code">💻</a></td> <td align="center"><a href="https://zh.wikipedia.org/wiki/User:Artoria2e5"><img src="https://avatars.githubusercontent.com/u/6459309?v=4" width="100px;" alt=""><br><sub><b>Mingye Wang</b></sub></a><br><a href="https://github.com/nemequ/simde/commits?author=Artoria2e5" title="Documentation">📖</a></td> <td align="center"><a href="http://www.ngzhian.com"><img src="https://avatars.githubusercontent.com/u/1749303?v=4" width="100px;" alt=""><br><sub><b>Ng Zhi An</b></sub></a><br><a href="https://github.com/nemequ/simde/commits?author=ngzhian" title="Code">💻</a> <a href="https://github.com/nemequ/simde/commits?author=ngzhian" title="Documentation">📖</a></td> <td align="center"><a href="https://github.com/Glitch18"><img src="https://avatars.githubusercontent.com/u/30515829?v=4" width="100px;" alt=""><br><sub><b>Atharva Nimbalkar</b></sub></a><br><a href="https://github.com/nemequ/simde/commits?author=Glitch18" title="Code">💻</a> <a href="https://github.com/nemequ/simde/commits?author=Glitch18" title="Tests">⚠️</a></td> </tr> <tr> <td align="center"><a href="https://github.com/simba611"><img src="https://avatars.githubusercontent.com/u/59763921?v=4" width="100px;" alt=""><br><sub><b>simba611</b></sub></a><br><a href="https://github.com/nemequ/simde/commits?author=simba611" title="Code">💻</a> <a href="https://github.com/nemequ/simde/commits?author=simba611" title="Tests">⚠️</a></td> <td align="center"><a href="https://ashnewmanjones.com"><img src="https://avatars.githubusercontent.com/u/29983014?v=4" width="100px;" alt=""><br><sub><b>Ashleigh Newman-Jones</b></sub></a><br><a href="https://github.com/nemequ/simde/commits?author=ashnewmanjones" title="Code">💻</a> <a href="https://github.com/nemequ/simde/commits?author=ashnewmanjones" title="Tests">⚠️</a></td> <td align="center"><a href="https://alum.mit.edu/www/wrv/"><img src="https://avatars.githubusercontent.com/u/5039686?v=4" width="100px;" alt=""><br><sub><b>Willy R. Vasquez</b></sub></a><br><a href="https://github.com/nemequ/simde/commits?author=wrv" title="Code">💻</a> <a href="https://raw.githubusercontent.com/simd-everywhere/simde/master/#maintenance-wrv" title="Maintenance">🚧</a> <a href="https://github.com/nemequ/simde/commits?author=wrv" title="Tests">⚠️</a></td> <td align="center"><a href="https://cs.stanford.edu/~keithw"><img src="https://avatars.githubusercontent.com/u/208955?v=4" width="100px;" alt=""><br><sub><b>Keith Winstein</b></sub></a><br><a href="https://github.com/nemequ/simde/commits?author=keithw" title="Code">💻</a> <a href="https://raw.githubusercontent.com/simd-everywhere/simde/master/#maintenance-keithw" title="Maintenance">🚧</a> <a href="https://github.com/nemequ/simde/commits?author=keithw" title="Tests">⚠️</a></td> <td align="center"><a href="https://github.com/SoapGentoo"><img src="https://avatars.githubusercontent.com/u/16636962?v=4" width="100px;" alt=""><br><sub><b>David Seifert</b></sub></a><br><a href="https://raw.githubusercontent.com/simd-everywhere/simde/master/#maintenance-SoapGentoo" title="Maintenance">🚧</a></td> <td align="center"><a href="https://mirdita.de"><img src="https://avatars.githubusercontent.com/u/63657?v=4" width="100px;" alt=""><br><sub><b>Milot Mirdita</b></sub></a><br><a href="https://github.com/nemequ/simde/commits?author=milot-mirdita" title="Code">💻</a> <a href="https://raw.githubusercontent.com/simd-everywhere/simde/master/#maintenance-milot-mirdita" title="Maintenance">🚧</a> <a href="https://github.com/nemequ/simde/commits?author=milot-mirdita" title="Tests">⚠️</a></td> <td align="center"><a href="http://bitpatch.com"><img src="https://avatars.githubusercontent.com/u/4021602?v=4" width="100px;" alt=""><br><sub><b>aqrit</b></sub></a><br><a href="https://github.com/nemequ/simde/commits?author=aqrit" title="Code">💻</a> <a href="https://raw.githubusercontent.com/simd-everywhere/simde/master/#maintenance-aqrit" title="Maintenance">🚧</a></td> </tr> <tr> <td align="center"><a href="https://github.com/dgazzoni"><img src="https://avatars.githubusercontent.com/u/17934171?v=4" width="100px;" alt=""><br><sub><b>Décio Luiz Gazzoni Filho</b></sub></a><br><a href="https://github.com/nemequ/simde/commits?author=dgazzoni" title="Code">💻</a> <a href="https://raw.githubusercontent.com/simd-everywhere/simde/master/#maintenance-dgazzoni" title="Maintenance">🚧</a> <a href="https://github.com/nemequ/simde/commits?author=dgazzoni" title="Tests">⚠️</a></td> <td align="center"><a href="http://vk.com/muzzdiez"><img src="https://avatars.githubusercontent.com/u/16463967?v=4" width="100px;" alt=""><br><sub><b>Igor Molchanov</b></sub></a><br><a href="https://github.com/nemequ/simde/commits?author=makise-homura" title="Code">💻</a> <a href="https://raw.githubusercontent.com/simd-everywhere/simde/master/#maintenance-makise-homura" title="Maintenance">🚧</a> <a href="https://raw.githubusercontent.com/simd-everywhere/simde/master/#platform-makise-homura" title="Packaging/porting to new platform">📦</a></td> <td align="center"><a href="https://github.com/anrodrig"><img src="https://avatars.githubusercontent.com/u/35815808?v=4" width="100px;" alt=""><br><sub><b>Andrew Rodriguez</b></sub></a><br><a href="https://github.com/nemequ/simde/commits?author=anrodrig" title="Code">💻</a> <a href="https://raw.githubusercontent.com/simd-everywhere/simde/master/#maintenance-anrodrig" title="Maintenance">🚧</a> <a href="https://github.com/nemequ/simde/commits?author=anrodrig" title="Tests">⚠️</a></td> <td align="center"><a href="https://github.com/Changqing-JING"><img src="https://avatars.githubusercontent.com/u/59640930?v=4" width="100px;" alt=""><br><sub><b>Changqing Jing</b></sub></a><br><a href="https://raw.githubusercontent.com/simd-everywhere/simde/master/#maintenance-Changqing-JING" title="Maintenance">🚧</a></td> <td align="center"><a href="http://jpcima.sdf1.org/"><img src="https://avatars.githubusercontent.com/u/17614485?v=4" width="100px;" alt=""><br><sub><b>JP Cimalando</b></sub></a><br><a href="https://github.com/nemequ/simde/commits?author=jpcima" title="Code">💻</a> <a href="https://raw.githubusercontent.com/simd-everywhere/simde/master/#infra-jpcima" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a></td> <td align="center"><a href="https://flygoat.com/"><img src="https://avatars.githubusercontent.com/u/5955297?v=4" width="100px;" alt=""><br><sub><b>Jiaxun Yang</b></sub></a><br><a href="https://github.com/nemequ/simde/commits?author=FlyGoat" title="Code">💻</a> <a href="https://raw.githubusercontent.com/simd-everywhere/simde/master/#platform-FlyGoat" title="Packaging/porting to new platform">📦</a></td> <td align="center"><a href="https://github.com/ktgw0316"><img src="https://avatars.githubusercontent.com/u/3116763?v=4" width="100px;" alt=""><br><sub><b>Masahiro Kitagawa</b></sub></a><br><a href="https://github.com/nemequ/simde/commits?author=ktgw0316" title="Code">💻</a> <a href="https://github.com/nemequ/simde/commits?author=ktgw0316" title="Tests">⚠️</a></td> </tr> <tr> <td align="center"><a href="https://github.com/operasfantom"><img src="https://avatars.githubusercontent.com/u/31903947?v=4" width="100px;" alt=""><br><sub><b>Pavel Iatchenii</b></sub></a><br><a href="https://github.com/nemequ/simde/commits?author=operasfantom" title="Code">💻</a> <a href="https://github.com/nemequ/simde/commits?author=operasfantom" title="Tests">⚠️</a></td> <td align="center"><a href="https://tommyvct.tk"><img src="https://avatars.githubusercontent.com/u/7903172?v=4" width="100px;" alt=""><br><sub><b>Tommy Vercetti</b></sub></a><br><a href="https://raw.githubusercontent.com/simd-everywhere/simde/master/#maintenance-tommyvct" title="Maintenance">🚧</a></td> <td align="center"><a href="https://github.com/rscohn2"><img src="https://avatars.githubusercontent.com/u/1936730?v=4" width="100px;" alt=""><br><sub><b>Robert Cohn</b></sub></a><br><a href="https://raw.githubusercontent.com/simd-everywhere/simde/master/#maintenance-rscohn2" title="Maintenance">🚧</a></td> <td align="center"><a href="https://github.com/adamnovak"><img src="https://avatars.githubusercontent.com/u/5062495?v=4" width="100px;" alt=""><br><sub><b>Adam Novak</b></sub></a><br><a href="https://github.com/nemequ/simde/commits?author=adamnovak" title="Documentation">📖</a></td> <td align="center"><a href="https://github.com/boris-kuz"><img src="https://avatars.githubusercontent.com/u/18011434?v=4" width="100px;" alt=""><br><sub><b>boris-kuz</b></sub></a><br><a href="https://raw.githubusercontent.com/simd-everywhere/simde/master/#maintenance-boris-kuz" title="Maintenance">🚧</a></td> <td align="center"><a href="https://github.com/Epixu"><img src="https://avatars.githubusercontent.com/u/1529601?v=4" width="100px;" alt=""><br><sub><b>Dimo Markov</b></sub></a><br><a href="https://raw.githubusercontent.com/simd-everywhere/simde/master/#maintenance-Epixu" title="Maintenance">🚧</a></td> <td align="center"><a href="https://dhbloo.github.io/"><img src="https://avatars.githubusercontent.com/u/32353216?v=4" width="100px;" alt=""><br><sub><b>dblue</b></sub></a><br><a href="https://raw.githubusercontent.com/simd-everywhere/simde/master/#maintenance-dhbloo" title="Maintenance">🚧</a></td> </tr> <tr> <td align="center"><a href="https://github.com/zekehul"><img src="https://avatars.githubusercontent.com/u/8780526?v=4" width="100px;" alt=""><br><sub><b>zekehul</b></sub></a><br><a href="https://github.com/nemequ/simde/commits?author=zekehul" title="Code">💻</a> <a href="https://raw.githubusercontent.com/simd-everywhere/simde/master/#maintenance-zekehul" title="Maintenance">🚧</a></td> <td align="center"><a href="https://open-cells.com"><img src="https://avatars.githubusercontent.com/u/40661368?v=4" width="100px;" alt=""><br><sub><b>Laurent Thomas</b></sub></a><br><a href="https://github.com/nemequ/simde/commits?author=LaurentThomas" title="Code">💻</a></td> <td align="center"><a href="https://github.com/maxbachmann"><img src="https://avatars.githubusercontent.com/u/44199644?v=4" width="100px;" alt=""><br><sub><b>Max Bachmann</b></sub></a><br><a href="https://github.com/nemequ/simde/commits?author=maxbachmann" title="Documentation">📖</a></td> <td align="center"><a href="https://github.com/psaab"><img src="https://avatars.githubusercontent.com/u/196946?v=4" width="100px;" alt=""><br><sub><b>psaab</b></sub></a><br><a href="https://raw.githubusercontent.com/simd-everywhere/simde/master/#maintenance-psaab" title="Maintenance">🚧</a></td> <td align="center"><a href="http://superduper.net/"><img src="https://avatars.githubusercontent.com/u/515813?v=4" width="100px;" alt=""><br><sub><b>Sam Clegg</b></sub></a><br><a href="https://raw.githubusercontent.com/simd-everywhere/simde/master/#maintenance-sbc100" title="Maintenance">🚧</a></td> <td align="center"><a href="https://twitter.com/tlively52"><img src="https://avatars.githubusercontent.com/u/7121787?v=4" width="100px;" alt=""><br><sub><b>Thomas Lively</b></sub></a><br><a href="https://github.com/nemequ/simde/issues?q=author%3Atlively" title="Bug reports">🐛</a> <a href="https://raw.githubusercontent.com/simd-everywhere/simde/master/#ideas-tlively" title="Ideas, Planning, &amp; Feedback">🤔</a> <a href="https://raw.githubusercontent.com/simd-everywhere/simde/master/#maintenance-tlively" title="Maintenance">🚧</a></td> <td align="center"><a href="http://blog.coderzh.com/"><img src="https://avatars.githubusercontent.com/u/329164?v=4" width="100px;" alt=""><br><sub><b>coderzh</b></sub></a><br><a href="https://github.com/nemequ/simde/commits?author=coderzh" title="Code">💻</a> <a href="https://github.com/nemequ/simde/commits?author=coderzh" title="Tests">⚠️</a></td> </tr> <tr> <td align="center"><a href="https://github.com/k-dominik"><img src="https://avatars.githubusercontent.com/u/24434157?v=4" width="100px;" alt=""><br><sub><b>Dominik Kutra</b></sub></a><br><a href="https://github.com/nemequ/simde/commits?author=k-dominik" title="Code">💻</a> <a href="https://github.com/nemequ/simde/commits?author=k-dominik" title="Tests">⚠️</a></td> <td align="center"><a href="https://github.com/Lithrein"><img src="https://avatars.githubusercontent.com/u/207981?v=4" width="100px;" alt=""><br><sub><b>Lithrein</b></sub></a><br><a href="https://raw.githubusercontent.com/simd-everywhere/simde/master/#maintenance-Lithrein" title="Maintenance">🚧</a></td> <td align="center"><a href="https://github.com/quyykk"><img src="https://avatars.githubusercontent.com/u/85879619?v=4" width="100px;" alt=""><br><sub><b>Nick</b></sub></a><br><a href="https://raw.githubusercontent.com/simd-everywhere/simde/master/#maintenance-quyykk" title="Maintenance">🚧</a></td> <td align="center"><a href="https://github.com/thomasdwu"><img src="https://avatars.githubusercontent.com/u/6819659?v=4" width="100px;" alt=""><br><sub><b>thomasdwu</b></sub></a><br><a href="https://raw.githubusercontent.com/simd-everywhere/simde/master/#maintenance-thomasdwu" title="Maintenance">🚧</a></td> <td align="center"><a href="https://github.com/Remnant44"><img src="https://avatars.githubusercontent.com/u/54461740?v=4" width="100px;" alt=""><br><sub><b>Stephen</b></sub></a><br><a href="https://github.com/nemequ/simde/issues?q=author%3ARemnant44" title="Bug reports">🐛</a></td> <td align="center"><a href="https://github.com/johnplatts"><img src="https://avatars.githubusercontent.com/u/28941113?v=4" width="100px;" alt=""><br><sub><b>John Platts</b></sub></a><br><a href="https://github.com/nemequ/simde/issues?q=author%3Ajohnplatts" title="Bug reports">🐛</a></td> <td align="center"><a href="https://github.com/tycho"><img src="https://avatars.githubusercontent.com/u/29616?v=4" width="100px;" alt=""><br><sub><b>Steven Noonan</b></sub></a><br><a href="https://github.com/nemequ/simde/issues?q=author%3Atycho" title="Bug reports">🐛</a></td> </tr> <tr> <td align="center"><a href="https://github.com/p0nce"><img src="https://avatars.githubusercontent.com/u/1067485?v=4" width="100px;" alt=""><br><sub><b>p0nce </b></sub></a><br><a href="https://github.com/nemequ/simde/issues?q=author%3Ap0nce" title="Bug reports">🐛</a></td> <td align="center"><a href="https://bonedaddy.net/pabs3/"><img src="https://avatars.githubusercontent.com/u/328602?v=4" width="100px;" alt=""><br><sub><b>Paul Wise</b></sub></a><br><a href="https://github.com/nemequ/simde/issues?q=author%3Apabs3" title="Bug reports">🐛</a></td> <td align="center"><a href="https://github.com/easyaspi314"><img src="https://avatars.githubusercontent.com/u/6258309?v=4" width="100px;" alt=""><br><sub><b>easyaspi314 (Devin)</b></sub></a><br><a href="https://github.com/nemequ/simde/issues?q=author%3Aeasyaspi314" title="Bug reports">🐛</a> <a href="https://github.com/nemequ/simde/commits?author=easyaspi314" title="Code">💻</a></td> <td align="center"><a href="https://github.com/JonLiu1993"><img src="https://avatars.githubusercontent.com/u/63675417?v=4" width="100px;" alt=""><br><sub><b>JonLiu1993</b></sub></a><br><a href="https://raw.githubusercontent.com/simd-everywhere/simde/master/#platform-JonLiu1993" title="Packaging/porting to new platform">📦</a></td> <td align="center"><a href="https://github.com/Cheney-W"><img src="https://avatars.githubusercontent.com/u/38240633?v=4" width="100px;" alt=""><br><sub><b>Cheney Wang</b></sub></a><br><a href="https://raw.githubusercontent.com/simd-everywhere/simde/master/#platform-Cheney-W" title="Packaging/porting to new platform">📦</a></td> <td align="center"><a href="http://myd7349.github.io/"><img src="https://avatars.githubusercontent.com/u/5435649?v=4" width="100px;" alt=""><br><sub><b>myd7349 </b></sub></a><br><a href="https://raw.githubusercontent.com/simd-everywhere/simde/master/#platform-myd7349" title="Packaging/porting to new platform">📦</a></td> <td align="center"><a href="https://github.com/chausner"><img src="https://avatars.githubusercontent.com/u/15180557?v=4" width="100px;" alt=""><br><sub><b>chausner</b></sub></a><br><a href="https://raw.githubusercontent.com/simd-everywhere/simde/master/#platform-chausner" title="Packaging/porting to new platform">📦</a></td> </tr> <tr> <td align="center"><a href="https://github.com/yyctw"><img src="https://avatars.githubusercontent.com/u/45251297?v=4" width="100px;" alt=""><br><sub><b>Yi-Yen Chung</b></sub></a><br><a href="https://github.com/nemequ/simde/commits?author=yyctw" title="Code">💻</a> <a href="https://github.com/nemequ/simde/commits?author=yyctw" title="Tests">⚠️</a></td> <td align="center"><a href="https://github.com/wewe5215"><img src="https://avatars.githubusercontent.com/u/76145143?v=4" width="100px;" alt=""><br><sub><b>Chi-Wei Chu</b></sub></a><br><a href="https://github.com/nemequ/simde/commits?author=wewe5215" title="Code">💻</a> <a href="https://github.com/nemequ/simde/commits?author=wewe5215" title="Tests">⚠️</a></td> <td align="center"><a href="https://github.com/M-HT"><img src="https://avatars.githubusercontent.com/u/12173952?v=4" width="100px;" alt=""><br><sub><b>M-HT</b></sub></a><br><a href="https://github.com/nemequ/simde/commits?author=M-HT" title="Code">💻</a></td> <td align="center"><a href="https://gottliebtfreitag.de"><img src="https://avatars.githubusercontent.com/u/456045?v=4" width="100px;" alt=""><br><sub><b>Simon Gene Gottlieb</b></sub></a><br><a href="https://github.com/nemequ/simde/commits?author=SGSSGene" title="Code">💻</a></td> <td align="center"><a href="http://bsc.fu-berlin.de"><img src="https://avatars.githubusercontent.com/u/6008722?v=4" width="100px;" alt=""><br><sub><b>Chris Bielow</b></sub></a><br><a href="https://github.com/nemequ/simde/commits?author=cbielow" title="Code">💻</a></td> <td align="center"><a href="https://github.com/XiWeiGu"><img src="https://avatars.githubusercontent.com/u/41367273?v=4" width="100px;" alt=""><br><sub><b>gu xiwei</b></sub></a><br><a href="https://raw.githubusercontent.com/simd-everywhere/simde/master/#platform-XiWeiGu" title="Packaging/porting to new platform">📦</a> <a href="https://github.com/nemequ/simde/commits?author=XiWeiGu" title="Tests">⚠️</a></td> <td align="center"><a href="https://github.com/Vineg"><img src="https://avatars.githubusercontent.com/u/1757455?v=4" width="100px;" alt=""><br><sub><b>George Vinokhodov</b></sub></a><br><a href="https://github.com/nemequ/simde/commits?author=Vineg" title="Code">💻</a></td> </tr> <tr> <td align="center"><a href="https://github.com/Coeur"><img src="https://avatars.githubusercontent.com/u/839992?v=4" width="100px;" alt=""><br><sub><b>Cœur</b></sub></a><br><a href="https://github.com/nemequ/simde/commits?author=Coeur" title="Code">💻</a></td> <td align="center"><a href="https://github.com/Proudsalsa"><img src="https://avatars.githubusercontent.com/u/103449548?v=4" width="100px;" alt=""><br><sub><b>Florian @Proudsalsa</b></sub></a><br><a href="https://github.com/nemequ/simde/commits?author=Proudsalsa" title="Code">💻</a></td> <td align="center"><a href="https://github.com/thomas-schlichter"><img src="https://avatars.githubusercontent.com/u/106664923?v=4" width="100px;" alt=""><br><sub><b>Thomas Schlichter</b></sub></a><br><a href="https://github.com/nemequ/simde/issues?q=author%3Athomas-schlichter" title="Bug reports">🐛</a> <a href="https://github.com/nemequ/simde/commits?author=thomas-schlichter" title="Code">💻</a></td> <td align="center"><a href="https://github.com/AymenQ"><img src="https://avatars.githubusercontent.com/u/3706283?v=4" width="100px;" alt=""><br><sub><b>Aymen Qader</b></sub></a><br><a href="https://github.com/nemequ/simde/commits?author=AymenQ" title="Code">💻</a></td> <td align="center"><a href="https://github.com/eric900115"><img src="https://avatars.githubusercontent.com/u/77781328?v=4" width="100px;" alt=""><br><sub><b>Eric Su</b></sub></a><br><a href="https://github.com/nemequ/simde/commits?author=eric900115" title="Code">💻</a> <a href="https://raw.githubusercontent.com/simd-everywhere/simde/master/#platform-eric900115" title="Packaging/porting to new platform">📦</a></td> <td align="center"><a href="https://github.com/Torinde"><img src="https://avatars.githubusercontent.com/u/97228894?v=4" width="100px;" alt=""><br><sub><b>Torinde</b></sub></a><br><a href="https://github.com/nemequ/simde/issues?q=author%3ATorinde" title="Bug reports">🐛</a> <a href="https://github.com/nemequ/simde/commits?author=Torinde" title="Documentation">📖</a> <a href="https://raw.githubusercontent.com/simd-everywhere/simde/master/#ideas-Torinde" title="Ideas, Planning, &amp; Feedback">🤔</a></td> <td align="center"><a href="https://www.linkedin.com/in/yanghauyuan/"><img src="https://avatars.githubusercontent.com/u/13924801?v=4" width="100px;" alt=""><br><sub><b>Yang Hau</b></sub></a><br><a href="https://github.com/nemequ/simde/commits?author=howjmay" title="Code">💻</a> <a href="https://raw.githubusercontent.com/simd-everywhere/simde/master/#ideas-howjmay" title="Ideas, Planning, &amp; Feedback">🤔</a></td> </tr> <tr> <td align="center"><a href="https://github.com/zengdage"><img src="https://avatars.githubusercontent.com/u/16076103?v=4" width="100px;" alt=""><br><sub><b>Zhijin Zeng</b></sub></a><br><a href="https://github.com/nemequ/simde/commits?author=zengdage" title="Code">💻</a></td> </tr> </tbody> </table> <!-- markdownlint-enable --> <!-- prettier-ignore-end --> <!-- ALL-CONTRIBUTORS-LIST:END --> <p>This project follows the <a href="https://github.com/all-contributors/all-contributors">all-contributors</a> specification. Contributions of any kind are welcome!</p> \ No newline at end of file diff --git a/c2hs-haskell/daily/index.xml b/c2hs-haskell/daily/index.xml index ebbc55ff0b1..ee331142772 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 - 2024-11-20T01:29:23Z + 2024-11-21T01:29:21Z Daily 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 4b4780d7b5c..4a9904044d2 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 - 2024-11-20T01:29:34Z + 2024-11-21T01:29:36Z Daily 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 776507b6dff..05baec81831 100644 --- a/cadence/daily/index.xml +++ b/cadence/daily/index.xml @@ -1,7 +1,7 @@ GitHub Cadence Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:29:36Z + 2024-11-21T01:29:36Z Daily Trending of Cadence in GitHub \ No newline at end of file diff --git a/cairo/daily/index.xml b/cairo/daily/index.xml index 20989528ba6..ca7db2e4a09 100644 --- a/cairo/daily/index.xml +++ b/cairo/daily/index.xml @@ -1,7 +1,7 @@ GitHub Cairo Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:29:34Z + 2024-11-21T01:29:37Z Daily 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 53608445555..e889a23d6b7 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 - 2024-11-20T01:29:38Z + 2024-11-21T01:29:38Z Daily 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 719ad98c1c5..94ec4f20d23 100644 --- a/cartocss/daily/index.xml +++ b/cartocss/daily/index.xml @@ -1,7 +1,7 @@ GitHub CartoCSS Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:29:39Z + 2024-11-21T01:29:40Z Daily Trending of CartoCSS in GitHub \ No newline at end of file diff --git a/ceylon/daily/index.xml b/ceylon/daily/index.xml index 6c77b382e21..7c4412d6f03 100644 --- a/ceylon/daily/index.xml +++ b/ceylon/daily/index.xml @@ -1,7 +1,7 @@ GitHub Ceylon Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:29:39Z + 2024-11-21T01:29:39Z Daily Trending of Ceylon in GitHub \ No newline at end of file diff --git a/chapel/daily/index.xml b/chapel/daily/index.xml index 70877854a5f..28afb5a8ae0 100644 --- a/chapel/daily/index.xml +++ b/chapel/daily/index.xml @@ -1,7 +1,7 @@ GitHub Chapel Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:29:39Z + 2024-11-21T01:29:40Z Daily Trending of Chapel in GitHub \ No newline at end of file diff --git a/charity/daily/index.xml b/charity/daily/index.xml index 3e5dcc6beb7..c8214df00a4 100644 --- a/charity/daily/index.xml +++ b/charity/daily/index.xml @@ -1,7 +1,7 @@ GitHub Charity Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:29:41Z + 2024-11-21T01:29:42Z Daily Trending of Charity in GitHub \ No newline at end of file diff --git a/chuck/daily/index.xml b/chuck/daily/index.xml index 4b072923572..4c624c03046 100644 --- a/chuck/daily/index.xml +++ b/chuck/daily/index.xml @@ -1,7 +1,7 @@ GitHub ChucK Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:29:41Z + 2024-11-21T01:29:41Z Daily Trending of ChucK in GitHub \ No newline at end of file diff --git a/cil/daily/index.xml b/cil/daily/index.xml index 864b1b58ff5..4316bc2bc6e 100644 --- a/cil/daily/index.xml +++ b/cil/daily/index.xml @@ -1,7 +1,7 @@ GitHub CIL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:29:40Z + 2024-11-21T01:29:41Z Daily Trending of CIL in GitHub \ No newline at end of file diff --git a/cirru/daily/index.xml b/cirru/daily/index.xml index a858325933f..40e63565edc 100644 --- a/cirru/daily/index.xml +++ b/cirru/daily/index.xml @@ -1,7 +1,7 @@ GitHub Cirru Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:29:42Z + 2024-11-21T01:29:42Z Daily Trending of Cirru in GitHub \ No newline at end of file diff --git a/clarion/daily/index.xml b/clarion/daily/index.xml index 5c63a37a917..2257b23519b 100644 --- a/clarion/daily/index.xml +++ b/clarion/daily/index.xml @@ -1,7 +1,7 @@ GitHub Clarion Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:29:43Z + 2024-11-21T01:29:43Z Daily Trending of Clarion in GitHub \ No newline at end of file diff --git a/clarity/daily/index.xml b/clarity/daily/index.xml index 9faa82d66ec..184ca88c80e 100644 --- a/clarity/daily/index.xml +++ b/clarity/daily/index.xml @@ -1,7 +1,7 @@ GitHub Clarity Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:29:42Z + 2024-11-21T01:29:42Z Daily 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 2d3889c0181..0f2a8ca6ad6 100644 --- a/classic-asp/daily/index.xml +++ b/classic-asp/daily/index.xml @@ -1,7 +1,7 @@ GitHub Classic ASP Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:29:02Z + 2024-11-21T01:28:56Z Daily Trending of Classic ASP in GitHub \ No newline at end of file diff --git a/clean/daily/index.xml b/clean/daily/index.xml index 9cf6f7e7118..e5391794b8d 100644 --- a/clean/daily/index.xml +++ b/clean/daily/index.xml @@ -1,7 +1,7 @@ GitHub Clean Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:29:43Z + 2024-11-21T01:29:44Z Daily Trending of Clean in GitHub \ No newline at end of file diff --git a/click/daily/index.xml b/click/daily/index.xml index bb82f0e7335..46a572f80af 100644 --- a/click/daily/index.xml +++ b/click/daily/index.xml @@ -1,7 +1,7 @@ GitHub Click Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:29:44Z + 2024-11-21T01:29:44Z Daily Trending of Click in GitHub \ No newline at end of file diff --git a/clips/daily/index.xml b/clips/daily/index.xml index 10d96c50367..3f5bfc1138f 100644 --- a/clips/daily/index.xml +++ b/clips/daily/index.xml @@ -1,7 +1,7 @@ GitHub CLIPS Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:29:44Z + 2024-11-21T01:29:44Z Daily Trending of CLIPS in GitHub \ No newline at end of file diff --git a/clojure/daily/index.xml b/clojure/daily/index.xml index 35f393ca27e..6f7c3d08ef1 100644 --- a/clojure/daily/index.xml +++ b/clojure/daily/index.xml @@ -1,14 +1,7 @@ GitHub Clojure Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:29:45Z + 2024-11-21T01:29:45Z Daily Trending of Clojure in GitHub - - instantdb/instant - 2024-11-20T01:29:45Z - tag:github.com,2024-11-20:/instantdb/instant - - <p>Instant is a modern Firebase. We make you productive by giving your frontend a real-time database.</p><hr> - \ No newline at end of file diff --git a/closure-templates/daily/index.xml b/closure-templates/daily/index.xml index c8ad36f44aa..a0a5ee1a4e5 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 - 2024-11-20T01:29:46Z + 2024-11-21T01:29:46Z Daily 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 d7e24f7f9e6..1445ecc85d4 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 - 2024-11-20T01:29:46Z + 2024-11-21T01:29:46Z Daily 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 72c9ce2c676..a716445f9b1 100644 --- a/cmake/daily/index.xml +++ b/cmake/daily/index.xml @@ -1,7 +1,7 @@ GitHub CMake Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:29:47Z + 2024-11-21T01:29:48Z Daily Trending of CMake in GitHub \ No newline at end of file diff --git a/cobol/daily/index.xml b/cobol/daily/index.xml index e74577d7d65..922da646281 100644 --- a/cobol/daily/index.xml +++ b/cobol/daily/index.xml @@ -1,7 +1,7 @@ GitHub COBOL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:29:46Z + 2024-11-21T01:29:46Z Daily Trending of COBOL in GitHub \ No newline at end of file diff --git a/codeowners/daily/index.xml b/codeowners/daily/index.xml index b2a5c9c98c3..e2cf5263132 100644 --- a/codeowners/daily/index.xml +++ b/codeowners/daily/index.xml @@ -1,7 +1,7 @@ GitHub CODEOWNERS Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:29:48Z + 2024-11-21T01:29:48Z Daily Trending of CODEOWNERS in GitHub \ No newline at end of file diff --git a/codeql/daily/index.xml b/codeql/daily/index.xml index 61d93574370..05404f52ba1 100644 --- a/codeql/daily/index.xml +++ b/codeql/daily/index.xml @@ -1,7 +1,7 @@ GitHub CodeQL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:29:48Z + 2024-11-21T01:29:49Z Daily Trending of CodeQL in GitHub \ No newline at end of file diff --git a/coffeescript/daily/index.xml b/coffeescript/daily/index.xml index fcd89c83318..f4327852e99 100644 --- a/coffeescript/daily/index.xml +++ b/coffeescript/daily/index.xml @@ -1,7 +1,7 @@ GitHub CoffeeScript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:29:49Z + 2024-11-21T01:29:49Z Daily Trending of CoffeeScript in GitHub \ No newline at end of file diff --git a/coldfusion-cfc/daily/index.xml b/coldfusion-cfc/daily/index.xml index a34186cc30e..74570976e56 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 - 2024-11-20T01:29:50Z + 2024-11-21T01:29:50Z Daily 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 9d6ada6dd2c..ab221704b64 100644 --- a/coldfusion/daily/index.xml +++ b/coldfusion/daily/index.xml @@ -1,7 +1,7 @@ GitHub ColdFusion Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:29:48Z + 2024-11-21T01:29:49Z Daily Trending of ColdFusion in GitHub \ No newline at end of file diff --git a/collada/daily/index.xml b/collada/daily/index.xml index e2b95ca5c73..e9f12e79714 100644 --- a/collada/daily/index.xml +++ b/collada/daily/index.xml @@ -1,7 +1,7 @@ GitHub COLLADA Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:29:50Z + 2024-11-21T01:29:51Z Daily 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 5159011cf4d..0cc73de18aa 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 - 2024-11-20T01:29:51Z + 2024-11-21T01:29:51Z Daily 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 98dd3894140..0c2d5f4f0e7 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 - 2024-11-20T01:29:49Z + 2024-11-21T01:29:50Z Daily 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 2c0e8cb26fd..ffdb7bbe34f 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 - 2024-11-20T01:29:52Z + 2024-11-21T01:29:52Z Daily Trending of Component Pascal in GitHub \ No newline at end of file diff --git a/conll-u/daily/index.xml b/conll-u/daily/index.xml index 7cca896fe59..96a95efc204 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 - 2024-11-20T01:29:51Z + 2024-11-21T01:29:52Z Daily 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 faa84b63dad..4f316ede40e 100644 --- a/cool/daily/index.xml +++ b/cool/daily/index.xml @@ -1,7 +1,7 @@ GitHub Cool Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:29:52Z + 2024-11-21T01:29:52Z Daily Trending of Cool in GitHub \ No newline at end of file diff --git a/coq/daily/index.xml b/coq/daily/index.xml index 09fb0a97809..e32cdfb51d2 100644 --- a/coq/daily/index.xml +++ b/coq/daily/index.xml @@ -1,7 +1,7 @@ GitHub Coq Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:29:52Z + 2024-11-21T01:29:53Z Daily 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 24e936d60f6..ef969a61cd9 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 - 2024-11-20T01:29:54Z + 2024-11-21T01:29:53Z Daily 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 bf45232c853..a1efaa99170 100644 --- a/creole/daily/index.xml +++ b/creole/daily/index.xml @@ -1,7 +1,7 @@ GitHub Creole Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:29:53Z + 2024-11-21T01:29:54Z Daily Trending of Creole in GitHub \ No newline at end of file diff --git a/crystal/daily/index.xml b/crystal/daily/index.xml index 336708770b5..215ccb16d54 100644 --- a/crystal/daily/index.xml +++ b/crystal/daily/index.xml @@ -1,7 +1,7 @@ GitHub Crystal Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:29:55Z + 2024-11-21T01:29:54Z Daily Trending of Crystal in GitHub \ No newline at end of file diff --git a/cson/daily/index.xml b/cson/daily/index.xml index 125cd0fd996..90b440de549 100644 --- a/cson/daily/index.xml +++ b/cson/daily/index.xml @@ -1,7 +1,7 @@ GitHub CSON Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:29:56Z + 2024-11-21T01:29:56Z Daily 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 2a36b945573..df746acce98 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 - 2024-11-20T01:29:56Z + 2024-11-21T01:29:56Z Daily 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 4fe549c1a2c..8f11641e343 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 - 2024-11-20T01:29:56Z + 2024-11-21T01:29:55Z Daily 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 42dbacab9f0..edac40fe5d7 100644 --- a/csound/daily/index.xml +++ b/csound/daily/index.xml @@ -1,7 +1,7 @@ GitHub Csound Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:29:55Z + 2024-11-21T01:29:55Z Daily Trending of Csound in GitHub \ No newline at end of file diff --git a/css/daily/index.xml b/css/daily/index.xml index 7400864544d..c61ef585c6c 100644 --- a/css/daily/index.xml +++ b/css/daily/index.xml @@ -1,7 +1,7 @@ GitHub CSS Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:29:59Z + 2024-11-21T01:29:59Z Daily Trending of CSS in GitHub \ No newline at end of file diff --git a/csv/daily/index.xml b/csv/daily/index.xml index cb065dc95aa..c3cc0a6b331 100644 --- a/csv/daily/index.xml +++ b/csv/daily/index.xml @@ -1,7 +1,7 @@ GitHub CSV Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:29:57Z + 2024-11-21T01:29:57Z Daily Trending of CSV in GitHub \ No newline at end of file diff --git a/cuda/daily/index.xml b/cuda/daily/index.xml index c2324a3abad..92822d81437 100644 --- a/cuda/daily/index.xml +++ b/cuda/daily/index.xml @@ -1,7 +1,7 @@ GitHub Cuda Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:29:59Z + 2024-11-21T01:29:59Z Daily Trending of Cuda in GitHub \ No newline at end of file diff --git a/cue/daily/index.xml b/cue/daily/index.xml index 3bfda6d573c..b6645a42f34 100644 --- a/cue/daily/index.xml +++ b/cue/daily/index.xml @@ -1,7 +1,7 @@ GitHub CUE Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:29:57Z + 2024-11-21T01:29:57Z Daily 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 13f5a768f70..1187436e923 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 - 2024-11-20T01:30:01Z + 2024-11-21T01:30:01Z Daily 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 2e0363c7738..e4944e42235 100644 --- a/curry/daily/index.xml +++ b/curry/daily/index.xml @@ -1,7 +1,7 @@ GitHub Curry Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:30:02Z + 2024-11-21T01:30:02Z Daily Trending of Curry in GitHub \ No newline at end of file diff --git a/cweb/daily/index.xml b/cweb/daily/index.xml index 2d46c391cf8..81b4f332a03 100644 --- a/cweb/daily/index.xml +++ b/cweb/daily/index.xml @@ -1,7 +1,7 @@ GitHub CWeb Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:30:01Z + 2024-11-21T01:30:01Z Daily Trending of CWeb in GitHub \ No newline at end of file diff --git a/cycript/daily/index.xml b/cycript/daily/index.xml index 08f155fcc01..b8c3e3e4122 100644 --- a/cycript/daily/index.xml +++ b/cycript/daily/index.xml @@ -1,7 +1,7 @@ GitHub Cycript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:30:03Z + 2024-11-21T01:30:03Z Daily Trending of Cycript in GitHub \ No newline at end of file diff --git a/cython/daily/index.xml b/cython/daily/index.xml index 36f7bc691b1..74b000389fa 100644 --- a/cython/daily/index.xml +++ b/cython/daily/index.xml @@ -1,7 +1,7 @@ GitHub Cython Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:30:03Z + 2024-11-21T01:30:04Z Daily 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 6621e7d28fd..abedb2d72da 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 - 2024-11-20T01:30:04Z + 2024-11-21T01:30:04Z Daily 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 96c1bdbba8d..2fd57efd9c4 100644 --- a/d/daily/index.xml +++ b/d/daily/index.xml @@ -1,7 +1,7 @@ GitHub D Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:30:05Z + 2024-11-21T01:30:05Z Daily Trending of D in GitHub \ No newline at end of file diff --git a/dafny/daily/index.xml b/dafny/daily/index.xml index 61aec9e1d9a..c9c045ac31f 100644 --- a/dafny/daily/index.xml +++ b/dafny/daily/index.xml @@ -1,7 +1,7 @@ GitHub Dafny Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:30:04Z + 2024-11-21T01:30:05Z Daily 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 5a6c0097f8e..6822df30b47 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 - 2024-11-20T01:30:06Z + 2024-11-21T01:30:07Z Daily 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 bf4c3de60da..3c64875c6db 100644 --- a/dart/daily/index.xml +++ b/dart/daily/index.xml @@ -1,7 +1,7 @@ GitHub Dart Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:30:08Z + 2024-11-21T01:30:08Z Daily Trending of Dart in GitHub \ No newline at end of file diff --git a/dataweave/daily/index.xml b/dataweave/daily/index.xml index 93351581172..f07bd5975e8 100644 --- a/dataweave/daily/index.xml +++ b/dataweave/daily/index.xml @@ -1,7 +1,7 @@ GitHub DataWeave Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:30:06Z + 2024-11-21T01:30:06Z Daily 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 9df167efc94..675a29f176c 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 - 2024-11-20T01:30:06Z + 2024-11-21T01:30:06Z Daily 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 7a92fdbeb36..b4fdf579fc3 100644 --- a/denizenscript/daily/index.xml +++ b/denizenscript/daily/index.xml @@ -1,7 +1,7 @@ GitHub DenizenScript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:30:15Z + 2024-11-21T01:30:15Z Daily Trending of DenizenScript in GitHub \ No newline at end of file diff --git a/desktop/daily/index.xml b/desktop/daily/index.xml index efa8882dc31..fe17a13286e 100644 --- a/desktop/daily/index.xml +++ b/desktop/daily/index.xml @@ -1,7 +1,7 @@ GitHub desktop Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:30:14Z + 2024-11-21T01:30:15Z Daily Trending of desktop in GitHub \ No newline at end of file diff --git a/dhall/daily/index.xml b/dhall/daily/index.xml index fc63c079034..c6061df63af 100644 --- a/dhall/daily/index.xml +++ b/dhall/daily/index.xml @@ -1,7 +1,7 @@ GitHub Dhall Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:30:14Z + 2024-11-21T01:30:15Z Daily Trending of Dhall in GitHub \ No newline at end of file diff --git a/diff/daily/index.xml b/diff/daily/index.xml index 6e1836a8110..4adf0281493 100644 --- a/diff/daily/index.xml +++ b/diff/daily/index.xml @@ -1,7 +1,7 @@ GitHub Diff Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:30:14Z + 2024-11-21T01:30:14Z Daily 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 e0e110c40ed..12b1b9e7d91 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 - 2024-11-20T01:30:16Z + 2024-11-21T01:30:16Z Daily 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 770ecd6f35d..d6e0170226f 100644 --- a/dircolors/daily/index.xml +++ b/dircolors/daily/index.xml @@ -1,7 +1,7 @@ GitHub dircolors Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:30:15Z + 2024-11-21T01:30:16Z Daily 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 5aadc11beb5..f8bb8943cff 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 - 2024-11-20T01:30:16Z + 2024-11-21T01:30:16Z Daily 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 8e967e38039..cb4d5e3d385 100644 --- a/dm/daily/index.xml +++ b/dm/daily/index.xml @@ -1,7 +1,7 @@ GitHub DM Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:30:17Z + 2024-11-21T01:30:17Z Daily 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 87fa9b8f5ae..9a3697a3d63 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 - 2024-11-20T01:30:17Z + 2024-11-21T01:30:19Z Daily 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 6f1f3773f31..06415fb6a9a 100644 --- a/dockerfile/daily/index.xml +++ b/dockerfile/daily/index.xml @@ -1,14 +1,7 @@ GitHub Dockerfile Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:30:19Z + 2024-11-21T01:30:20Z Daily Trending of Dockerfile in GitHub - - jup-ag/jupiter-swap-api - 2024-11-20T01:30:19Z - tag:github.com,2024-11-20:/jup-ag/jupiter-swap-api - - <p>The jupiter swap api binary</p><hr><h1>jupiter-swap-api</h1> <p>The binary of the Jupiter V6 Swap API</p> <p>Refer to <a href="https://station.jup.ag/docs/apis/self-hosted">self-hosted</a> for documentation</p> <p>To receive updates from telegram, can join <a href="https://t.me/jup_dev">https://t.me/jup_dev</a></p> - \ No newline at end of file diff --git a/dogescript/daily/index.xml b/dogescript/daily/index.xml index eadc78bdcc3..d2cbb6415a0 100644 --- a/dogescript/daily/index.xml +++ b/dogescript/daily/index.xml @@ -1,7 +1,7 @@ GitHub Dogescript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:30:18Z + 2024-11-21T01:30:18Z Daily Trending of Dogescript in GitHub \ No newline at end of file diff --git a/dtrace/daily/index.xml b/dtrace/daily/index.xml index ebbe998f881..6dd1e7968e8 100644 --- a/dtrace/daily/index.xml +++ b/dtrace/daily/index.xml @@ -1,7 +1,7 @@ GitHub DTrace Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:30:25Z + 2024-11-21T01:30:32Z Daily Trending of DTrace in GitHub \ No newline at end of file diff --git a/dylan/daily/index.xml b/dylan/daily/index.xml index 896ffada3eb..9b1817ad09e 100644 --- a/dylan/daily/index.xml +++ b/dylan/daily/index.xml @@ -1,7 +1,7 @@ GitHub Dylan Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:30:24Z + 2024-11-21T01:30:31Z Daily 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 500b83dc08e..15fd32e1ac2 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 - 2024-11-20T01:30:27Z + 2024-11-21T01:30:33Z Daily 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 36499185a5d..febf1d88bfa 100644 --- a/e/daily/index.xml +++ b/e/daily/index.xml @@ -1,7 +1,7 @@ GitHub E Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:30:25Z + 2024-11-21T01:30:32Z Daily Trending of E in GitHub \ No newline at end of file diff --git a/eagle/daily/index.xml b/eagle/daily/index.xml index d6ae26ae156..f09e4c45b6d 100644 --- a/eagle/daily/index.xml +++ b/eagle/daily/index.xml @@ -1,7 +1,7 @@ GitHub Eagle Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:30:26Z + 2024-11-21T01:30:33Z Daily Trending of Eagle in GitHub \ No newline at end of file diff --git a/earthly/daily/index.xml b/earthly/daily/index.xml index aa4c643961d..8af60c35452 100644 --- a/earthly/daily/index.xml +++ b/earthly/daily/index.xml @@ -1,7 +1,7 @@ GitHub Earthly Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:30:26Z + 2024-11-21T01:30:34Z Daily Trending of Earthly in GitHub \ No newline at end of file diff --git a/easybuild/daily/index.xml b/easybuild/daily/index.xml index 1a383853e27..1d2b694ec13 100644 --- a/easybuild/daily/index.xml +++ b/easybuild/daily/index.xml @@ -1,7 +1,7 @@ GitHub Easybuild Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:30:27Z + 2024-11-21T01:30:34Z Daily Trending of Easybuild in GitHub \ No newline at end of file diff --git a/ebnf/daily/index.xml b/ebnf/daily/index.xml index ea3286cfbb0..38e0834e586 100644 --- a/ebnf/daily/index.xml +++ b/ebnf/daily/index.xml @@ -1,7 +1,7 @@ GitHub EBNF Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:30:28Z + 2024-11-21T01:30:35Z Daily Trending of EBNF in GitHub \ No newline at end of file diff --git a/ec/daily/index.xml b/ec/daily/index.xml index 8788287248f..4d16a7b367e 100644 --- a/ec/daily/index.xml +++ b/ec/daily/index.xml @@ -1,7 +1,7 @@ GitHub eC Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:30:28Z + 2024-11-21T01:30:35Z Daily 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 684c055c9bf..fd28ac9b2c2 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 - 2024-11-20T01:30:29Z + 2024-11-21T01:30:35Z Daily 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 80f8af56a63..c4084ea9cab 100644 --- a/ecl/daily/index.xml +++ b/ecl/daily/index.xml @@ -1,7 +1,7 @@ GitHub ECL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:30:28Z + 2024-11-21T01:30:36Z Daily Trending of ECL in GitHub \ No newline at end of file diff --git a/eclipse/daily/index.xml b/eclipse/daily/index.xml index 3c45618eda0..c1be135cd4c 100644 --- a/eclipse/daily/index.xml +++ b/eclipse/daily/index.xml @@ -1,7 +1,7 @@ GitHub ECLiPSe Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:30:30Z + 2024-11-21T01:30:36Z Daily Trending of ECLiPSe in GitHub \ No newline at end of file diff --git a/editorconfig/daily/index.xml b/editorconfig/daily/index.xml index 8ecdd4d1cbd..7e15bd178e9 100644 --- a/editorconfig/daily/index.xml +++ b/editorconfig/daily/index.xml @@ -1,7 +1,7 @@ GitHub EditorConfig Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:30:32Z + 2024-11-21T01:30:38Z Daily 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 a93a7775046..c493094ab3f 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 - 2024-11-20T01:30:31Z + 2024-11-21T01:30:39Z Daily 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 a0e52895887..958ff3a9265 100644 --- a/edn/daily/index.xml +++ b/edn/daily/index.xml @@ -1,7 +1,7 @@ GitHub edn Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:30:32Z + 2024-11-21T01:30:38Z Daily Trending of edn in GitHub \ No newline at end of file diff --git a/eiffel/daily/index.xml b/eiffel/daily/index.xml index 35b71a5c2da..3a51d5dca24 100644 --- a/eiffel/daily/index.xml +++ b/eiffel/daily/index.xml @@ -1,7 +1,7 @@ GitHub Eiffel Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:30:31Z + 2024-11-21T01:30:38Z Daily Trending of Eiffel in GitHub \ No newline at end of file diff --git a/ejs/daily/index.xml b/ejs/daily/index.xml index e215e6901a3..732dfc38638 100644 --- a/ejs/daily/index.xml +++ b/ejs/daily/index.xml @@ -1,7 +1,7 @@ GitHub EJS Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:30:33Z + 2024-11-21T01:30:40Z Daily Trending of EJS in GitHub \ No newline at end of file diff --git a/elixir/daily/index.xml b/elixir/daily/index.xml index 7d188260f06..a1e2f438e33 100644 --- a/elixir/daily/index.xml +++ b/elixir/daily/index.xml @@ -1,7 +1,7 @@ GitHub Elixir Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:30:34Z + 2024-11-21T01:30:41Z Daily Trending of Elixir in GitHub \ No newline at end of file diff --git a/elm/daily/index.xml b/elm/daily/index.xml index fea629760ce..36a03223640 100644 --- a/elm/daily/index.xml +++ b/elm/daily/index.xml @@ -1,7 +1,7 @@ GitHub Elm Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:30:33Z + 2024-11-21T01:30:40Z Daily 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 81ba76e214d..7a043b29a3c 100644 --- a/emacs-lisp/daily/index.xml +++ b/emacs-lisp/daily/index.xml @@ -1,7 +1,7 @@ GitHub Emacs Lisp Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:30:37Z + 2024-11-21T01:30:43Z Daily Trending of Emacs Lisp in GitHub \ No newline at end of file diff --git a/emberscript/daily/index.xml b/emberscript/daily/index.xml index 1f3b77826b3..00277ff8cbc 100644 --- a/emberscript/daily/index.xml +++ b/emberscript/daily/index.xml @@ -1,7 +1,7 @@ GitHub EmberScript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:30:35Z + 2024-11-21T01:30:42Z Daily Trending of EmberScript in GitHub \ No newline at end of file diff --git a/eq/daily/index.xml b/eq/daily/index.xml index f7a0ba0b7d7..504e00f21a8 100644 --- a/eq/daily/index.xml +++ b/eq/daily/index.xml @@ -1,7 +1,7 @@ GitHub EQ Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:30:35Z + 2024-11-21T01:30:42Z Daily Trending of EQ in GitHub \ No newline at end of file diff --git a/erlang/daily/index.xml b/erlang/daily/index.xml index 5559a248f67..92aa0600f16 100644 --- a/erlang/daily/index.xml +++ b/erlang/daily/index.xml @@ -1,7 +1,7 @@ GitHub Erlang Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:30:43Z + 2024-11-21T01:30:47Z Daily Trending of Erlang in GitHub \ No newline at end of file diff --git a/euphoria/daily/index.xml b/euphoria/daily/index.xml index 4ed15841293..be7d19e52e8 100644 --- a/euphoria/daily/index.xml +++ b/euphoria/daily/index.xml @@ -1,7 +1,7 @@ GitHub Euphoria Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:30:41Z + 2024-11-21T01:30:46Z Daily 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 566199b5901..92f0e211188 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 - 2024-11-20T01:30:43Z + 2024-11-21T01:30:47Z Daily Trending of F# in GitHub \ No newline at end of file diff --git a/f*/daily/index.xml b/f*/daily/index.xml index c3b7cecb7e7..2ca54cfa9e8 100644 --- a/f*/daily/index.xml +++ b/f*/daily/index.xml @@ -1,7 +1,7 @@ GitHub F* Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:30:41Z + 2024-11-21T01:30:46Z Daily Trending of F* in GitHub \ No newline at end of file diff --git a/factor/daily/index.xml b/factor/daily/index.xml index 0540a8d66b2..14568d92600 100644 --- a/factor/daily/index.xml +++ b/factor/daily/index.xml @@ -1,7 +1,7 @@ GitHub Factor Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:30:45Z + 2024-11-21T01:30:49Z Daily Trending of Factor in GitHub \ No newline at end of file diff --git a/fancy/daily/index.xml b/fancy/daily/index.xml index 73b479135f7..d9ea1e4488b 100644 --- a/fancy/daily/index.xml +++ b/fancy/daily/index.xml @@ -1,7 +1,7 @@ GitHub Fancy Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:30:44Z + 2024-11-21T01:30:48Z Daily Trending of Fancy in GitHub \ No newline at end of file diff --git a/fantom/daily/index.xml b/fantom/daily/index.xml index 710dbf2b7db..6d220d22c4f 100644 --- a/fantom/daily/index.xml +++ b/fantom/daily/index.xml @@ -1,7 +1,7 @@ GitHub Fantom Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:30:44Z + 2024-11-21T01:30:48Z Daily Trending of Fantom in GitHub \ No newline at end of file diff --git a/faust/daily/index.xml b/faust/daily/index.xml index cb3d1e2f4db..a71b9645f5a 100644 --- a/faust/daily/index.xml +++ b/faust/daily/index.xml @@ -1,7 +1,7 @@ GitHub Faust Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:30:44Z + 2024-11-21T01:30:48Z Daily Trending of Faust in GitHub \ No newline at end of file diff --git a/fennel/daily/index.xml b/fennel/daily/index.xml index b0f606b1502..215403bb2ed 100644 --- a/fennel/daily/index.xml +++ b/fennel/daily/index.xml @@ -1,7 +1,7 @@ GitHub Fennel Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:30:46Z + 2024-11-21T01:30:50Z Daily 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 42f4c874235..bd60bd2028a 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 - 2024-11-20T01:30:46Z + 2024-11-21T01:30:50Z Daily 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 0a3b4f5771f..2c83cefc173 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 - 2024-11-20T01:30:46Z + 2024-11-21T01:30:50Z Daily 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 01246f5bb32..ccdda151bdc 100644 --- a/filterscript/daily/index.xml +++ b/filterscript/daily/index.xml @@ -1,7 +1,7 @@ GitHub Filterscript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:30:45Z + 2024-11-21T01:30:49Z Daily Trending of Filterscript in GitHub \ No newline at end of file diff --git a/fish/daily/index.xml b/fish/daily/index.xml index bf904a7a1ee..8b54e88875f 100644 --- a/fish/daily/index.xml +++ b/fish/daily/index.xml @@ -1,7 +1,7 @@ GitHub fish Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:30:47Z + 2024-11-21T01:30:51Z Daily Trending of fish in GitHub \ No newline at end of file diff --git a/fluent/daily/index.xml b/fluent/daily/index.xml index 092320620df..b48c6f0a77f 100644 --- a/fluent/daily/index.xml +++ b/fluent/daily/index.xml @@ -1,7 +1,7 @@ GitHub Fluent Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:30:48Z + 2024-11-21T01:30:51Z Daily Trending of Fluent in GitHub \ No newline at end of file diff --git a/flux/daily/index.xml b/flux/daily/index.xml index da76821d38f..001d8546bdd 100644 --- a/flux/daily/index.xml +++ b/flux/daily/index.xml @@ -1,7 +1,7 @@ GitHub FLUX Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:30:48Z + 2024-11-21T01:30:52Z Daily Trending of FLUX in GitHub \ No newline at end of file diff --git a/formatted/daily/index.xml b/formatted/daily/index.xml index 5a4923b97a2..ed09e44dd00 100644 --- a/formatted/daily/index.xml +++ b/formatted/daily/index.xml @@ -1,7 +1,7 @@ GitHub Formatted Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:30:49Z + 2024-11-21T01:30:53Z Daily Trending of Formatted in GitHub \ No newline at end of file diff --git a/forth/daily/index.xml b/forth/daily/index.xml index 0f36d1baf42..d29220efb9a 100644 --- a/forth/daily/index.xml +++ b/forth/daily/index.xml @@ -1,7 +1,7 @@ GitHub Forth Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:30:50Z + 2024-11-21T01:30:53Z Daily 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 7384a6276f8..b8d0b355971 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 - 2024-11-20T01:30:49Z + 2024-11-21T01:30:53Z Daily 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 f65a025fa63..c5ace06786a 100644 --- a/fortran/daily/index.xml +++ b/fortran/daily/index.xml @@ -1,14 +1,7 @@ GitHub Fortran Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:30:51Z + 2024-11-21T01:30:54Z Daily Trending of Fortran in GitHub - - Goddard-Fortran-Ecosystem/fArgParse - 2024-11-20T01:30:51Z - tag:github.com,2024-11-20:/Goddard-Fortran-Ecosystem/fArgParse - - <p>Command line argument parsing for Fortran</p><hr> - \ No newline at end of file diff --git a/freebasic/daily/index.xml b/freebasic/daily/index.xml index e6039414f6e..e417178be6e 100644 --- a/freebasic/daily/index.xml +++ b/freebasic/daily/index.xml @@ -1,7 +1,7 @@ GitHub FreeBasic Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:30:52Z + 2024-11-21T01:30:54Z Daily Trending of FreeBasic in GitHub \ No newline at end of file diff --git a/freemarker/daily/index.xml b/freemarker/daily/index.xml index d9651f0e690..ed424d258ae 100644 --- a/freemarker/daily/index.xml +++ b/freemarker/daily/index.xml @@ -1,7 +1,7 @@ GitHub FreeMarker Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:30:53Z + 2024-11-21T01:30:55Z Daily Trending of FreeMarker in GitHub \ No newline at end of file diff --git a/frege/daily/index.xml b/frege/daily/index.xml index 3cfd3710a33..99dbf72398e 100644 --- a/frege/daily/index.xml +++ b/frege/daily/index.xml @@ -1,7 +1,7 @@ GitHub Frege Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:30:52Z + 2024-11-21T01:30:55Z Daily Trending of Frege in GitHub \ No newline at end of file diff --git a/futhark/daily/index.xml b/futhark/daily/index.xml index 8dcc2b6b070..54c47be6537 100644 --- a/futhark/daily/index.xml +++ b/futhark/daily/index.xml @@ -1,7 +1,7 @@ GitHub Futhark Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:30:53Z + 2024-11-21T01:30:55Z Daily 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 f57690e0f35..9658fc0f94f 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 - 2024-11-20T01:30:55Z + 2024-11-21T01:30:57Z Daily Trending of G-code in GitHub \ No newline at end of file diff --git a/game-maker-language/daily/index.xml b/game-maker-language/daily/index.xml index e8946a9a4b1..70d53d8c225 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 - 2024-11-20T01:30:54Z + 2024-11-21T01:30:56Z Daily 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 f7d5ddad397..d65babff2b7 100644 --- a/gaml/daily/index.xml +++ b/gaml/daily/index.xml @@ -1,7 +1,7 @@ GitHub GAML Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:30:54Z + 2024-11-21T01:30:56Z Daily Trending of GAML in GitHub \ No newline at end of file diff --git a/gams/daily/index.xml b/gams/daily/index.xml index 97a2f4bffd5..22a920fc931 100644 --- a/gams/daily/index.xml +++ b/gams/daily/index.xml @@ -1,7 +1,7 @@ GitHub GAMS Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:30:55Z + 2024-11-21T01:30:57Z Daily Trending of GAMS in GitHub \ No newline at end of file diff --git a/gap/daily/index.xml b/gap/daily/index.xml index 6bfb777721e..225e71f1f80 100644 --- a/gap/daily/index.xml +++ b/gap/daily/index.xml @@ -1,7 +1,7 @@ GitHub GAP Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:30:57Z + 2024-11-21T01:30:58Z Daily 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 e2b16f82451..073574e6390 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 - 2024-11-20T01:30:56Z + 2024-11-21T01:30:58Z Daily 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 a7511f66aa5..b408ad06ea3 100644 --- a/gdb/daily/index.xml +++ b/gdb/daily/index.xml @@ -1,7 +1,7 @@ GitHub GDB Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:30:56Z + 2024-11-21T01:30:58Z Daily Trending of GDB in GitHub \ No newline at end of file diff --git a/gdscript/daily/index.xml b/gdscript/daily/index.xml index e11d50f61eb..01e09f1d21a 100644 --- a/gdscript/daily/index.xml +++ b/gdscript/daily/index.xml @@ -1,7 +1,7 @@ GitHub GDScript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:30:57Z + 2024-11-21T01:30:59Z Daily Trending of GDScript in GitHub \ No newline at end of file diff --git a/gedcom/daily/index.xml b/gedcom/daily/index.xml index 6adf83b337d..dc85dce51a7 100644 --- a/gedcom/daily/index.xml +++ b/gedcom/daily/index.xml @@ -1,7 +1,7 @@ GitHub GEDCOM Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:30:58Z + 2024-11-21T01:31:00Z Daily 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 4b3292cca14..647ac70109e 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 - 2024-11-20T01:30:59Z + 2024-11-21T01:31:00Z Daily Trending of Gemfile.lock in GitHub \ No newline at end of file diff --git a/genie/daily/index.xml b/genie/daily/index.xml index ba23bb28c40..1d75212b6b9 100644 --- a/genie/daily/index.xml +++ b/genie/daily/index.xml @@ -1,7 +1,7 @@ GitHub Genie Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:31:01Z + 2024-11-21T01:31:02Z Daily Trending of Genie in GitHub \ No newline at end of file diff --git a/genshi/daily/index.xml b/genshi/daily/index.xml index 91f275efc36..9eafb8b129d 100644 --- a/genshi/daily/index.xml +++ b/genshi/daily/index.xml @@ -1,7 +1,7 @@ GitHub Genshi Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:31:00Z + 2024-11-21T01:31:01Z Daily 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 33af04a4ddb..ae589c7db25 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 - 2024-11-20T01:31:00Z + 2024-11-21T01:31:02Z Daily 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 db0e1dbd952..e2a12e6f99c 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 - 2024-11-20T01:31:01Z + 2024-11-21T01:31:03Z Daily 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 69e4be77e78..9c0b86e6aa7 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 - 2024-11-20T01:31:02Z + 2024-11-21T01:31:03Z Daily 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 1237f3d123f..03808ca1749 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 - 2024-11-20T01:31:02Z + 2024-11-21T01:31:03Z Daily 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 e7173ddde73..0af9143d268 100644 --- a/gherkin/daily/index.xml +++ b/gherkin/daily/index.xml @@ -1,7 +1,7 @@ GitHub Gherkin Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:31:02Z + 2024-11-21T01:31:04Z Daily 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 514ab214f5f..c0fe95f2afa 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 - 2024-11-20T01:31:04Z + 2024-11-21T01:31:05Z Daily 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 227b43bcef8..e793586bd33 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 - 2024-11-20T01:31:03Z + 2024-11-21T01:31:05Z Daily 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 ab2d3f18d30..9f4d5a43afa 100644 --- a/gleam/daily/index.xml +++ b/gleam/daily/index.xml @@ -1,7 +1,7 @@ GitHub Gleam Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:31:04Z + 2024-11-21T01:31:05Z Daily Trending of Gleam in GitHub \ No newline at end of file diff --git a/glsl/daily/index.xml b/glsl/daily/index.xml index c99156348ca..5d0fa9f5409 100644 --- a/glsl/daily/index.xml +++ b/glsl/daily/index.xml @@ -1,7 +1,7 @@ GitHub GLSL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:31:06Z + 2024-11-21T01:31:07Z Daily Trending of GLSL in GitHub \ 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 131551ff59a..713e86a6408 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 - 2024-11-20T01:31:07Z + 2024-11-21T01:31:08Z Daily 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 fa35106ad29..e50e8387020 100644 --- a/glyph/daily/index.xml +++ b/glyph/daily/index.xml @@ -1,7 +1,7 @@ GitHub Glyph Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:31:05Z + 2024-11-21T01:31:07Z Daily Trending of Glyph in GitHub \ No newline at end of file diff --git a/gn/daily/index.xml b/gn/daily/index.xml index 6c66a6e063e..bb5dccb6a98 100644 --- a/gn/daily/index.xml +++ b/gn/daily/index.xml @@ -1,7 +1,7 @@ GitHub GN Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:31:06Z + 2024-11-21T01:31:08Z Daily Trending of GN in GitHub \ No newline at end of file diff --git a/gnuplot/daily/index.xml b/gnuplot/daily/index.xml index 47392e7f4ac..53383f3a70e 100644 --- a/gnuplot/daily/index.xml +++ b/gnuplot/daily/index.xml @@ -1,7 +1,7 @@ GitHub Gnuplot Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:31:07Z + 2024-11-21T01:31:08Z Daily 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 14d100fd4fc..b45479583f2 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 - 2024-11-20T01:31:15Z + 2024-11-21T01:31:18Z Daily 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 1d70b97e08e..b484e0f97cd 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 - 2024-11-20T01:31:14Z + 2024-11-21T01:31:18Z Daily 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 eaec0aeb5e5..0edb96cc543 100644 --- a/go/daily/index.xml +++ b/go/daily/index.xml @@ -1,7 +1,14 @@ GitHub Go Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:31:08Z + 2024-11-21T01:31:09Z Daily Trending of Go in GitHub + + hugomd/ascii-live + 2024-11-21T01:31:09Z + tag:github.com,2024-11-21:/hugomd/ascii-live + + <p>An extension to parrot.live, with support for more animations! http://ascii.live</p><hr><h1>ascii.live</h1> <p>A project for hosting curl-based animations, all in one place, and a follow up to <a href="https://github.com/hugomd/parrot.live"><code>parrot.live</code></a>.</p> <p>Any animations you want to add are welcome! 🎉</p> <p>Try it out in your terminal:</p> <pre><code class="language-bash">curl ascii.live/parrot </code></pre> <img src="https://raw.githubusercontent.com/hugomd/ascii-live/master/demo.gif" width="400"> <h2>Running locally</h2> <p>To run the server locally on port <code>8080</code>, run:</p> <pre><code class="language-bash">go run main.go </code></pre> <h2>Running in Docker</h2> <pre><code class="language-bash">docker run -p 8080:8080 hugomd/ascii-live:latest </code></pre> <h2>Adding frames</h2> <ul> <li><a href="https://github.com/hugomd/ascii-live/fork">Fork this repository</a></li> <li>Create a new frame file in <a href="https://raw.githubusercontent.com/hugomd/ascii-live/master/frames"><code>/frames</code></a>, call it the name of your frames/animation, e.g. <code>parrot.go</code></li> <li>Inside your new file, create an exported list of frames, e.g.</li> </ul> <pre><code class="language-Golang">package frames // This is the value stored in the FrameMap var MyAnimation = DefaultFrameType(myAnimationFrames) var myAnimationFrames = []string{ `Frame1`, `Frame2`, `Frame3`, } </code></pre> <ul> <li>In <a href="https://raw.githubusercontent.com/hugomd/ascii-live/master/frames/frames.go"><code>./frames/frames.go</code></a>, add your animation to the <code>FrameMap</code></li> <li>Commit and push your changes, and make a PR! If this is your first time making a PR, <a href="https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request">check GitHub's help page on the topic</a></li> </ul> <h2>Frame Contributions</h2> <p>Here's a list of lovely people who have contributed frames to this project:</p> <table> <thead> <tr> <th>Contributor</th> <th>Frame File</th> <th>Repository</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/hexrcs">hexrcs</a></td> <td><a href="https://raw.githubusercontent.com/hugomd/ascii-live/master/frames/forrest.go"><code>forrest.go</code></a></td> <td><a href="https://github.com/hexrcs/run-forrest-run"><code>run-forrest-run</code></a></td> </tr> <tr> <td><a href="https://github.com/jmhobbs">jmhobbs</a></td> <td><a href="https://raw.githubusercontent.com/hugomd/ascii-live/master/frames/parrot.go"><code>parrot.go</code></a></td> <td><a href="https://github.com/jmhobbs/terminal-parrot"><code>terminal-parrot</code></a></td> </tr> <tr> <td><a href="https://github.com/01000001-01101011">01000001</a></td> <td><a href="https://raw.githubusercontent.com/hugomd/ascii-live/master/frames/knot.go"><code>knot.go</code></a></td> <td><a href="https://github.com/01000001-01101011/torus-knot/"><code>torus-knot</code></a></td> </tr> </tbody> </table> <h2>Related Projects</h2> <ul> <li><a href="https://github.com/hugomd/parrot.live">parrot.live</a></li> <li><a href="https://github.com/jmhobbs/terminal-parrot">terminal-parrot</a></li> <li><a href="https://github.com/jmhobbs/cultofthepartyparrot.com">cultofthepartyparrot.com</a></li> <li><a href="https://github.com/matheuss/parrotsay">parrotsay</a></li> </ul> + \ No newline at end of file diff --git a/golo/daily/index.xml b/golo/daily/index.xml index 5c8c20cb07d..4fedf5f1729 100644 --- a/golo/daily/index.xml +++ b/golo/daily/index.xml @@ -1,7 +1,7 @@ GitHub Golo Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:31:16Z + 2024-11-21T01:31:20Z Daily Trending of Golo in GitHub \ No newline at end of file diff --git a/gosu/daily/index.xml b/gosu/daily/index.xml index 7f96e66015a..251ec17ca99 100644 --- a/gosu/daily/index.xml +++ b/gosu/daily/index.xml @@ -1,7 +1,7 @@ GitHub Gosu Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:31:17Z + 2024-11-21T01:31:19Z Daily Trending of Gosu in GitHub \ No newline at end of file diff --git a/grace/daily/index.xml b/grace/daily/index.xml index e50b012f115..9d680bddb2c 100644 --- a/grace/daily/index.xml +++ b/grace/daily/index.xml @@ -1,7 +1,7 @@ GitHub Grace Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:31:17Z + 2024-11-21T01:31:20Z Daily Trending of Grace in GitHub \ No newline at end of file diff --git a/gradle/daily/index.xml b/gradle/daily/index.xml index e779013579c..eb0f5467678 100644 --- a/gradle/daily/index.xml +++ b/gradle/daily/index.xml @@ -1,7 +1,7 @@ GitHub Gradle Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:31:16Z + 2024-11-21T01:31:20Z Daily 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 cfff524db52..7d076df4504 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 - 2024-11-20T01:31:18Z + 2024-11-21T01:31:21Z Daily 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 759b44108fb..38ff95912ac 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 - 2024-11-20T01:31:18Z + 2024-11-21T01:31:21Z Daily 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 5e59438846e..1a02585b969 100644 --- a/graphql/daily/index.xml +++ b/graphql/daily/index.xml @@ -1,7 +1,7 @@ GitHub GraphQL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:31:19Z + 2024-11-21T01:31:22Z Daily 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 176f840a538..231c352e396 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 - 2024-11-20T01:31:20Z + 2024-11-21T01:31:23Z Daily 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 bbbdd2098ab..6fdfd06b655 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 - 2024-11-20T01:31:19Z + 2024-11-21T01:31:23Z Daily 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 acc4e62491c..41b2d6a48fe 100644 --- a/groovy/daily/index.xml +++ b/groovy/daily/index.xml @@ -1,7 +1,7 @@ GitHub Groovy Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:31:21Z + 2024-11-21T01:31:24Z Daily Trending of Groovy in GitHub \ No newline at end of file diff --git a/gsc/daily/index.xml b/gsc/daily/index.xml index af892679e6a..4fc381af6ec 100644 --- a/gsc/daily/index.xml +++ b/gsc/daily/index.xml @@ -1,7 +1,7 @@ GitHub GSC Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:31:20Z + 2024-11-21T01:31:23Z Daily Trending of GSC in GitHub \ No newline at end of file diff --git a/hack/daily/index.xml b/hack/daily/index.xml index d6bd8af8fad..1cbc8c07843 100644 --- a/hack/daily/index.xml +++ b/hack/daily/index.xml @@ -1,7 +1,7 @@ GitHub Hack Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:31:22Z + 2024-11-21T01:31:25Z Daily Trending of Hack in GitHub \ No newline at end of file diff --git a/haml/daily/index.xml b/haml/daily/index.xml index 065b057f493..ff25cdc784b 100644 --- a/haml/daily/index.xml +++ b/haml/daily/index.xml @@ -1,7 +1,7 @@ GitHub Haml Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:31:22Z + 2024-11-21T01:31:25Z Daily Trending of Haml in GitHub \ No newline at end of file diff --git a/handlebars/daily/index.xml b/handlebars/daily/index.xml index d6eba977ffd..d1ff422aeb9 100644 --- a/handlebars/daily/index.xml +++ b/handlebars/daily/index.xml @@ -1,7 +1,7 @@ GitHub Handlebars Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:31:23Z + 2024-11-21T01:31:26Z Daily Trending of Handlebars in GitHub \ No newline at end of file diff --git a/haproxy/daily/index.xml b/haproxy/daily/index.xml index 18edf89eead..125840d8aea 100644 --- a/haproxy/daily/index.xml +++ b/haproxy/daily/index.xml @@ -1,7 +1,7 @@ GitHub HAProxy Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:31:22Z + 2024-11-21T01:31:25Z Daily Trending of HAProxy in GitHub \ No newline at end of file diff --git a/harbour/daily/index.xml b/harbour/daily/index.xml index d4c607612c7..d6c6305ce59 100644 --- a/harbour/daily/index.xml +++ b/harbour/daily/index.xml @@ -1,7 +1,7 @@ GitHub Harbour Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:31:24Z + 2024-11-21T01:31:26Z Daily Trending of Harbour in GitHub \ No newline at end of file diff --git a/haskell/daily/index.xml b/haskell/daily/index.xml index 96dbec8c7c3..cebca32e005 100644 --- a/haskell/daily/index.xml +++ b/haskell/daily/index.xml @@ -1,7 +1,14 @@ GitHub Haskell Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:31:26Z + 2024-11-21T01:31:28Z Daily Trending of Haskell in GitHub + + dmbarbour/awelon + 2024-11-21T01:31:28Z + tag:github.com,2024-11-21:/dmbarbour/awelon + + <p>Awelon project is a new UI model with a new language.</p><hr><p>This repository contains multiple components developed for Awelon Project.</p> <p>Components:</p> <ul> <li><a href="https://raw.githubusercontent.com/dmbarbour/awelon/master/AboutABC.md">ABC</a><a href="https://raw.githubusercontent.com/dmbarbour/awelon/master/ABC.md">1</a> - the Awelon bytecode</li> <li><a href="https://raw.githubusercontent.com/dmbarbour/awelon/master/AboutAO.md">AO</a> - a macro language for the bytecode</li> <li><a href="https://raw.githubusercontent.com/dmbarbour/awelon/master/AboutRDP.md">RDP</a> - a reactive paradigm for open systems</li> </ul> <p>Vision:</p> <ul> <li><a href="https://raw.githubusercontent.com/dmbarbour/awelon/master/AwelonProject.md">Awelon Project</a></li> </ul> <h1>Status</h1> <p>Preliminary Software:</p> <ul> <li><strong>aoi</strong> - a REPL for AO code, written in Haskell</li> <li><strong>ao</strong> - a multi-utility command line, written in Haskell</li> <li>A small, growing dictionary of AO code (the <code>ao/</code> directory)</li> </ul> <p>Awelon project is not in a good condition for showing off. Its interpreted performance is lacking, and I'd like to avoid ABC gaining a reputation as 'slow' before it implements a proper set of compilers and optimizers. Further, the AO dictionary is still in a very early stage, e.g. implementing useful data structures and other low level stuff. It will be a while before we can express interesting applications.</p> <p>However, people who aren't going to be judgemental about performance are welcome to experiment with and contribute to the AO dictionaries.</p> <p>In the near future, I'll be developing a wiki-based web application for further developing AO code. This will ultimately make contribution a lot easier, and enable development of simple web application services.</p> <h2>Environment Configuration</h2> <p>For <code>aoi</code> and <code>ao</code> developers must adjust their environment variables.</p> <p><strong>Environment Variables:</strong></p> <ul> <li><strong>AO_PATH</strong>: where to search for AO files; no default</li> <li><strong>AOI_DICT</strong>: imports for <code>aoi</code> executable; default "aoi"</li> <li><strong>AO_DICT</strong>: imports for <code>ao</code> executable; default "ao"</li> <li><strong>AO_TEMP</strong>: directory for JIT and other tasks; default "./aotmp"</li> </ul> <p>Developers must set AO_PATH. Usually, this should just be a single directory with all the AO files (AO has a flat namespace anyway, and should eventually upgrade to a database).</p> + \ No newline at end of file diff --git a/haxe/daily/index.xml b/haxe/daily/index.xml index 90d2d6c39ec..f31a90b2268 100644 --- a/haxe/daily/index.xml +++ b/haxe/daily/index.xml @@ -1,7 +1,7 @@ GitHub Haxe Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:31:25Z + 2024-11-21T01:31:27Z Daily Trending of Haxe in GitHub \ No newline at end of file diff --git a/hcl/daily/index.xml b/hcl/daily/index.xml index b00401a200d..1f80ccf791f 100644 --- a/hcl/daily/index.xml +++ b/hcl/daily/index.xml @@ -1,7 +1,7 @@ GitHub HCL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:31:26Z + 2024-11-21T01:31:28Z Daily Trending of HCL in GitHub \ No newline at end of file diff --git a/hiveql/daily/index.xml b/hiveql/daily/index.xml index 1f39c82ccf3..f1affb5cd00 100644 --- a/hiveql/daily/index.xml +++ b/hiveql/daily/index.xml @@ -1,7 +1,7 @@ GitHub HiveQL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:31:29Z + 2024-11-21T01:31:31Z Daily Trending of HiveQL in GitHub \ No newline at end of file diff --git a/hlsl/daily/index.xml b/hlsl/daily/index.xml index 112cdb702f0..138606a6be6 100644 --- a/hlsl/daily/index.xml +++ b/hlsl/daily/index.xml @@ -1,7 +1,7 @@ GitHub HLSL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:31:30Z + 2024-11-21T01:31:32Z Daily Trending of HLSL in GitHub \ No newline at end of file diff --git a/holyc/daily/index.xml b/holyc/daily/index.xml index b91a3973753..29d61e8b4e6 100644 --- a/holyc/daily/index.xml +++ b/holyc/daily/index.xml @@ -1,7 +1,7 @@ GitHub HolyC Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:31:30Z + 2024-11-21T01:31:32Z Daily Trending of HolyC in GitHub \ No newline at end of file diff --git a/hoon/daily/index.xml b/hoon/daily/index.xml index e5e527d1240..7fecbaad365 100644 --- a/hoon/daily/index.xml +++ b/hoon/daily/index.xml @@ -1,7 +1,7 @@ GitHub hoon Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:31:31Z + 2024-11-21T01:31:33Z Daily 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 7793efe6b8b..f50c744263b 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 - 2024-11-20T01:31:40Z + 2024-11-21T01:31:38Z Daily 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 026a2c26acd..3c9fc944b9c 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 - 2024-11-20T01:31:41Z + 2024-11-21T01:31:39Z Daily 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 8dc716c742c..9772dc847d1 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 - 2024-11-20T01:31:41Z + 2024-11-21T01:31:38Z Daily 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 88ac75fd863..8b86f54c17f 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 - 2024-11-20T01:31:41Z + 2024-11-21T01:31:38Z Daily 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 beaa9426e19..855b8b30596 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 - 2024-11-20T01:31:42Z + 2024-11-21T01:31:40Z Daily 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 58a1de2ae5e..84e641bf64f 100644 --- a/html/daily/index.xml +++ b/html/daily/index.xml @@ -1,7 +1,7 @@ GitHub HTML Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:31:33Z + 2024-11-21T01:31:34Z Daily Trending of HTML in GitHub \ No newline at end of file diff --git a/http/daily/index.xml b/http/daily/index.xml index b506e0a435c..9b6c4b9dba0 100644 --- a/http/daily/index.xml +++ b/http/daily/index.xml @@ -1,7 +1,7 @@ GitHub HTTP Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:31:43Z + 2024-11-21T01:31:40Z Daily Trending of HTTP in GitHub \ No newline at end of file diff --git a/hxml/daily/index.xml b/hxml/daily/index.xml index a46aaaadfdb..e4f56d85fba 100644 --- a/hxml/daily/index.xml +++ b/hxml/daily/index.xml @@ -1,7 +1,7 @@ GitHub HXML Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:31:42Z + 2024-11-21T01:31:40Z Daily Trending of HXML in GitHub \ No newline at end of file diff --git a/hy/daily/index.xml b/hy/daily/index.xml index db587feb8d7..c72f3d9d1fb 100644 --- a/hy/daily/index.xml +++ b/hy/daily/index.xml @@ -1,7 +1,7 @@ GitHub Hy Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:31:43Z + 2024-11-21T01:31:39Z Daily Trending of Hy in GitHub \ No newline at end of file diff --git a/hyphy/daily/index.xml b/hyphy/daily/index.xml index da7c44be40c..9a5e23b8b45 100644 --- a/hyphy/daily/index.xml +++ b/hyphy/daily/index.xml @@ -1,7 +1,7 @@ GitHub HyPhy Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:31:44Z + 2024-11-21T01:31:41Z Daily Trending of HyPhy in GitHub \ No newline at end of file diff --git a/idl/daily/index.xml b/idl/daily/index.xml index 4f9e0957443..ef871b18881 100644 --- a/idl/daily/index.xml +++ b/idl/daily/index.xml @@ -1,7 +1,7 @@ GitHub IDL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:31:44Z + 2024-11-21T01:31:42Z Daily Trending of IDL in GitHub \ No newline at end of file diff --git a/idris/daily/index.xml b/idris/daily/index.xml index f24d74c1726..a0fa67a25a7 100644 --- a/idris/daily/index.xml +++ b/idris/daily/index.xml @@ -1,7 +1,7 @@ GitHub Idris Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:31:44Z + 2024-11-21T01:31:41Z Daily 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 09e37d8878f..81c388e4067 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 - 2024-11-20T01:31:46Z + 2024-11-21T01:31:43Z Daily 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 bbabf4a5ed5..76cb77e4038 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 - 2024-11-20T01:31:46Z + 2024-11-21T01:31:44Z Daily 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 9ed94e9b8a9..392cb344829 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 - 2024-11-20T01:31:46Z + 2024-11-21T01:31:43Z Daily 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 a757ef1b3b8..7fe910c0ba7 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 - 2024-11-20T01:31:47Z + 2024-11-21T01:31:45Z Daily 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 f38d60a88b5..ae9b41ee342 100644 --- a/ini/daily/index.xml +++ b/ini/daily/index.xml @@ -1,7 +1,7 @@ GitHub INI Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:31:47Z + 2024-11-21T01:31:45Z Daily 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 cb6036ac516..2c994cf17c8 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 - 2024-11-20T01:31:48Z + 2024-11-21T01:31:45Z Daily 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 cea56d18126..f6831c5d1d9 100644 --- a/io/daily/index.xml +++ b/io/daily/index.xml @@ -1,7 +1,7 @@ GitHub Io Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:31:49Z + 2024-11-21T01:31:46Z Daily Trending of Io in GitHub \ No newline at end of file diff --git a/ioke/daily/index.xml b/ioke/daily/index.xml index e83384ccf4a..942237dbcb9 100644 --- a/ioke/daily/index.xml +++ b/ioke/daily/index.xml @@ -1,7 +1,7 @@ GitHub Ioke Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:31:49Z + 2024-11-21T01:31:46Z Daily 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 713332ccb45..681ae260d22 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 - 2024-11-20T01:31:49Z + 2024-11-21T01:31:46Z Daily 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 a7950021382..795061f48dc 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 - 2024-11-20T01:31:50Z + 2024-11-21T01:31:48Z Daily 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 e0a2e3fcd87..ad35e993910 100644 --- a/isabelle/daily/index.xml +++ b/isabelle/daily/index.xml @@ -1,7 +1,7 @@ GitHub Isabelle Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:31:50Z + 2024-11-21T01:31:47Z Daily Trending of Isabelle in GitHub \ No newline at end of file diff --git a/j/daily/index.xml b/j/daily/index.xml index 4556d8f367a..163f38049e4 100644 --- a/j/daily/index.xml +++ b/j/daily/index.xml @@ -1,7 +1,7 @@ GitHub J Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:31:51Z + 2024-11-21T01:31:48Z Daily Trending of J in GitHub \ No newline at end of file diff --git a/janet/daily/index.xml b/janet/daily/index.xml index 868b2357f71..bb23f8bd6a5 100644 --- a/janet/daily/index.xml +++ b/janet/daily/index.xml @@ -1,7 +1,7 @@ GitHub Janet Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:31:51Z + 2024-11-21T01:31:47Z Daily 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 14557732e0c..ed6fb3c879c 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 - 2024-11-20T01:31:51Z + 2024-11-21T01:31:48Z Daily 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 9301c2614ed..c634d80bb94 100644 --- a/jasmin/daily/index.xml +++ b/jasmin/daily/index.xml @@ -1,7 +1,7 @@ GitHub Jasmin Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:31:52Z + 2024-11-21T01:31:50Z Daily 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 1a4358892e9..f2f58c1d212 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 - 2024-11-20T01:31:52Z + 2024-11-21T01:31:49Z Daily 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 cf544b18922..c2f3877ef33 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 - 2024-11-20T01:31:53Z + 2024-11-21T01:31:49Z Daily 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 e923361232f..83ce5a09d2c 100644 --- a/java/daily/index.xml +++ b/java/daily/index.xml @@ -1,14 +1,7 @@ GitHub Java Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:31:54Z + 2024-11-21T01:31:51Z Daily Trending of Java in GitHub - - iterate-ch/cyberduck - 2024-11-20T01:31:54Z - tag:github.com,2024-11-20:/iterate-ch/cyberduck - - <p>Cyberduck is a libre FTP, SFTP, WebDAV, Amazon S3, Backblaze B2, Microsoft Azure & OneDrive and OpenStack Swift file transfer client for Mac and Windows.</p><hr><h1>Cyberduck</h1> <p><a href="https://github.com/iterate-ch/cyberduck/commits/master"><img src="https://img.shields.io/github/last-commit/iterate-ch/cyberduck" alt="GitHub commit"></a> <a href="https://raw.githubusercontent.com/iterate-ch/cyberduck/master/LICENSE"><img src="https://img.shields.io/badge/license-GPL-blue.svg?sanitize=true" alt="GitHub license"></a> <a href="https://github.com/iterate-ch/cyberduck/actions"><img src="https://github.com/iterate-ch/cyberduck/actions/workflows/build.yml/badge.svg?branch=master" alt="Build Status"></a> <a href="https://fosstodon.org/@cyberduck"><img src="https://img.shields.io/mastodon/follow/109698908353278292?domain=https%3A%2F%2Ffosstodon.org%2F&amp;style=flat" alt="Mastodon"></a> <a href="https://gurubase.io/g/cyberduck"><img src="https://img.shields.io/badge/Gurubase-Ask%20Cyberduck%20Guru-006BFF" alt="Gurubase"></a></p> <p>This is the development home for Cyberduck, a libre file transfer client for macOS and Windows. Command line interface (CLI) for Linux, macOS and Windows. The core libraries are used in <a href="https://mountainduck.io/">Mountain Duck</a>.</p> <img src="https://cdn.cyberduck.io/img/cyberduck-icon-rect-512.png" alt="Cyberduck Icon" width="400px"> <h2>Mailing Lists</h2> <p>There is a <a href="http://groups.google.com/group/cyberduck/">Google Groups Cyberduck</a> discussion mailing list.</p> <p>The following additional <a href="http://lists.cyberduck.io/">mailing lists</a> are hosted:</p> <ul> <li><a href="http://lists.cyberduck.io/mailman/listinfo/cyberduck-news">News</a> Announcements of new releases</li> <li><a href="http://lists.cyberduck.io/mailman/listinfo/cyberduck-localization">Localization</a> Notifications about changes to the translations needed</li> </ul> <h2>Source</h2> <p>Source code is available licensed under the <a href="https://www.gnu.org/licenses/gpl-3.0.en.html">GNU General Public License Version 3</a>. Pull requests welcome!</p> <h2>Localizations</h2> <p>Translations to new languages are welcome. We use <a href="https://www.transifex.com/cyberduck/cyberduck/dashboard/">Transifex</a> to localize resources. Current available localizations are <em>English</em>, <em>Czech</em>, <em>Dutch</em>, <em>Finnish</em>, <em>French</em>, <em>German</em>, <em>Italian</em>, <em>Japanese</em>, <em>Korean</em>, <em>Norwegian</em>, <em>Portuguese</em>, <em>Slovak</em>, <em>Spanish</em>, <em>Chinese (Traditional &amp; Simplified Han)</em>, <em>Russian</em>, <em>Swedish</em>, <em>Hungarian</em>, <em>Danish</em>, <em>Polish</em>, <em>Indonesian</em>, <em>Catalan</em>, <em>Welsh</em>, <em>Thai</em>, <em>Turkish</em>, <em>Hebrew</em>, <em>Latvian</em>, <em>Greek</em>, <em>Serbian</em>, <em>Georgian</em> and <em>Slovenian</em>.</p> <p>Make sure to subscribe to the <a href="http://lists.cyberduck.ch/mailman/listinfo/cyberduck-localization">localization mailing list</a>.</p> <h2>Documentation</h2> <p>For general help about using Cyberduck, please refer to the <a href="https://docs.cyberduck.io">documentation</a>. The documentation is maintained in its own <a href="https://github.com/iterate-ch/docs">repository</a>.</p> <h2>Additional Connection Profiles</h2> <p>Additional connection profiles not bundled by default but available in <em>Preferences → Profiles</em> are maintained in its own <a href="https://github.com/iterate-ch/profiles">repository</a>.</p> <h2>Snapshot and Beta builds</h2> <p>These are nightly snapshot builds from the current development trunk featuring the latest bug fixes and enhancements. Be warned, though, these builds are potentially unstable and experimental. You can also switch to beta or snapshot builds in <em>Preferences → Update</em>.</p> <h2>Prerequisites</h2> <ul> <li>Java 11 SDK or later</li> <li>Apache Ant 1.10.1 or later</li> <li>Apache Maven 3.5 or later</li> </ul> <h3>macOS</h3> <ul> <li><a href="https://developer.apple.com/xcode/download/">Xcode 12</a> or later</li> </ul> <h3>Windows</h3> <h4>Installation</h4> <p><strong>Manually</strong></p> <ul> <li>Visual Studio 2022, following workloads are required: <ul> <li><code>.NET desktop development</code></li> <li><code>Universal Windows Platform development</code></li> <li><code>Desktop development with C++</code></li> </ul> </li> <li><a href="https://support.apple.com/kb/dl999">Bonjour SDK for Windows</a></li> <li><a href="https://wixtoolset.org/docs/wix3/">Wix v3</a> (Optional)</li> </ul> <p><strong>Chocolatey</strong></p> <p><em>Without Visual Studio (IDE)</em></p> <pre><code class="language-sh">choco install visualstudio2022buildtools -y choco install visualstudio2022-workload-manageddesktopbuildtools -y choco install visualstudio2022-workload-vctools -y choco install visualstudio2022-workload-universalbuildtools -y </code></pre> <p><em>With Visual Studio IDE</em></p> <pre><code class="language-sh">choco install visualstudio2022(edition) -y choco install visualstudio2022-workload-manageddesktop -y choco install visualstudio2022-workload-nativedesktop -y choco install visualstudio2022-workload-universal -y </code></pre> <p>Replace <code>(edition)</code> with your licensed IDE SKU: community, professional, enterprise</p> <p>Install required dependencies, after installing Visual Studio IDE or build tools:</p> <pre><code class="language-sh">choco install microsoft-openjdk17 ant maven -y choco install bonjour -y; choco install bonjour -y --force </code></pre> <p>Optional, see Remarks:</p> <pre><code class="language-sh">choco install wixtoolset -y </code></pre> <p><em>Remarks</em>: Installing with Chocolatey may or may not fail spectacularly.<br> Following issues have been observed on a clean installation:</p> <ul> <li>Bonjour package fails with <code>file not found</code> - though the Bonjour64.msi is extracted from BonjourPSSetup.exe.</li> <li>wixtoolset depends on .NET 3.5-package, which never completes<br> On Windows 11 installation doesn't work</li> <li><code>visualstudio*-workload-*</code> may halt with "Operation canceled",<br> Abort Chocolatey-command (Ctrl-C), then open up Visual Studio Installer and Resume installation there</li> </ul> <p>Restart your machine after installing these components.</p> <h4>System Configuration</h4> <p>Make sure that <code>MSBuild</code>, <code>mvn</code>, <code>ant</code> and <code>java</code> are on your <code>PATH</code>-environment variable.</p> <ul> <li>Open <code>Developer Command Prompt for VS2022</code>, then run <code>where msbuild.exe</code>, add first directory name to path <ul> <li>e.g. <code>C:\Program Files\Microsoft Visual Studio\Community\Msbuild\Current\Bin\amd64</code></li> </ul> </li> <li>Chocolatey may have added mvn and ant to your <code>PATH</code>-variable</li> <li>The Microsoft OpenJDK 17 installer automatically adds itself to the system <code>PATH</code>.</li> </ul> <p>Additionally include the latest Windows Sdk-binary folder in your <code>PATH</code>-environment variable:</p> <ul> <li><code>%ProgramFiles(x86)%\Windows Kits\10\bin\10.0.&lt;Latest&gt;.0\x64</code></li> </ul> <h2>Building</h2> <p>Run <code>mvn verify -DskipTests -DskipSign</code> to build without running any tests and skip codesign. Find build artifacts in</p> <ul> <li><code>osx/target/Cyberduck.app</code></li> <li><code>windows/target/Cyberduck.exe</code></li> </ul> <p>Run with <code>-Pinstaller</code> to build installer packages with build artifacts</p> <ul> <li><code>osx/target/release/*.(zip|pkg)</code></li> <li><code>windows/target/release/*.(exe|msi)</code></li> <li><code>cli/osx/target/release/*.(pkg|tar.gz)</code></li> <li><code>cli/windows/target/release/*.(exe|msi)</code></li> <li><code>cli/linux/target/release/*.(deb|rpm)</code></li> </ul> <h3>Windows</h3> <p>You will run into warnings from <code>MSBuild</code>/<code>WiX</code> that are unrelated to how Cyberduck is built. You may safely ignore them.</p> <h2>Debugging</h2> <h3>macOS</h3> <p>Edit <code>setup/app/Info.plist</code> if you want to debug <em>Cyberduck.app</em> or <code>setup/pkg/Info.plist</code> if you want to debug<code>duck</code> respectively. Add <code>-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005</code> in <code>VMOptions</code> to allow to connect to the running application in your IDE by attaching to the remote JVM.</p> <h3>Windows</h3> <p>Due to Visual Studio not being able to handle Java projects it is required to follow these steps for debugging:</p> <ul> <li> <p>Run <code>mvn verify -Dconfiguration=debug</code> which ensures that debugging symbols are generated This prevents Visual Studio (or <code>MSBuild invoked from Maven</code>) from generating optimized assemblies which in turn may prevent debugging.</p> </li> <li> <p>Open the solution in Visual Studio</p> </li> <li> <p>Open a <code>.java</code> file and set a breakpoint. Visual Studio breaks either on or near the line selected.</p> </li> <li> <p>Debugging capabilities include</p> <ul> <li>Step Over</li> <li>Step Into</li> <li>Step Out</li> <li>Continue</li> <li>Local/Auto variables</li> <li>Immediate Window</li> </ul> <p>Go To Symbol is not working due to missing Java support.</p> </li> </ul> <h2>Running Tests</h2> <p>After packaging, run <code>mvn test -DskipITs</code> to run unit tests but skip integration tests.</p> <h3>Maven Artifacts (GPL)</h3> <h4>Repository Configuration</h4> <p>Maven artifacts are available in a repository hosted on Amazon S3.</p> <ul> <li>Use the following Maven configuration in your project POM to reference artifacts from Cyberduck</li> </ul> <pre><code class="language-xml">&lt;repositories&gt; &lt;repository&gt; &lt;id&gt;maven.cyberduck.io-release&lt;/id&gt; &lt;url&gt;https://s3-eu-west-1.amazonaws.com/repo.maven.cyberduck.io/releases&lt;/url&gt; &lt;layout&gt;default&lt;/layout&gt; &lt;releases&gt; &lt;enabled&gt;true&lt;/enabled&gt; &lt;/releases&gt; &lt;snapshots&gt; &lt;enabled&gt;false&lt;/enabled&gt; &lt;/snapshots&gt; &lt;/repository&gt; &lt;/repositories&gt; </code></pre> <ul> <li>You will need to add the AWS Maven Wagon to your build using</li> </ul> <pre><code class="language-xml">&lt;build&gt; &lt;extensions&gt; &lt;extension&gt; &lt;groupId&gt;org.springframework.build&lt;/groupId&gt; &lt;artifactId&gt;aws-maven&lt;/artifactId&gt; &lt;version&gt;5.0.0.RELEASE&lt;/version&gt; &lt;/extension&gt; &lt;/extensions&gt; &lt;/build&gt; </code></pre> <h4>Artifacts</h4> <ul> <li>Protocol implementations</li> </ul> <pre><code class="language-xml">&lt;dependency&gt; &lt;groupId&gt;ch.cyberduck&lt;/groupId&gt; &lt;artifactId&gt;protocols&lt;/artifactId&gt; &lt;type&gt;pom&lt;/type&gt; &lt;version&gt;7.1.0&lt;/version&gt; &lt;/dependency&gt; </code></pre> <ul> <li>Cocoa Java Bindings (macOS)</li> </ul> <pre><code class="language-xml">&lt;dependency&gt; &lt;groupId&gt;ch.cyberduck&lt;/groupId&gt; &lt;artifactId&gt;binding&lt;/artifactId&gt; &lt;version&gt;7.1.0&lt;/version&gt; &lt;/dependency&gt; </code></pre> <ul> <li>Implementations (macOS) using Launch Services, SystemConfiguration, Foundation, Keychain and other API</li> </ul> <pre><code class="language-xml">&lt;dependency&gt; &lt;groupId&gt;ch.cyberduck&lt;/groupId&gt; &lt;artifactId&gt;libcore&lt;/artifactId&gt; &lt;version&gt;${project.version}&lt;/version&gt; &lt;/dependency&gt; </code></pre> <h2>Sponsors</h2> <p><a href="https://www.yourkit.com"><img src="https://www.yourkit.com/images/yk_logo.svg?sanitize=true" alt="YourKit"></a></p> <p>YourKit supports open source projects with its full-featured Java Profiler. YourKit, LLC is the creator of <a href="https://www.yourkit.com/java/profiler/">YourKit Java Profiler</a> and <a href="https://www.yourkit.com/.net/profiler/">YourKit .NET Profiler</a>, innovative and intelligent tools for profiling Java and .NET applications.</p> - \ No newline at end of file diff --git a/javascript+erb/daily/index.xml b/javascript+erb/daily/index.xml index f8b4d82870c..2195fb303be 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 - 2024-11-20T01:32:01Z + 2024-11-21T01:31:54Z Daily 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 ab16f672028..924a46dad61 100644 --- a/javascript/daily/index.xml +++ b/javascript/daily/index.xml @@ -1,7 +1,7 @@ GitHub JavaScript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:32:02Z + 2024-11-21T01:31:56Z Daily Trending of JavaScript in GitHub \ No newline at end of file diff --git a/jest-snapshot/daily/index.xml b/jest-snapshot/daily/index.xml index 6c44a114109..c07a2bb67db 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 - 2024-11-20T01:32:10Z + 2024-11-21T01:32:06Z Daily 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 7c1f4e40437..4d51bed7fed 100644 --- a/jflex/daily/index.xml +++ b/jflex/daily/index.xml @@ -1,7 +1,7 @@ GitHub JFlex Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:32:09Z + 2024-11-21T01:32:06Z Daily Trending of JFlex in GitHub \ No newline at end of file diff --git a/jinja/daily/index.xml b/jinja/daily/index.xml index bdfb6afb937..36820da528e 100644 --- a/jinja/daily/index.xml +++ b/jinja/daily/index.xml @@ -1,7 +1,7 @@ GitHub Jinja Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:31:31Z + 2024-11-21T01:31:33Z Daily 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 49d8b68c73d..82930521817 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 - 2024-11-20T01:32:11Z + 2024-11-21T01:32:07Z Daily 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 349c4f2dc91..470f66bdfc3 100644 --- a/jison/daily/index.xml +++ b/jison/daily/index.xml @@ -1,7 +1,7 @@ GitHub Jison Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:32:09Z + 2024-11-21T01:32:05Z Daily Trending of Jison in GitHub \ No newline at end of file diff --git a/jolie/daily/index.xml b/jolie/daily/index.xml index 9923dfc6483..ec2a4e22156 100644 --- a/jolie/daily/index.xml +++ b/jolie/daily/index.xml @@ -1,7 +1,7 @@ GitHub Jolie Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:32:10Z + 2024-11-21T01:32:08Z Daily Trending of Jolie in GitHub \ No newline at end of file diff --git a/jq/daily/index.xml b/jq/daily/index.xml index a2b4c33c902..34ef79121e5 100644 --- a/jq/daily/index.xml +++ b/jq/daily/index.xml @@ -1,7 +1,7 @@ GitHub jq Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:32:12Z + 2024-11-21T01:32:07Z Daily 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 4dd92ef4493..9de6745748b 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 - 2024-11-20T01:32:12Z + 2024-11-21T01:32:09Z Daily 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 e42f527090f..f80b48fa389 100644 --- a/json/daily/index.xml +++ b/json/daily/index.xml @@ -1,7 +1,7 @@ GitHub JSON Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:32:11Z + 2024-11-21T01:32:08Z Daily Trending of JSON in GitHub \ No newline at end of file diff --git a/json5/daily/index.xml b/json5/daily/index.xml index 34c45baabfa..1a56d3d837e 100644 --- a/json5/daily/index.xml +++ b/json5/daily/index.xml @@ -1,7 +1,7 @@ GitHub JSON5 Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:32:12Z + 2024-11-21T01:32:10Z Daily Trending of JSON5 in GitHub \ No newline at end of file diff --git a/jsoniq/daily/index.xml b/jsoniq/daily/index.xml index 2fc6e35d4ae..6cf41c0cdbf 100644 --- a/jsoniq/daily/index.xml +++ b/jsoniq/daily/index.xml @@ -1,7 +1,7 @@ GitHub JSONiq Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:32:13Z + 2024-11-21T01:32:09Z Daily Trending of JSONiq in GitHub \ No newline at end of file diff --git a/jsonld/daily/index.xml b/jsonld/daily/index.xml index 5c289d4cbfa..0350c5406a3 100644 --- a/jsonld/daily/index.xml +++ b/jsonld/daily/index.xml @@ -1,7 +1,7 @@ GitHub JSONLD Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:32:13Z + 2024-11-21T01:32:09Z Daily Trending of JSONLD in GitHub \ No newline at end of file diff --git a/jsonnet/daily/index.xml b/jsonnet/daily/index.xml index 3dac8c3c6e7..4182b2a1cd3 100644 --- a/jsonnet/daily/index.xml +++ b/jsonnet/daily/index.xml @@ -1,7 +1,7 @@ GitHub Jsonnet Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:32:14Z + 2024-11-21T01:32:11Z Daily Trending of Jsonnet in GitHub \ No newline at end of file diff --git a/julia/daily/index.xml b/julia/daily/index.xml index 5fbe414497f..432e28001f0 100644 --- a/julia/daily/index.xml +++ b/julia/daily/index.xml @@ -1,14 +1,7 @@ GitHub Julia Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:32:16Z + 2024-11-21T01:32:11Z Daily Trending of Julia in GitHub - - ReactiveBayes/ReactiveMP.jl - 2024-11-20T01:32:16Z - tag:github.com,2024-11-20:/ReactiveBayes/ReactiveMP.jl - - <p>High-performance reactive message-passing based Bayesian inference engine</p><hr> - \ No newline at end of file diff --git a/jupyter-notebook/daily/index.xml b/jupyter-notebook/daily/index.xml index dbcc4ce1a46..cc8ac854f3c 100644 --- a/jupyter-notebook/daily/index.xml +++ b/jupyter-notebook/daily/index.xml @@ -1,7 +1,7 @@ GitHub Jupyter Notebook Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:32:17Z + 2024-11-21T01:32:12Z Daily Trending of Jupyter Notebook in GitHub \ No newline at end of file diff --git a/kaitai-struct/daily/index.xml b/kaitai-struct/daily/index.xml index b75ec21ae00..b7c5c9b8180 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 - 2024-11-20T01:32:20Z + 2024-11-21T01:32:17Z Daily 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 c0ebc5023bb..7fa34656928 100644 --- a/kakounescript/daily/index.xml +++ b/kakounescript/daily/index.xml @@ -1,7 +1,7 @@ GitHub KakouneScript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:32:21Z + 2024-11-21T01:32:16Z Daily 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 c5ce95553bb..e50a60930d6 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 - 2024-11-20T01:32:22Z + 2024-11-21T01:32:19Z Daily 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 67d3e07decd..033c421060b 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 - 2024-11-20T01:32:22Z + 2024-11-21T01:32:18Z Daily 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 2d0dba9ebf0..29f13200e69 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 - 2024-11-20T01:32:23Z + 2024-11-21T01:32:18Z Daily 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 038420dd99b..86d87d5ea7e 100644 --- a/kit/daily/index.xml +++ b/kit/daily/index.xml @@ -1,7 +1,7 @@ GitHub Kit Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:32:24Z + 2024-11-21T01:32:20Z Daily Trending of Kit in GitHub \ No newline at end of file diff --git a/kotlin/daily/index.xml b/kotlin/daily/index.xml index 6e59137fb9c..963a9f076ae 100644 --- a/kotlin/daily/index.xml +++ b/kotlin/daily/index.xml @@ -1,7 +1,7 @@ GitHub Kotlin Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:32:27Z + 2024-11-21T01:32:23Z Daily Trending of Kotlin in GitHub \ No newline at end of file diff --git a/krl/daily/index.xml b/krl/daily/index.xml index b6cf3c6a9df..bfff0b55ee6 100644 --- a/krl/daily/index.xml +++ b/krl/daily/index.xml @@ -1,7 +1,7 @@ GitHub KRL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:32:25Z + 2024-11-21T01:32:19Z Daily Trending of KRL in GitHub \ No newline at end of file diff --git a/kusto/daily/index.xml b/kusto/daily/index.xml index df001a8c489..614529a6439 100644 --- a/kusto/daily/index.xml +++ b/kusto/daily/index.xml @@ -1,7 +1,7 @@ GitHub Kusto Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:32:24Z + 2024-11-21T01:32:20Z Daily Trending of Kusto in GitHub \ No newline at end of file diff --git a/kvlang/daily/index.xml b/kvlang/daily/index.xml index ab6c787cfd5..4f8ddb29ac6 100644 --- a/kvlang/daily/index.xml +++ b/kvlang/daily/index.xml @@ -1,7 +1,7 @@ GitHub kvlang Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:32:30Z + 2024-11-21T01:32:25Z Daily Trending of kvlang in GitHub \ No newline at end of file diff --git a/labview/daily/index.xml b/labview/daily/index.xml index c9bc084c3d2..b24c086ad97 100644 --- a/labview/daily/index.xml +++ b/labview/daily/index.xml @@ -1,7 +1,7 @@ GitHub LabVIEW Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:32:29Z + 2024-11-21T01:32:26Z Daily Trending of LabVIEW in GitHub \ No newline at end of file diff --git a/lark/daily/index.xml b/lark/daily/index.xml index bb2b15bb9a2..337e7690293 100644 --- a/lark/daily/index.xml +++ b/lark/daily/index.xml @@ -1,7 +1,7 @@ GitHub Lark Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:32:30Z + 2024-11-21T01:32:25Z Daily Trending of Lark in GitHub \ No newline at end of file diff --git a/lasso/daily/index.xml b/lasso/daily/index.xml index 81e53764fd6..14840099a4c 100644 --- a/lasso/daily/index.xml +++ b/lasso/daily/index.xml @@ -1,7 +1,7 @@ GitHub Lasso Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:32:30Z + 2024-11-21T01:32:26Z Daily Trending of Lasso in GitHub \ No newline at end of file diff --git a/latte/daily/index.xml b/latte/daily/index.xml index a08cb02e58e..31830cd8f0f 100644 --- a/latte/daily/index.xml +++ b/latte/daily/index.xml @@ -1,7 +1,7 @@ GitHub Latte Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:32:31Z + 2024-11-21T01:32:26Z Daily Trending of Latte in GitHub \ No newline at end of file diff --git a/lean/daily/index.xml b/lean/daily/index.xml index 60123bdaa03..3523573ae96 100644 --- a/lean/daily/index.xml +++ b/lean/daily/index.xml @@ -1,7 +1,7 @@ GitHub Lean Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:32:32Z + 2024-11-21T01:32:28Z Daily Trending of Lean in GitHub \ No newline at end of file diff --git a/less/daily/index.xml b/less/daily/index.xml index 8acc20dc87f..1cb37ddadd8 100644 --- a/less/daily/index.xml +++ b/less/daily/index.xml @@ -1,7 +1,7 @@ GitHub Less Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:32:32Z + 2024-11-21T01:32:27Z Daily Trending of Less in GitHub \ No newline at end of file diff --git a/lex/daily/index.xml b/lex/daily/index.xml index b5e0c9c95ba..1633a110004 100644 --- a/lex/daily/index.xml +++ b/lex/daily/index.xml @@ -1,7 +1,7 @@ GitHub Lex Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:32:33Z + 2024-11-21T01:32:29Z Daily Trending of Lex in GitHub \ No newline at end of file diff --git a/lfe/daily/index.xml b/lfe/daily/index.xml index a65d29bf8e5..637f938b084 100644 --- a/lfe/daily/index.xml +++ b/lfe/daily/index.xml @@ -1,7 +1,7 @@ GitHub LFE Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:32:34Z + 2024-11-21T01:32:28Z Daily Trending of LFE in GitHub \ No newline at end of file diff --git a/ligolang/daily/index.xml b/ligolang/daily/index.xml index 5f158856a12..203cee2758a 100644 --- a/ligolang/daily/index.xml +++ b/ligolang/daily/index.xml @@ -1,7 +1,7 @@ GitHub LigoLANG Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:32:33Z + 2024-11-21T01:32:29Z Daily Trending of LigoLANG in GitHub \ No newline at end of file diff --git a/lilypond/daily/index.xml b/lilypond/daily/index.xml index a8202ca5429..66dd3679fe8 100644 --- a/lilypond/daily/index.xml +++ b/lilypond/daily/index.xml @@ -1,7 +1,7 @@ GitHub LilyPond Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:32:33Z + 2024-11-21T01:32:29Z Daily Trending of LilyPond in GitHub \ No newline at end of file diff --git a/limbo/daily/index.xml b/limbo/daily/index.xml index 0d3e1085e51..27ad7d613a9 100644 --- a/limbo/daily/index.xml +++ b/limbo/daily/index.xml @@ -1,7 +1,7 @@ GitHub Limbo Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:32:35Z + 2024-11-21T01:32:31Z Daily 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 8587158a71d..6ec79888b9a 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 - 2024-11-20T01:32:35Z + 2024-11-21T01:32:30Z Daily 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 c0b017f38d1..d0a53293a3e 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 - 2024-11-20T01:32:34Z + 2024-11-21T01:32:30Z Daily 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 bcdd9f4c637..aef78775553 100644 --- a/liquid/daily/index.xml +++ b/liquid/daily/index.xml @@ -1,7 +1,7 @@ GitHub Liquid Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:32:35Z + 2024-11-21T01:32:31Z Daily 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 6029b200d60..6bb9968221a 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 - 2024-11-20T01:32:36Z + 2024-11-21T01:32:32Z Daily 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 57ae1a76333..a0ead692942 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 - 2024-11-20T01:32:36Z + 2024-11-21T01:32:32Z Daily 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 12e07808081..54da0954199 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 - 2024-11-20T01:32:37Z + 2024-11-21T01:32:32Z Daily 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 1d2aaa34f7d..d9ef93daf22 100644 --- a/livescript/daily/index.xml +++ b/livescript/daily/index.xml @@ -1,7 +1,7 @@ GitHub LiveScript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:32:38Z + 2024-11-21T01:32:33Z Daily Trending of LiveScript in GitHub \ No newline at end of file diff --git a/llvm/daily/index.xml b/llvm/daily/index.xml index c473244c4b9..d6be4c675b8 100644 --- a/llvm/daily/index.xml +++ b/llvm/daily/index.xml @@ -1,7 +1,7 @@ GitHub LLVM Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:32:39Z + 2024-11-21T01:32:34Z Daily Trending of LLVM in GitHub \ No newline at end of file diff --git a/logos/daily/index.xml b/logos/daily/index.xml index fce99584400..91e6776f486 100644 --- a/logos/daily/index.xml +++ b/logos/daily/index.xml @@ -1,7 +1,7 @@ GitHub Logos Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:32:38Z + 2024-11-21T01:32:34Z Daily Trending of Logos in GitHub \ No newline at end of file diff --git a/logtalk/daily/index.xml b/logtalk/daily/index.xml index 02493151500..d71823fd5ae 100644 --- a/logtalk/daily/index.xml +++ b/logtalk/daily/index.xml @@ -1,7 +1,7 @@ GitHub Logtalk Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:32:37Z + 2024-11-21T01:32:33Z Daily Trending of Logtalk in GitHub \ No newline at end of file diff --git a/lolcode/daily/index.xml b/lolcode/daily/index.xml index 2eb35b5d5a4..b260b6acb19 100644 --- a/lolcode/daily/index.xml +++ b/lolcode/daily/index.xml @@ -1,7 +1,7 @@ GitHub LOLCODE Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:32:41Z + 2024-11-21T01:32:36Z Daily Trending of LOLCODE in GitHub \ No newline at end of file diff --git a/lookml/daily/index.xml b/lookml/daily/index.xml index c8f71653136..3a75c15efbf 100644 --- a/lookml/daily/index.xml +++ b/lookml/daily/index.xml @@ -1,7 +1,7 @@ GitHub LookML Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:32:40Z + 2024-11-21T01:32:35Z Daily Trending of LookML in GitHub \ No newline at end of file diff --git a/loomscript/daily/index.xml b/loomscript/daily/index.xml index bf72133c8ae..48193c93909 100644 --- a/loomscript/daily/index.xml +++ b/loomscript/daily/index.xml @@ -1,7 +1,7 @@ GitHub LoomScript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:32:40Z + 2024-11-21T01:32:36Z Daily Trending of LoomScript in GitHub \ No newline at end of file diff --git a/lsl/daily/index.xml b/lsl/daily/index.xml index 9a815540186..38fdff47b76 100644 --- a/lsl/daily/index.xml +++ b/lsl/daily/index.xml @@ -1,7 +1,7 @@ GitHub LSL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:32:40Z + 2024-11-21T01:32:35Z Daily 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 3e34a9e68d4..433a36a51e1 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 - 2024-11-20T01:32:41Z + 2024-11-21T01:32:36Z Daily 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 0cfd233762a..3566453a9b6 100644 --- a/lua/daily/index.xml +++ b/lua/daily/index.xml @@ -1,7 +1,7 @@ GitHub Lua Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:32:43Z + 2024-11-21T01:32:39Z Daily Trending of Lua in GitHub \ No newline at end of file diff --git a/m/daily/index.xml b/m/daily/index.xml index 3ca1dd55754..2ee891bdb09 100644 --- a/m/daily/index.xml +++ b/m/daily/index.xml @@ -1,7 +1,7 @@ GitHub M Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:32:42Z + 2024-11-21T01:32:37Z Daily Trending of M in GitHub \ No newline at end of file diff --git a/m4/daily/index.xml b/m4/daily/index.xml index 42ef971fdf2..dd5b1d4049b 100644 --- a/m4/daily/index.xml +++ b/m4/daily/index.xml @@ -1,7 +1,7 @@ GitHub M4 Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:32:46Z + 2024-11-21T01:32:44Z Daily Trending of M4 in GitHub \ No newline at end of file diff --git a/m4sugar/daily/index.xml b/m4sugar/daily/index.xml index cabadea7a7e..55bdf1f57a3 100644 --- a/m4sugar/daily/index.xml +++ b/m4sugar/daily/index.xml @@ -1,7 +1,7 @@ GitHub M4Sugar Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:32:47Z + 2024-11-21T01:32:43Z Daily Trending of M4Sugar in GitHub \ No newline at end of file diff --git a/macaulay2/daily/index.xml b/macaulay2/daily/index.xml index eb4ebcbf2e8..f2e2b9322ce 100644 --- a/macaulay2/daily/index.xml +++ b/macaulay2/daily/index.xml @@ -1,7 +1,7 @@ GitHub Macaulay2 Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:32:46Z + 2024-11-21T01:32:44Z Daily Trending of Macaulay2 in GitHub \ No newline at end of file diff --git a/makefile/daily/index.xml b/makefile/daily/index.xml index bb10157a787..218cc6d53dc 100644 --- a/makefile/daily/index.xml +++ b/makefile/daily/index.xml @@ -1,7 +1,7 @@ GitHub Makefile Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:32:47Z + 2024-11-21T01:32:45Z Daily Trending of Makefile in GitHub \ No newline at end of file diff --git a/mako/daily/index.xml b/mako/daily/index.xml index 8fe7f8e04ba..01b344ba4a1 100644 --- a/mako/daily/index.xml +++ b/mako/daily/index.xml @@ -1,7 +1,7 @@ GitHub Mako Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:32:48Z + 2024-11-21T01:32:46Z Daily Trending of Mako in GitHub \ No newline at end of file diff --git a/markdown/daily/index.xml b/markdown/daily/index.xml deleted file mode 100644 index ecad460b6fe..00000000000 --- a/markdown/daily/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Markdown Daily Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:32:58Z - Daily Trending of Markdown in GitHub - - \ No newline at end of file diff --git a/marko/daily/index.xml b/marko/daily/index.xml index d469e2f2b0a..0b9d3f3cc08 100644 --- a/marko/daily/index.xml +++ b/marko/daily/index.xml @@ -1,7 +1,7 @@ GitHub Marko Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:32:48Z + 2024-11-21T01:32:46Z Daily Trending of Marko in GitHub \ No newline at end of file diff --git a/mask/daily/index.xml b/mask/daily/index.xml index 1f9d0906842..024ab457a12 100644 --- a/mask/daily/index.xml +++ b/mask/daily/index.xml @@ -1,7 +1,7 @@ GitHub Mask Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:32:49Z + 2024-11-21T01:32:45Z Daily Trending of Mask in GitHub \ No newline at end of file diff --git a/mathematica/daily/index.xml b/mathematica/daily/index.xml index 9caf822afa9..47609b5e043 100644 --- a/mathematica/daily/index.xml +++ b/mathematica/daily/index.xml @@ -1,7 +1,7 @@ GitHub Mathematica Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:32:59Z + 2024-11-21T01:35:19Z Daily Trending of Mathematica in GitHub \ No newline at end of file diff --git a/matlab/daily/index.xml b/matlab/daily/index.xml index a65ccc66079..512feb55634 100644 --- a/matlab/daily/index.xml +++ b/matlab/daily/index.xml @@ -1,7 +1,7 @@ GitHub MATLAB Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:33:00Z + 2024-11-21T01:35:20Z Daily Trending of MATLAB in GitHub \ No newline at end of file diff --git a/maven-pom/daily/index.xml b/maven-pom/daily/index.xml index 3d21ebb3884..b19d0ff1e7a 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 - 2024-11-20T01:32:59Z + 2024-11-21T01:35:19Z Daily 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 b4beeb92f12..585ced766f3 100644 --- a/max/daily/index.xml +++ b/max/daily/index.xml @@ -1,7 +1,7 @@ GitHub Max Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:32:59Z + 2024-11-21T01:35:19Z Daily Trending of Max in GitHub \ No newline at end of file diff --git a/maxscript/daily/index.xml b/maxscript/daily/index.xml index 923f3bd6581..ae243fa6dc4 100644 --- a/maxscript/daily/index.xml +++ b/maxscript/daily/index.xml @@ -1,7 +1,7 @@ GitHub MAXScript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:33:01Z + 2024-11-21T01:35:21Z Daily Trending of MAXScript in GitHub \ No newline at end of file diff --git a/mcfunction/daily/index.xml b/mcfunction/daily/index.xml index dbad9d6e036..f6bd700f6c5 100644 --- a/mcfunction/daily/index.xml +++ b/mcfunction/daily/index.xml @@ -1,7 +1,7 @@ GitHub mcfunction Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:33:01Z + 2024-11-21T01:35:21Z Daily Trending of mcfunction in GitHub \ No newline at end of file diff --git a/mercury/daily/index.xml b/mercury/daily/index.xml index 547f5dca399..c2e3d7001d9 100644 --- a/mercury/daily/index.xml +++ b/mercury/daily/index.xml @@ -1,7 +1,7 @@ GitHub Mercury Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:33:03Z + 2024-11-21T01:35:25Z Daily Trending of Mercury in GitHub \ No newline at end of file diff --git a/meson/daily/index.xml b/meson/daily/index.xml index 9cb44bb5ca7..687fa674e3c 100644 --- a/meson/daily/index.xml +++ b/meson/daily/index.xml @@ -1,7 +1,7 @@ GitHub Meson Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:33:04Z + 2024-11-21T01:35:25Z Daily Trending of Meson in GitHub \ No newline at end of file diff --git a/metal/daily/index.xml b/metal/daily/index.xml index b98fbc792ae..3ed3f19d6ea 100644 --- a/metal/daily/index.xml +++ b/metal/daily/index.xml @@ -1,7 +1,7 @@ GitHub Metal Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:33:03Z + 2024-11-21T01:35:25Z Daily 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 7e9738333fb..beaa3636c2f 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 - 2024-11-20T01:33:06Z + 2024-11-21T01:35:27Z Daily 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 a6bd4b5dda3..4c2f13c0ab5 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 - 2024-11-20T01:33:05Z + 2024-11-21T01:35:27Z Daily 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 a7a354b6bfe..d0b592b9f0a 100644 --- a/minid/daily/index.xml +++ b/minid/daily/index.xml @@ -1,7 +1,7 @@ GitHub MiniD Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:33:05Z + 2024-11-21T01:35:27Z Daily Trending of MiniD in GitHub \ No newline at end of file diff --git a/mint/daily/index.xml b/mint/daily/index.xml index b19d38e0e86..8defe849ecc 100644 --- a/mint/daily/index.xml +++ b/mint/daily/index.xml @@ -1,7 +1,7 @@ GitHub Mint Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:33:07Z + 2024-11-21T01:35:28Z Daily Trending of Mint in GitHub \ No newline at end of file diff --git a/mirah/daily/index.xml b/mirah/daily/index.xml index 500c66a1491..0683cc05fed 100644 --- a/mirah/daily/index.xml +++ b/mirah/daily/index.xml @@ -1,7 +1,7 @@ GitHub Mirah Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:33:07Z + 2024-11-21T01:35:28Z Daily 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 73af841bdb5..c625a01d2e8 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 - 2024-11-20T01:33:07Z + 2024-11-21T01:35:28Z Daily 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 d280db42f40..cde81c79c3a 100644 --- a/mlir/daily/index.xml +++ b/mlir/daily/index.xml @@ -1,7 +1,7 @@ GitHub MLIR Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:33:08Z + 2024-11-21T01:35:29Z Daily Trending of MLIR in GitHub \ No newline at end of file diff --git a/modelica/daily/index.xml b/modelica/daily/index.xml index edebd974dff..d1208a08e00 100644 --- a/modelica/daily/index.xml +++ b/modelica/daily/index.xml @@ -1,7 +1,7 @@ GitHub Modelica Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:33:10Z + 2024-11-21T01:35:30Z Daily 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 ec7039819ab..799da4b3641 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 - 2024-11-20T01:33:09Z + 2024-11-21T01:35:30Z Daily 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 ef06c7e6b70..f5e6e31aa1b 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 - 2024-11-20T01:33:09Z + 2024-11-21T01:35:29Z Daily 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 e380fbbbefc..895d1c1fbea 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 - 2024-11-20T01:33:08Z + 2024-11-21T01:35:30Z Daily 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 88d8349ec69..92cac889744 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 - 2024-11-20T01:33:11Z + 2024-11-21T01:35:32Z Daily 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 a1ca8ca72a4..568e31c32bc 100644 --- a/monkey/daily/index.xml +++ b/monkey/daily/index.xml @@ -1,7 +1,7 @@ GitHub Monkey Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:33:11Z + 2024-11-21T01:35:31Z Daily Trending of Monkey in GitHub \ No newline at end of file diff --git a/moocode/daily/index.xml b/moocode/daily/index.xml index f2e157deccd..4393ee8b0c4 100644 --- a/moocode/daily/index.xml +++ b/moocode/daily/index.xml @@ -1,7 +1,7 @@ GitHub Moocode Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:33:10Z + 2024-11-21T01:35:31Z Daily Trending of Moocode in GitHub \ No newline at end of file diff --git a/moonscript/daily/index.xml b/moonscript/daily/index.xml index 46036a9b60a..9afa081289c 100644 --- a/moonscript/daily/index.xml +++ b/moonscript/daily/index.xml @@ -1,7 +1,7 @@ GitHub MoonScript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:33:12Z + 2024-11-21T01:35:33Z Daily Trending of MoonScript in GitHub \ No newline at end of file diff --git a/motoko/daily/index.xml b/motoko/daily/index.xml index 5e0179d6fcc..9683a40335b 100644 --- a/motoko/daily/index.xml +++ b/motoko/daily/index.xml @@ -1,7 +1,7 @@ GitHub Motoko Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:33:13Z + 2024-11-21T01:35:34Z Daily 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 8077e349bd4..fd868245ac4 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 - 2024-11-20T01:33:12Z + 2024-11-21T01:35:33Z Daily 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 ad7571e6ee0..d65b48061fe 100644 --- a/mql4/daily/index.xml +++ b/mql4/daily/index.xml @@ -1,7 +1,7 @@ GitHub MQL4 Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:33:14Z + 2024-11-21T01:35:34Z Daily Trending of MQL4 in GitHub \ No newline at end of file diff --git a/mql5/daily/index.xml b/mql5/daily/index.xml index 81bd81b5dd3..8db92f40e0d 100644 --- a/mql5/daily/index.xml +++ b/mql5/daily/index.xml @@ -1,7 +1,7 @@ GitHub MQL5 Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:33:15Z + 2024-11-21T01:35:35Z Daily Trending of MQL5 in GitHub \ No newline at end of file diff --git a/mtml/daily/index.xml b/mtml/daily/index.xml index f0aef15bea4..cf8eb27152e 100644 --- a/mtml/daily/index.xml +++ b/mtml/daily/index.xml @@ -1,7 +1,7 @@ GitHub MTML Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:33:14Z + 2024-11-21T01:35:35Z Daily Trending of MTML in GitHub \ No newline at end of file diff --git a/muf/daily/index.xml b/muf/daily/index.xml index 7dc9f3bdaee..f0b7fd2a5d2 100644 --- a/muf/daily/index.xml +++ b/muf/daily/index.xml @@ -1,7 +1,7 @@ GitHub MUF Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:33:14Z + 2024-11-21T01:35:35Z Daily Trending of MUF in GitHub \ No newline at end of file diff --git a/mupad/daily/index.xml b/mupad/daily/index.xml index baaf813a9d8..667860d35b8 100644 --- a/mupad/daily/index.xml +++ b/mupad/daily/index.xml @@ -1,7 +1,7 @@ GitHub mupad Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:33:15Z + 2024-11-21T01:35:36Z Daily Trending of mupad in GitHub \ No newline at end of file diff --git a/muse/daily/index.xml b/muse/daily/index.xml index 81501e64584..5d4d584dac8 100644 --- a/muse/daily/index.xml +++ b/muse/daily/index.xml @@ -1,7 +1,7 @@ GitHub Muse Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:33:16Z + 2024-11-21T01:35:36Z Daily Trending of Muse in GitHub \ No newline at end of file diff --git a/mustache/daily/index.xml b/mustache/daily/index.xml index 62707267383..08d96846ad4 100644 --- a/mustache/daily/index.xml +++ b/mustache/daily/index.xml @@ -1,7 +1,7 @@ GitHub Mustache Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:33:17Z + 2024-11-21T01:35:38Z Daily Trending of Mustache in GitHub \ No newline at end of file diff --git a/myghty/daily/index.xml b/myghty/daily/index.xml index 024af3126b5..c570fa7aeb0 100644 --- a/myghty/daily/index.xml +++ b/myghty/daily/index.xml @@ -1,7 +1,7 @@ GitHub Myghty Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:33:15Z + 2024-11-21T01:35:36Z Daily Trending of Myghty in GitHub \ No newline at end of file diff --git a/nanorc/daily/index.xml b/nanorc/daily/index.xml index 7f1e151168e..a42354e5fef 100644 --- a/nanorc/daily/index.xml +++ b/nanorc/daily/index.xml @@ -1,7 +1,7 @@ GitHub nanorc Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:33:19Z + 2024-11-21T01:35:38Z Daily Trending of nanorc in GitHub \ No newline at end of file diff --git a/nasl/daily/index.xml b/nasl/daily/index.xml index b368c4b1cf6..4a7b9c9a1ec 100644 --- a/nasl/daily/index.xml +++ b/nasl/daily/index.xml @@ -1,7 +1,7 @@ GitHub NASL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:33:18Z + 2024-11-21T01:35:39Z Daily Trending of NASL in GitHub \ No newline at end of file diff --git a/ncl/daily/index.xml b/ncl/daily/index.xml index 5e712fb4c05..9db0cdc02b8 100644 --- a/ncl/daily/index.xml +++ b/ncl/daily/index.xml @@ -1,7 +1,7 @@ GitHub NCL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:33:18Z + 2024-11-21T01:35:39Z Daily Trending of NCL in GitHub \ No newline at end of file diff --git a/nearley/daily/index.xml b/nearley/daily/index.xml index 4cdefd3bd29..57892899735 100644 --- a/nearley/daily/index.xml +++ b/nearley/daily/index.xml @@ -1,7 +1,7 @@ GitHub Nearley Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:33:20Z + 2024-11-21T01:35:40Z Daily Trending of Nearley in GitHub \ No newline at end of file diff --git a/nemerle/daily/index.xml b/nemerle/daily/index.xml index e6ae07d25e6..a605f6be7e6 100644 --- a/nemerle/daily/index.xml +++ b/nemerle/daily/index.xml @@ -1,7 +1,7 @@ GitHub Nemerle Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:33:20Z + 2024-11-21T01:35:41Z Daily Trending of Nemerle in GitHub \ No newline at end of file diff --git a/neon/daily/index.xml b/neon/daily/index.xml index 4e84f27cc08..3035a696863 100644 --- a/neon/daily/index.xml +++ b/neon/daily/index.xml @@ -1,7 +1,7 @@ GitHub NEON Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:33:20Z + 2024-11-21T01:35:40Z Daily Trending of NEON in GitHub \ No newline at end of file diff --git a/nesc/daily/index.xml b/nesc/daily/index.xml index e103a21d99c..b451cefb294 100644 --- a/nesc/daily/index.xml +++ b/nesc/daily/index.xml @@ -1,7 +1,7 @@ GitHub nesC Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:33:20Z + 2024-11-21T01:35:41Z Daily 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 08c625a8d12..2b47d539bd9 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 - 2024-11-20T01:33:21Z + 2024-11-21T01:35:42Z Daily 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 da5b51ab688..8a20ff80deb 100644 --- a/netlinx/daily/index.xml +++ b/netlinx/daily/index.xml @@ -1,7 +1,7 @@ GitHub NetLinx Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:33:22Z + 2024-11-21T01:35:42Z Daily Trending of NetLinx in GitHub \ No newline at end of file diff --git a/netlogo/daily/index.xml b/netlogo/daily/index.xml index 83e231e0357..b99ca57378a 100644 --- a/netlogo/daily/index.xml +++ b/netlogo/daily/index.xml @@ -1,7 +1,7 @@ GitHub NetLogo Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:33:21Z + 2024-11-21T01:35:42Z Daily Trending of NetLogo in GitHub \ No newline at end of file diff --git a/newlisp/daily/index.xml b/newlisp/daily/index.xml index 90cca1b4a95..13ba821b5c4 100644 --- a/newlisp/daily/index.xml +++ b/newlisp/daily/index.xml @@ -1,7 +1,7 @@ GitHub NewLisp Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:33:22Z + 2024-11-21T01:35:43Z Daily Trending of NewLisp in GitHub \ No newline at end of file diff --git a/nextflow/daily/index.xml b/nextflow/daily/index.xml index 5a05435ce15..84a6dda8555 100644 --- a/nextflow/daily/index.xml +++ b/nextflow/daily/index.xml @@ -1,7 +1,7 @@ GitHub Nextflow Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:33:23Z + 2024-11-21T01:35:45Z Daily Trending of Nextflow in GitHub \ No newline at end of file diff --git a/nginx/daily/index.xml b/nginx/daily/index.xml index 01a13059d47..cb08851f144 100644 --- a/nginx/daily/index.xml +++ b/nginx/daily/index.xml @@ -1,7 +1,7 @@ GitHub Nginx Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:33:23Z + 2024-11-21T01:35:44Z Daily Trending of Nginx in GitHub \ No newline at end of file diff --git a/nim/daily/index.xml b/nim/daily/index.xml index 3c74d2a8e09..81a60e8d98d 100644 --- a/nim/daily/index.xml +++ b/nim/daily/index.xml @@ -1,7 +1,7 @@ GitHub Nim Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:33:24Z + 2024-11-21T01:35:44Z Daily Trending of Nim in GitHub \ No newline at end of file diff --git a/ninja/daily/index.xml b/ninja/daily/index.xml index de1ea95dba0..737be91d297 100644 --- a/ninja/daily/index.xml +++ b/ninja/daily/index.xml @@ -1,7 +1,7 @@ GitHub Ninja Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:33:23Z + 2024-11-21T01:35:43Z Daily Trending of Ninja in GitHub \ No newline at end of file diff --git a/nit/daily/index.xml b/nit/daily/index.xml index 0e791935552..e6376389801 100644 --- a/nit/daily/index.xml +++ b/nit/daily/index.xml @@ -1,7 +1,7 @@ GitHub Nit Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:33:25Z + 2024-11-21T01:35:45Z Daily Trending of Nit in GitHub \ No newline at end of file diff --git a/nix/daily/index.xml b/nix/daily/index.xml index 9da6cc0e580..29cc979ccb4 100644 --- a/nix/daily/index.xml +++ b/nix/daily/index.xml @@ -1,7 +1,7 @@ GitHub Nix Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:33:27Z + 2024-11-21T01:35:49Z Daily Trending of Nix in GitHub \ No newline at end of file diff --git a/nl/daily/index.xml b/nl/daily/index.xml index 34723ea3de1..5335d28cf88 100644 --- a/nl/daily/index.xml +++ b/nl/daily/index.xml @@ -1,7 +1,7 @@ GitHub NL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:33:25Z + 2024-11-21T01:35:46Z Daily 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 882d412b5d7..2d939efabe6 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 - 2024-11-20T01:33:27Z + 2024-11-21T01:35:50Z Daily 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 168cd447e2f..e29e172b03e 100644 --- a/nsis/daily/index.xml +++ b/nsis/daily/index.xml @@ -1,7 +1,7 @@ GitHub NSIS Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:33:28Z + 2024-11-21T01:35:50Z Daily Trending of NSIS in GitHub \ No newline at end of file diff --git a/nu/daily/index.xml b/nu/daily/index.xml index 8f21a57318b..30f119aa56e 100644 --- a/nu/daily/index.xml +++ b/nu/daily/index.xml @@ -1,7 +1,7 @@ GitHub Nu Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:33:28Z + 2024-11-21T01:35:51Z Daily Trending of Nu in GitHub \ No newline at end of file diff --git a/numpy/daily/index.xml b/numpy/daily/index.xml index 3c3168b4fd9..38b6c4c23b1 100644 --- a/numpy/daily/index.xml +++ b/numpy/daily/index.xml @@ -1,7 +1,7 @@ GitHub NumPy Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:33:29Z + 2024-11-21T01:35:51Z Daily Trending of NumPy in GitHub \ No newline at end of file diff --git a/nunjucks/daily/index.xml b/nunjucks/daily/index.xml index e12f258cdeb..a152b1e47e5 100644 --- a/nunjucks/daily/index.xml +++ b/nunjucks/daily/index.xml @@ -1,7 +1,7 @@ GitHub Nunjucks Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:33:31Z + 2024-11-21T01:35:52Z Daily Trending of Nunjucks in GitHub \ No newline at end of file diff --git a/nwscript/daily/index.xml b/nwscript/daily/index.xml index cfb7e6b87c7..cae40ecab3a 100644 --- a/nwscript/daily/index.xml +++ b/nwscript/daily/index.xml @@ -1,7 +1,7 @@ GitHub NWScript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:33:30Z + 2024-11-21T01:35:52Z Daily Trending of NWScript in GitHub \ No newline at end of file diff --git a/objdump/daily/index.xml b/objdump/daily/index.xml index 6ed24b4f9d3..f5ce662ce12 100644 --- a/objdump/daily/index.xml +++ b/objdump/daily/index.xml @@ -1,7 +1,7 @@ GitHub ObjDump Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:33:34Z + 2024-11-21T01:35:55Z Daily 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 1e5d99f542c..0c1f2b17dd9 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 - 2024-11-20T01:33:34Z + 2024-11-21T01:35:55Z Daily 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 15cbbbd2c44..5617850f0d0 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 - 2024-11-20T01:33:42Z + 2024-11-21T01:36:01Z Daily 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 105fef506f7..84662b4eae5 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 - 2024-11-20T01:33:36Z + 2024-11-21T01:35:57Z Daily Trending of Objective-C in GitHub \ No newline at end of file diff --git a/objective-j/daily/index.xml b/objective-j/daily/index.xml index d32d911515d..78d17df1677 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 - 2024-11-20T01:33:41Z + 2024-11-21T01:36:00Z Daily 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 b193a4ef117..0d8994813af 100644 --- a/objectscript/daily/index.xml +++ b/objectscript/daily/index.xml @@ -1,7 +1,7 @@ GitHub ObjectScript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:33:41Z + 2024-11-21T01:36:00Z Daily Trending of ObjectScript in GitHub \ No newline at end of file diff --git a/ocaml/daily/index.xml b/ocaml/daily/index.xml index c4aaa35a9da..a21c19b679e 100644 --- a/ocaml/daily/index.xml +++ b/ocaml/daily/index.xml @@ -1,7 +1,7 @@ GitHub OCaml Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:33:43Z + 2024-11-21T01:36:02Z Daily Trending of OCaml in GitHub \ No newline at end of file diff --git a/odin/daily/index.xml b/odin/daily/index.xml index df57bd67f46..c42972d7ff0 100644 --- a/odin/daily/index.xml +++ b/odin/daily/index.xml @@ -1,7 +1,7 @@ GitHub Odin Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:33:45Z + 2024-11-21T01:36:04Z Daily Trending of Odin in GitHub \ No newline at end of file diff --git a/omgrofl/daily/index.xml b/omgrofl/daily/index.xml index 9facf1cb8d5..3eee3f898c1 100644 --- a/omgrofl/daily/index.xml +++ b/omgrofl/daily/index.xml @@ -1,7 +1,7 @@ GitHub Omgrofl Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:33:44Z + 2024-11-21T01:36:03Z Daily Trending of Omgrofl in GitHub \ No newline at end of file diff --git a/ooc/daily/index.xml b/ooc/daily/index.xml index 71e29fc9df3..d5e07ffdacd 100644 --- a/ooc/daily/index.xml +++ b/ooc/daily/index.xml @@ -1,7 +1,7 @@ GitHub ooc Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:33:44Z + 2024-11-21T01:36:03Z Daily Trending of ooc in GitHub \ No newline at end of file diff --git a/opa/daily/index.xml b/opa/daily/index.xml index 55d52a50682..3501bf099d7 100644 --- a/opa/daily/index.xml +++ b/opa/daily/index.xml @@ -1,7 +1,7 @@ GitHub Opa Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:33:44Z + 2024-11-21T01:36:03Z Daily Trending of Opa in GitHub \ No newline at end of file diff --git a/opal/daily/index.xml b/opal/daily/index.xml index 08f78eb61d9..1717c6f44b7 100644 --- a/opal/daily/index.xml +++ b/opal/daily/index.xml @@ -1,7 +1,7 @@ GitHub Opal Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:33:46Z + 2024-11-21T01:36:05Z Daily 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 7e318467424..893dc1eb6ab 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 - 2024-11-20T01:33:47Z + 2024-11-21T01:36:06Z Daily 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 18484ba9b49..593e69dd392 100644 --- a/opencl/daily/index.xml +++ b/opencl/daily/index.xml @@ -1,7 +1,7 @@ GitHub OpenCL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:33:48Z + 2024-11-21T01:36:06Z Daily 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 8001a860d5a..24c83797b4a 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 - 2024-11-20T01:33:48Z + 2024-11-21T01:36:07Z Daily 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 ca3247918b2..0fa20e8ab01 100644 --- a/openqasm/daily/index.xml +++ b/openqasm/daily/index.xml @@ -1,7 +1,7 @@ GitHub OpenQASM Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:33:49Z + 2024-11-21T01:36:06Z Daily 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 e0f60f71482..ef88d79dd7c 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 - 2024-11-20T01:33:48Z + 2024-11-21T01:36:07Z Daily 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 c940ca47156..9c5c7e4b62c 100644 --- a/openscad/daily/index.xml +++ b/openscad/daily/index.xml @@ -1,7 +1,7 @@ GitHub OpenSCAD Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:33:50Z + 2024-11-21T01:36:09Z Daily 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 cac10e16364..1520f04621f 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 - 2024-11-20T01:33:49Z + 2024-11-21T01:36:08Z Daily 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 76e3e4ef3ea..3bf6b166ed6 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 - 2024-11-20T01:33:50Z + 2024-11-21T01:36:08Z Daily 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 9f250551550..523fd5e0a08 100644 --- a/org/daily/index.xml +++ b/org/daily/index.xml @@ -1,7 +1,7 @@ GitHub Org Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:33:52Z + 2024-11-21T01:36:09Z Daily Trending of Org in GitHub \ No newline at end of file diff --git a/ox/daily/index.xml b/ox/daily/index.xml index 9f1a29a649d..3d81f18a7f3 100644 --- a/ox/daily/index.xml +++ b/ox/daily/index.xml @@ -1,7 +1,7 @@ GitHub Ox Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:33:52Z + 2024-11-21T01:36:10Z Daily Trending of Ox in GitHub \ No newline at end of file diff --git a/oxygene/daily/index.xml b/oxygene/daily/index.xml index 66f14f7003c..fa0a65c9acd 100644 --- a/oxygene/daily/index.xml +++ b/oxygene/daily/index.xml @@ -1,7 +1,7 @@ GitHub Oxygene Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:33:51Z + 2024-11-21T01:36:10Z Daily Trending of Oxygene in GitHub \ No newline at end of file diff --git a/oz/daily/index.xml b/oz/daily/index.xml index de93da09dc2..1fdb1f968da 100644 --- a/oz/daily/index.xml +++ b/oz/daily/index.xml @@ -1,7 +1,7 @@ GitHub Oz Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:33:51Z + 2024-11-21T01:36:10Z Daily Trending of Oz in GitHub \ No newline at end of file diff --git a/p4/daily/index.xml b/p4/daily/index.xml index 67f2e27aab5..a6dbc9fcadd 100644 --- a/p4/daily/index.xml +++ b/p4/daily/index.xml @@ -1,7 +1,7 @@ GitHub P4 Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:33:54Z + 2024-11-21T01:36:12Z Daily Trending of P4 in GitHub \ No newline at end of file diff --git a/pan/daily/index.xml b/pan/daily/index.xml index 3af5009411e..776aa4321a8 100644 --- a/pan/daily/index.xml +++ b/pan/daily/index.xml @@ -1,7 +1,7 @@ GitHub Pan Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:33:53Z + 2024-11-21T01:36:11Z Daily Trending of Pan in GitHub \ No newline at end of file diff --git a/papyrus/daily/index.xml b/papyrus/daily/index.xml index 4424f215fbf..81a85db3759 100644 --- a/papyrus/daily/index.xml +++ b/papyrus/daily/index.xml @@ -1,7 +1,7 @@ GitHub Papyrus Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:33:53Z + 2024-11-21T01:36:12Z Daily 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 1a28ac78a7f..7a538c7c0a2 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 - 2024-11-20T01:33:55Z + 2024-11-21T01:36:13Z Daily 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 adfbfee8c87..064c1910b15 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 - 2024-11-20T01:33:55Z + 2024-11-21T01:36:13Z Daily 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 950f982a9d1..3f731942ca4 100644 --- a/parrot/daily/index.xml +++ b/parrot/daily/index.xml @@ -1,7 +1,7 @@ GitHub Parrot Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:33:56Z + 2024-11-21T01:36:13Z Daily Trending of Parrot in GitHub \ No newline at end of file diff --git a/pascal/daily/index.xml b/pascal/daily/index.xml index ea3726439cd..77c415b4f94 100644 --- a/pascal/daily/index.xml +++ b/pascal/daily/index.xml @@ -1,7 +1,7 @@ GitHub Pascal Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:33:56Z + 2024-11-21T01:36:14Z Daily Trending of Pascal in GitHub \ No newline at end of file diff --git a/pawn/daily/index.xml b/pawn/daily/index.xml index 28d6280e8f0..1c8c1163a38 100644 --- a/pawn/daily/index.xml +++ b/pawn/daily/index.xml @@ -1,7 +1,7 @@ GitHub Pawn Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:33:57Z + 2024-11-21T01:36:15Z Daily 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 742750c3707..3676b38f5ad 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 - 2024-11-20T01:33:58Z + 2024-11-21T01:36:15Z Daily 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 0b2fbb88aff..dfe199b62e6 100644 --- a/pep8/daily/index.xml +++ b/pep8/daily/index.xml @@ -1,7 +1,7 @@ GitHub Pep8 Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:33:57Z + 2024-11-21T01:36:15Z Daily Trending of Pep8 in GitHub \ No newline at end of file diff --git a/perl/daily/index.xml b/perl/daily/index.xml index a8096e40d82..28ef389d315 100644 --- a/perl/daily/index.xml +++ b/perl/daily/index.xml @@ -1,7 +1,7 @@ GitHub Perl Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:34:01Z + 2024-11-21T01:36:20Z Daily Trending of Perl in GitHub \ No newline at end of file diff --git a/php/daily/index.xml b/php/daily/index.xml index a27d4104463..03938251495 100644 --- a/php/daily/index.xml +++ b/php/daily/index.xml @@ -1,7 +1,14 @@ GitHub PHP Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:34:06Z + 2024-11-21T01:36:18Z Daily Trending of PHP in GitHub + + notrab/dumbo + 2024-11-21T01:36:18Z + tag:github.com,2024-11-21:/notrab/dumbo + + <p>A lightweight, friendly PHP framework for HTTP.</p><hr><p align="center"> <img src="https://raw.githubusercontent.com/notrab/dumbo/main/dumbo.jpeg" alt="Dumbo" width="600"> </p> <h1 align="center">Dumbo</h1> <p></p> <p align="center"> A lightweight, friendly PHP framework for HTTP — Inspired by Hono. </p> <p align="center"> <a href="https://discord.gg/nAq2h9BfsU"> <picture> <img src="https://img.shields.io/discord/1278637768918171709?color=8A2BE2" alt="Discord"> </picture> </a> <picture> <img src="https://img.shields.io/github/contributors/notrab/dumbo?color=8A2BE2" alt="Contributors"> </picture> <a href="https://packagist.org/packages/notrab/dumbo"> <picture> <img src="https://img.shields.io/packagist/dt/notrab/dumbo?color=8A2BE2" alt="Total downloads"> </picture> </a> <a href="https://raw.githubusercontent.com/notrab/dumbo/main/examples"> <img src="https://img.shields.io/badge/browse-examples-8A2BE2" alt="Examples"> </a> </p> <h2>Features</h2> <ul> <li>🚀 Lightweight and fast</li> <li>🧩 Middleware support</li> <li>🛣️ Flexible routing with parameters</li> <li>🔒 Built-in security features (CSRF, JWT)</li> <li>🍪 Cookie management</li> <li>📅 Date helpers</li> <li>🔍 Request ID for tracing</li> <li>📁 Static file serving</li> <li>🔐 Basic and Bearer authentication</li> <li>📝 Logging support</li> <li>🗃️ HTTP caching</li> <li>🔄 CORS support</li> <li>🧬 Environment-based configuration</li> </ul> <h2>Install</h2> <pre><code class="language-bash">composer require notrab/dumbo </code></pre> <h2>Quickstart</h2> <p>Here's a basic example of how it works!</p> <pre><code class="language-php">&lt;?php require __DIR__ . '/vendor/autoload.php'; use Dumbo\Dumbo; $app = new Dumbo(); $app-&gt;use(function ($context, $next) { $context-&gt;set('message', 'Hello from middleware!'); return $next($context); }); $app-&gt;get('/', function ($context) { return $context-&gt;json([ 'message' =&gt; $context-&gt;get('message'), 'timestamp' =&gt; time() ]); }); $app-&gt;get('/users/:id', function ($context) { $id = $context-&gt;req-&gt;param('id'); return $context-&gt;json(['userId' =&gt; $id]); }); $app-&gt;post('/users', function ($context) { $body = $context-&gt;req-&gt;body(); return $context-&gt;json($body, 201); }); $app-&gt;run(); </code></pre> <p>See the <a href="https://raw.githubusercontent.com/notrab/dumbo/main/examples">examples</a> directory for more quickstarts.</p> <h2>License</h2> <p>Dumbo is open-sourced software licensed under the <a href="https://raw.githubusercontent.com/notrab/dumbo/main/LICENSE">MIT license</a>.</p> <h2>Contributors</h2> <p><img src="https://contrib.nn.ci/api?repo=notrab/dumbo" alt="Contributors"></p> <h2>Documentation</h2> <h3>Routing</h3> <pre><code class="language-php">&lt;?php $app-&gt;get('/users', function($context) { /* ... */ }); $app-&gt;post('/users', function($context) { /* ... */ }); $app-&gt;put('/users/:id', function($context) { /* ... */ }); $app-&gt;delete('/users/:id', function($context) { /* ... */ }); </code></pre> <h4>Params</h4> <pre><code class="language-php">&lt;?php $app-&gt;get('/users/:id', function($context) { $id = $context-&gt;req-&gt;param('id'); return $context-&gt;json(['id' =&gt; $id]); }); </code></pre> <h4>Nested</h4> <pre><code class="language-php">&lt;?php $nestedApp = new Dumbo(); $nestedApp-&gt;get('/nested', function($context) { return $context-&gt;text('This is a nested route'); }); $app-&gt;route('/prefix', $nestedApp); </code></pre> <h3>Context</h3> <pre><code class="language-php">&lt;?php $app-&gt;get('/', function($context) { $pathname = $context-&gt;req-&gt;pathname(); $routePath = $context-&gt;req-&gt;routePath(); $queryParam = $context-&gt;req-&gt;query('param'); $tags = $context-&gt;req-&gt;queries('tags'); $body = $context-&gt;req-&gt;body(); $userAgent = $context-&gt;req-&gt;header('User-Agent'); }); </code></pre> <h3>Response</h3> <pre><code class="language-php">&lt;?php return $context-&gt;json(['key' =&gt; 'value']); return $context-&gt;text('Hello, World!'); return $context-&gt;html('&lt;h1&gt;Hello, World!&lt;/h1&gt;'); return $context-&gt;redirect('/new-url'); </code></pre> <h3>Middleware</h3> <pre><code class="language-php">&lt;?php $app-&gt;use(function($context, $next) { $response = $next($context); return $response; }); </code></pre> <h3>Custom context</h3> <pre><code class="language-php">&lt;?php $app = new Dumbo(); // Set configuration values $app-&gt;set('DB_URL', 'mysql://user:pass@localhost/mydb'); $app-&gt;set('API_KEY', 'your-secret-key'); $app-&gt;set('DEBUG', true); // Get configuration values $dbUrl = $app-&gt;get('DB_URL'); $apiKey = $app-&gt;get('API_KEY'); $debug = $app-&gt;get('DEBUG'); // Use configuration in your routes $app-&gt;get('/api/data', function(Context $context) { $apiKey = $context-&gt;get('API_KEY'); // Use $apiKey in your logic... return $context-&gt;json(['message' =&gt; 'API key is set']); }); $app-&gt;run(); </code></pre> + \ No newline at end of file diff --git a/pic/daily/index.xml b/pic/daily/index.xml index f4df2a06dbe..0f22c41b93f 100644 --- a/pic/daily/index.xml +++ b/pic/daily/index.xml @@ -1,7 +1,7 @@ GitHub Pic Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:33:59Z + 2024-11-21T01:36:16Z Daily Trending of Pic in GitHub \ No newline at end of file diff --git a/pickle/daily/index.xml b/pickle/daily/index.xml index c3758b2436b..8c4d800e55d 100644 --- a/pickle/daily/index.xml +++ b/pickle/daily/index.xml @@ -1,7 +1,7 @@ GitHub Pickle Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:33:58Z + 2024-11-21T01:36:16Z Daily Trending of Pickle in GitHub \ No newline at end of file diff --git a/picolisp/daily/index.xml b/picolisp/daily/index.xml index a76c3cb2373..fc8c53eefe3 100644 --- a/picolisp/daily/index.xml +++ b/picolisp/daily/index.xml @@ -1,7 +1,7 @@ GitHub PicoLisp Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:34:12Z + 2024-11-21T01:36:25Z Daily Trending of PicoLisp in GitHub \ No newline at end of file diff --git a/piglatin/daily/index.xml b/piglatin/daily/index.xml index f483a63a9d2..6434e5e9747 100644 --- a/piglatin/daily/index.xml +++ b/piglatin/daily/index.xml @@ -1,7 +1,7 @@ GitHub PigLatin Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:34:11Z + 2024-11-21T01:36:25Z Daily Trending of PigLatin in GitHub \ No newline at end of file diff --git a/pike/daily/index.xml b/pike/daily/index.xml index c74b60020d4..9be7e2fe452 100644 --- a/pike/daily/index.xml +++ b/pike/daily/index.xml @@ -1,7 +1,7 @@ GitHub Pike Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:34:11Z + 2024-11-21T01:36:24Z Daily Trending of Pike in GitHub \ No newline at end of file diff --git a/plantuml/daily/index.xml b/plantuml/daily/index.xml index c94ebdce56a..512da4e84d9 100644 --- a/plantuml/daily/index.xml +++ b/plantuml/daily/index.xml @@ -1,7 +1,7 @@ GitHub PlantUML Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:34:13Z + 2024-11-21T01:36:26Z Daily Trending of PlantUML in GitHub \ No newline at end of file diff --git a/plpgsql/daily/index.xml b/plpgsql/daily/index.xml index 9e6f77d0665..cf34544581e 100644 --- a/plpgsql/daily/index.xml +++ b/plpgsql/daily/index.xml @@ -1,7 +1,7 @@ GitHub PLpgSQL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:34:13Z + 2024-11-21T01:36:27Z Daily Trending of PLpgSQL in GitHub \ No newline at end of file diff --git a/plsql/daily/index.xml b/plsql/daily/index.xml index 34d131087a7..c0f49ba2c3f 100644 --- a/plsql/daily/index.xml +++ b/plsql/daily/index.xml @@ -1,7 +1,7 @@ GitHub PLSQL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:34:13Z + 2024-11-21T01:36:26Z Daily 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 cf797cb8d8e..05126d55e99 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 - 2024-11-20T01:34:14Z + 2024-11-21T01:36:28Z Daily 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 17c19ec1de4..9acba9faa72 100644 --- a/pod/daily/index.xml +++ b/pod/daily/index.xml @@ -1,7 +1,7 @@ GitHub Pod Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:34:15Z + 2024-11-21T01:36:27Z Daily Trending of Pod in GitHub \ No newline at end of file diff --git a/pogoscript/daily/index.xml b/pogoscript/daily/index.xml index 8098fdf2991..275ddb0ca17 100644 --- a/pogoscript/daily/index.xml +++ b/pogoscript/daily/index.xml @@ -1,7 +1,7 @@ GitHub PogoScript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:34:14Z + 2024-11-21T01:36:28Z Daily Trending of PogoScript in GitHub \ No newline at end of file diff --git a/pony/daily/index.xml b/pony/daily/index.xml index 8ab7f5df082..0d9bc1442d7 100644 --- a/pony/daily/index.xml +++ b/pony/daily/index.xml @@ -1,7 +1,7 @@ GitHub Pony Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:34:16Z + 2024-11-21T01:36:29Z Daily Trending of Pony in GitHub \ No newline at end of file diff --git a/postcss/daily/index.xml b/postcss/daily/index.xml index a077e2a2470..1cb44f8a4fb 100644 --- a/postcss/daily/index.xml +++ b/postcss/daily/index.xml @@ -1,7 +1,7 @@ GitHub PostCSS Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:34:16Z + 2024-11-21T01:36:30Z Daily Trending of PostCSS in GitHub \ No newline at end of file diff --git a/postscript/daily/index.xml b/postscript/daily/index.xml index 61c8019e12f..0557504d5a8 100644 --- a/postscript/daily/index.xml +++ b/postscript/daily/index.xml @@ -1,7 +1,7 @@ GitHub PostScript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:34:17Z + 2024-11-21T01:36:30Z Daily 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 6e073f176d1..c11afafdfc5 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 - 2024-11-20T01:34:17Z + 2024-11-21T01:36:31Z Daily 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 3a4a4221d14..c5f904da889 100644 --- a/powerbuilder/daily/index.xml +++ b/powerbuilder/daily/index.xml @@ -1,7 +1,7 @@ GitHub PowerBuilder Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:34:18Z + 2024-11-21T01:36:31Z Daily Trending of PowerBuilder in GitHub \ No newline at end of file diff --git a/powershell/daily/index.xml b/powershell/daily/index.xml index d0ccd7bbce4..6295cdef92d 100644 --- a/powershell/daily/index.xml +++ b/powershell/daily/index.xml @@ -1,7 +1,7 @@ GitHub PowerShell Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:34:22Z + 2024-11-21T01:36:40Z Daily Trending of PowerShell in GitHub \ No newline at end of file diff --git a/prisma/daily/index.xml b/prisma/daily/index.xml index 0a5dfe3306d..54b60c39d5b 100644 --- a/prisma/daily/index.xml +++ b/prisma/daily/index.xml @@ -1,7 +1,7 @@ GitHub Prisma Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:34:26Z + 2024-11-21T01:36:43Z Daily Trending of Prisma in GitHub \ No newline at end of file diff --git a/processing/daily/index.xml b/processing/daily/index.xml index ee0d5d38146..7525485a618 100644 --- a/processing/daily/index.xml +++ b/processing/daily/index.xml @@ -1,7 +1,7 @@ GitHub Processing Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:34:26Z + 2024-11-21T01:36:43Z Daily Trending of Processing in GitHub \ No newline at end of file diff --git a/procfile/daily/index.xml b/procfile/daily/index.xml index a5c4cb27fc8..458d1e12775 100644 --- a/procfile/daily/index.xml +++ b/procfile/daily/index.xml @@ -1,7 +1,7 @@ GitHub Procfile Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:34:25Z + 2024-11-21T01:36:43Z Daily Trending of Procfile in GitHub \ No newline at end of file diff --git a/proguard/daily/index.xml b/proguard/daily/index.xml index 4ca9d534104..b63a9f3885d 100644 --- a/proguard/daily/index.xml +++ b/proguard/daily/index.xml @@ -1,7 +1,7 @@ GitHub Proguard Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:34:26Z + 2024-11-21T01:36:43Z Daily Trending of Proguard in GitHub \ No newline at end of file diff --git a/prolog/daily/index.xml b/prolog/daily/index.xml index 6598f2e498a..d93d0729dc6 100644 --- a/prolog/daily/index.xml +++ b/prolog/daily/index.xml @@ -1,7 +1,7 @@ GitHub Prolog Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:34:28Z + 2024-11-21T01:36:45Z Daily Trending of Prolog in GitHub \ No newline at end of file diff --git a/promela/daily/index.xml b/promela/daily/index.xml index 48c90598253..bf9a487f936 100644 --- a/promela/daily/index.xml +++ b/promela/daily/index.xml @@ -1,7 +1,7 @@ GitHub Promela Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:34:27Z + 2024-11-21T01:36:44Z Daily 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 932883e1b6e..52ae16c9487 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 - 2024-11-20T01:34:28Z + 2024-11-21T01:36:45Z Daily 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 90fcfac776b..a839368ecaf 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 - 2024-11-20T01:34:29Z + 2024-11-21T01:36:46Z Daily 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 6c631111c2c..f761ab47bf1 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 - 2024-11-20T01:34:27Z + 2024-11-21T01:36:44Z Daily 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 20c194463e1..55b933cce64 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 - 2024-11-20T01:34:30Z + 2024-11-21T01:36:47Z Daily 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 02a26c9257d..c235387ad8d 100644 --- a/pug/daily/index.xml +++ b/pug/daily/index.xml @@ -1,7 +1,7 @@ GitHub Pug Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:34:29Z + 2024-11-21T01:36:46Z Daily Trending of Pug in GitHub \ No newline at end of file diff --git a/puppet/daily/index.xml b/puppet/daily/index.xml index 38994e1c46a..843ae77188d 100644 --- a/puppet/daily/index.xml +++ b/puppet/daily/index.xml @@ -1,7 +1,7 @@ GitHub Puppet Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:34:30Z + 2024-11-21T01:36:46Z Daily Trending of Puppet in GitHub \ No newline at end of file diff --git a/pure-data/daily/index.xml b/pure-data/daily/index.xml index 559cc962d38..31889f9735a 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 - 2024-11-20T01:34:31Z + 2024-11-21T01:36:48Z Daily 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 65ef33ecf25..fc0394759a4 100644 --- a/purebasic/daily/index.xml +++ b/purebasic/daily/index.xml @@ -1,7 +1,7 @@ GitHub PureBasic Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:34:32Z + 2024-11-21T01:36:47Z Daily Trending of PureBasic in GitHub \ No newline at end of file diff --git a/purescript/daily/index.xml b/purescript/daily/index.xml index b1b9d8f53dd..05f365af632 100644 --- a/purescript/daily/index.xml +++ b/purescript/daily/index.xml @@ -1,7 +1,7 @@ GitHub PureScript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:34:32Z + 2024-11-21T01:36:49Z Daily 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 465fc258281..a6fa8f74336 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 - 2024-11-20T01:34:33Z + 2024-11-21T01:36:50Z Daily 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 863148599fe..f1713db68d9 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 - 2024-11-20T01:34:33Z + 2024-11-21T01:36:49Z Daily 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 439b420238a..e2d6583ea7c 100644 --- a/python/daily/index.xml +++ b/python/daily/index.xml @@ -1,28 +1,7 @@ GitHub Python Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:34:34Z + 2024-11-21T01:36:51Z Daily Trending of Python in GitHub - - arkohut/pensieve - 2024-11-20T01:34:34Z - tag:github.com,2024-11-20:/arkohut/pensieve - - <p>A passive recording project allows you to have complete control over your data. 一个完全由你掌控数据的「被动记录」项目。</p><hr><p>English | <a href="https://raw.githubusercontent.com/arkohut/pensieve/master/README_ZH.md">简体中文</a></p> <p><img src="https://raw.githubusercontent.com/arkohut/pensieve/master/docs/images/memos-search-en.gif" alt="memos-search"></p> <blockquote> <p>I changed the name to Pensieve because Memos was already taken.</p> </blockquote> <h1>Pensieve (previously named Memos)</h1> <p>Pensieve is a privacy-focused passive recording project. It can automatically record screen content, build intelligent indices, and provide a convenient web interface to retrieve historical records.</p> <p>This project draws heavily from two other projects: one called <a href="https://www.rewind.ai/">Rewind</a> and another called <a href="https://support.microsoft.com/en-us/windows/retrace-your-steps-with-recall-aa03f8a0-a78b-4b3e-b0a1-2eb8ac48701c">Windows Recall</a>. However, unlike both of them, Pensieve allows you to have complete control over your data, avoiding the transfer of data to untrusted data centers.</p> <h2>Features</h2> <ul> <li>🚀 Simple installation: just install dependencies via pip to get started</li> <li>🔒 Complete data control: all data is stored locally, allowing for full local operation and self-managed data processing</li> <li>🔍 Full-text and vector search support</li> <li>🤖 Integrates with Ollama, using it as the machine learning engine for Pensieve</li> <li>🌐 Compatible with any OpenAI API models (e.g., OpenAI, Azure OpenAI, vLLM, etc.)</li> <li>💻 Supports Mac and Windows (Linux support is in development)</li> <li>🔌 Extensible functionality through plugins</li> </ul> <h2>Quick Start</h2> <p><img src="https://raw.githubusercontent.com/arkohut/pensieve/master/docs/images/memos-installation.gif" alt="memos-installation"></p> <h3>1. Install Pensieve</h3> <pre><code class="language-sh">pip install memos </code></pre> <h3>2. Initialize</h3> <p>Initialize the pensieve configuration file and sqlite database:</p> <pre><code class="language-sh">memos init </code></pre> <p>Data will be stored in the <code>~/.memos</code> directory.</p> <h3>3. Start the Service</h3> <pre><code class="language-sh">memos enable memos start </code></pre> <p>This command will:</p> <ul> <li>Begin recording all screens</li> <li>Start the Web service</li> <li>Set the service to start on boot</li> </ul> <h3>4. Access the Web Interface</h3> <p>Open your browser and visit <code>http://localhost:8839</code></p> <p><img src="https://raw.githubusercontent.com/arkohut/pensieve/master/docs/images/init-page-en.png" alt="init page"></p> <h3>Mac Permission Issues</h3> <p>On Mac, Pensieve needs screen recording permission. When the program starts, Mac will prompt for screen recording permission - please allow it to proceed.</p> <h2>User Guide</h2> <h3>Using the Appropriate Embedding Model</h3> <h4>1. Model Selection</h4> <p>Pensieve uses embedding models to extract semantic information and build vector indices. Therefore, choosing an appropriate embedding model is crucial. Depending on the user's primary language, different embedding models should be selected.</p> <ul> <li>For Chinese scenarios, you can use the <a href="https://huggingface.co/jinaai/jina-embeddings-v2-base-zh">jinaai/jina-embeddings-v2-base-zh</a> model.</li> <li>For English scenarios, you can use the <a href="https://huggingface.co/jinaai/jina-embeddings-v2-base-en">jinaai/jina-embeddings-v2-base-en</a> model.</li> </ul> <h4>2. Adjust Memos Configuration</h4> <p>Open the <code>~/.memos/config.yaml</code> file with your preferred text editor and modify the <code>embedding</code> configuration:</p> <pre><code class="language-yaml">embedding: use_local: true model: jinaai/jina-embeddings-v2-base-en # Model name used num_dim: 768 # Model dimensions use_modelscope: false # Whether to use ModelScope's model </code></pre> <h4>3. Restart Memos Service</h4> <pre><code class="language-sh">memos stop memos start </code></pre> <p>The first time you use the embedding model, Pensieve will automatically download and load the model.</p> <h4>4. Rebuild Index</h4> <p>If you switch the embedding model during use, meaning you have already indexed screenshots before, you need to rebuild the index:</p> <pre><code class="language-sh">memos reindex --force </code></pre> <p>The <code>--force</code> parameter indicates rebuilding the index table and deleting previously indexed screenshot data.</p> <h3>Using Ollama for Visual Search</h3> <p>By default, Pensieve only enables the OCR plugin to extract text from screenshots and build indices. However, this method significantly limits search effectiveness for images without text.</p> <p>To achieve more comprehensive visual search capabilities, we need a multimodal image understanding service compatible with the OpenAI API. Ollama perfectly fits this role.</p> <h4>Important Notes Before Use</h4> <p>Before deciding to enable the VLM feature, please note the following:</p> <ol> <li> <p><strong>Hardware Requirements</strong></p> <ul> <li>Recommended configuration: NVIDIA graphics card with at least 8GB VRAM or Mac with M series chip</li> <li>The minicpm-v model will occupy about 5.5GB of storage space</li> <li>CPU mode is not recommended as it will cause severe system lag</li> </ul> </li> <li> <p><strong>Performance and Power Consumption Impact</strong></p> <ul> <li>Enabling VLM will significantly increase system power consumption</li> <li>Consider using other devices to provide OpenAI API compatible model services</li> </ul> </li> </ol> <h4>1. Install Ollama</h4> <p>Visit the <a href="https://ollama.com">Ollama official documentation</a> for detailed installation and configuration instructions.</p> <h4>2. Prepare the Multimodal Model</h4> <p>Download and run the multimodal model <code>minicpm-v</code> using the following command:</p> <pre><code class="language-sh">ollama run minicpm-v "Describe what this service is" </code></pre> <p>This command will download and run the minicpm-v model. If the running speed is too slow, it is not recommended to use this feature.</p> <h4>3. Configure Pensieve to Use Ollama</h4> <p>Open the <code>~/.memos/config.yaml</code> file with your preferred text editor and modify the <code>vlm</code> configuration:</p> <pre><code class="language-yaml">vlm: endpoint: http://localhost:11434 # Ollama service address modelname: minicpm-v # Model name to use force_jpeg: true # Convert images to JPEG format to ensure compatibility prompt: Please describe the content of this image, including the layout and visual elements # Prompt sent to the model </code></pre> <p>Use the above configuration to overwrite the <code>vlm</code> configuration in the <code>~/.memos/config.yaml</code> file.</p> <p>Also, modify the <code>default_plugins</code> configuration in the <code>~/.memos/plugins/vlm/config.yaml</code> file:</p> <pre><code class="language-yaml">default_plugins: - builtin_ocr - builtin_vlm </code></pre> <p>This adds the <code>builtin_vlm</code> plugin to the default plugin list.</p> <h4>4. Restart Pensieve Service</h4> <pre><code class="language-sh">memos stop memos start </code></pre> <p>After restarting the Pensieve service, wait a moment to see the data extracted by VLM in the latest screenshots on the Pensieve web interface:</p> <p><img src="https://raw.githubusercontent.com/arkohut/pensieve/master/docs/images/single-screenshot-view-with-minicpm-result.png" alt="image"></p> <p>If you do not see the VLM results, you can:</p> <ul> <li>Use the command <code>memos ps</code> to check if the Pensieve process is running normally</li> <li>Check for error messages in <code>~/.memos/logs/memos.log</code></li> <li>Confirm whether the Ollama model is loaded correctly (<code>ollama ps</code>)</li> </ul> <h3>Full Indexing</h3> <p>Pensieve is a compute-intensive application. The indexing process requires the collaboration of OCR, VLM, and embedding models. To minimize the impact on the user's computer, Pensieve calculates the average processing time for each screenshot and adjusts the indexing frequency accordingly. Therefore, not all screenshots are indexed immediately by default.</p> <p>If you want to index all screenshots, you can use the following command for full indexing:</p> <pre><code class="language-sh">memos scan </code></pre> <p>This command will scan and index all recorded screenshots. Note that depending on the number of screenshots and system configuration, this process may take some time and consume significant system resources. The index construction is idempotent, and running this command multiple times will not re-index already indexed data.</p> <h2>Privacy and Security</h2> <p>During the development of Pensieve, I closely followed the progress of similar products, especially <a href="https://www.rewind.ai/">Rewind</a> and <a href="https://support.microsoft.com/en-us/windows/retrace-your-steps-with-recall-aa03f8a0-a78b-4b3e-b0a1-2eb8ac48701c">Windows Recall</a>. I greatly appreciate their product philosophy, but they do not do enough in terms of privacy protection, which is a concern for many users (or potential users). Recording the screen of a personal computer may expose extremely sensitive private data, such as bank accounts, passwords, chat records, etc. Therefore, ensuring that data storage and processing are completely controlled by the user to prevent data leakage is particularly important.</p> <p>The advantages of Pensieve are:</p> <ol> <li>The code is completely open-source and easy-to-understand Python code, allowing anyone to review the code to ensure there are no backdoors.</li> <li>Data is completely localized, all data is stored locally, and data processing is entirely controlled by the user. Data will be stored in the user's <code>~/.memos</code> directory.</li> <li>Easy to uninstall. If you no longer use Pensieve, you can close the program with <code>memos stop &amp;&amp; memos disable</code>, then uninstall it with <code>pip uninstall memos</code>, and finally delete the <code>~/.memos</code> directory to clean up all databases and screenshot data.</li> <li>Data processing is entirely controlled by the user. Pensieve is an independent project, and the machine learning models used (including VLM and embedding models) are chosen by the user. Due to Pensieve' operating mode, using smaller models can also achieve good results.</li> </ol> <p>Of course, there is still room for improvement in terms of privacy, and contributions are welcome to make Pensieve better.</p> <h2>Other Noteworthy Content</h2> <h3>About Storage Space</h3> <p>Pensieve records the screen every 5 seconds and saves the original screenshots in the <code>~/.memos/screenshots</code> directory. Storage space usage mainly depends on the following factors:</p> <ol> <li> <p><strong>Screenshot Data</strong>:</p> <ul> <li>Single screenshot size: about 40-400KB (depending on screen resolution and display complexity)</li> <li>Daily data volume: about 400MB (based on 10 hours of usage, single screen 2560x1440 resolution)</li> <li>Multi-screen usage: data volume increases with the number of screens</li> <li>Monthly estimate: about 8GB based on 20 working days</li> </ul> <p>Screenshots are deduplicated. If the content of consecutive screenshots does not change much, only one screenshot will be retained. The deduplication mechanism can significantly reduce storage usage in scenarios where content does not change frequently (such as reading, document editing, etc.).</p> </li> <li> <p><strong>Database Space</strong>:</p> <ul> <li>SQLite database size depends on the number of indexed screenshots</li> <li>Reference value: about 2.2GB of storage space after indexing 100,000 screenshots</li> </ul> </li> </ol> <h3>About Power Consumption</h3> <p>Pensieve requires two compute-intensive tasks by default:</p> <ul> <li>One is the OCR task, used to extract text from screenshots</li> <li>The other is the embedding task, used to extract semantic information and build vector indices</li> </ul> <h4>Resource Usage</h4> <ul> <li> <p><strong>OCR Task</strong>: Executed using the CPU, and optimized to select the OCR engine based on different operating systems to minimize CPU usage</p> </li> <li> <p><strong>Embedding Task</strong>: Intelligently selects the computing device</p> <ul> <li>NVIDIA GPU devices prioritize using the GPU</li> <li>Mac devices prioritize using Metal GPU</li> <li>Other devices use the CPU</li> </ul> </li> </ul> <h4>Performance Optimization Strategy</h4> <p>To avoid affecting users' daily use, Pensieve has adopted the following optimization measures:</p> <ul> <li>Dynamically adjust the indexing frequency, adapting to system processing speed</li> <li>Automatically reduce processing frequency when on battery power to save power</li> </ul> <h2>Development Guide</h2> <h3>Peeling the First Layer of the Onion</h3> <p>In fact, after Pensieve starts, it runs three programs:</p> <ol> <li><code>memos serve</code> starts the web service</li> <li><code>memos record</code> starts the screenshot recording program</li> <li><code>memos watch</code> listens to the image events generated by <code>memos record</code> and dynamically submits indexing requests to the server based on actual processing speed</li> </ol> <p>Therefore, if you are a developer or want to see the logs of the entire project running more clearly, you can use these three commands to run each part in the foreground instead of the <code>memos enable &amp;&amp; memos start</code> command.</p> - - - DrewThomasson/ebook2audiobook - 2024-11-20T01:34:34Z - tag:github.com,2024-11-20:/DrewThomasson/ebook2audiobook - - <p>Generates an audiobook with chapters and ebook metadata using Calibre and Xtts from Coqui tts, and with optional voice cloning, and supports multiple languages</p><hr><h1>📚 ebook2audiobook</h1> <p>Convert eBooks to audiobooks with chapters and metadata using Calibre and Coqui XTTS. Supports optional voice cloning and multiple languages!</p> <h4>🖥️ Web GUI Interface</h4> <p><img src="https://github.com/user-attachments/assets/85af88a7-05dd-4a29-91de-76a14cf5ef06" alt="demo_web_gui"></p> <details> <summary>Click to see images of Web GUI</summary> <img width="1728" alt="image" src="https://github.com/user-attachments/assets/b36c71cf-8e06-484c-a252-934e6b1d0c2f"> <img width="1728" alt="image" src="https://github.com/user-attachments/assets/c0dab57a-d2d4-4658-bff9-3842ec90cb40"> <img width="1728" alt="image" src="https://github.com/user-attachments/assets/0a99eeac-c521-4b21-8656-e064c1adc528"> </details> <h2>README.md</h2> <ul> <li>en <a href="https://raw.githubusercontent.com/DrewThomasson/ebook2audiobook/main/README.md">English</a></li> <li>zh_CN <a href="https://raw.githubusercontent.com/DrewThomasson/ebook2audiobook/main/readme/README_CN.md">简体中文</a></li> <li>ru <a href="https://raw.githubusercontent.com/DrewThomasson/ebook2audiobook/main/readme/README_RU.md">Русский</a></li> </ul> <h2>🌟 Features</h2> <ul> <li>📖 Converts eBooks to text format with Calibre.</li> <li>📚 Splits eBook into chapters for organized audio.</li> <li>🎙️ High-quality text-to-speech with Coqui XTTS.</li> <li>🗣️ Optional voice cloning with your own voice file.</li> <li>🌍 Supports multiple languages (English by default).</li> <li>🖥️ Designed to run on 4GB RAM.</li> </ul> <h2>🤗 <a href="https://huggingface.co/spaces/drewThomasson/ebook2audiobookXTTS">Huggingface space demo</a></h2> <ul> <li>Huggingface space is running on free cpu tier so expect very slow or timeout lol, just don't give it giant files is all</li> <li>Best to duplicate space or run locally.</li> </ul> <h2>Free Google Colab <a href="https://colab.research.google.com/github/DrewThomasson/ebook2audiobookXTTS/blob/main/Notebooks/colab_ebook2audiobookxtts.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg?sanitize=true" alt="Free Google Colab"></a></h2> <h2>🛠️ Requirements</h2> <ul> <li>Python 3.10</li> <li><code>coqui-tts</code> Python package</li> <li>Calibre (for eBook conversion)</li> <li>FFmpeg (for audiobook creation)</li> <li>Optional: Custom voice file for voice cloning</li> </ul> <h3>🔧 Installation Instructions</h3> <ol> <li> <p><strong>Install Python 3.x</strong> from <a href="https://www.python.org/downloads/">Python.org</a>.</p> </li> <li> <p><strong>Install Calibre</strong>:</p> <ul> <li><strong>Ubuntu</strong>: <code>sudo apt-get install -y calibre</code></li> <li><strong>macOS</strong>: <code>brew install calibre</code></li> <li><strong>Windows</strong> (Admin Powershell): <code>choco install calibre</code></li> </ul> </li> <li> <p><strong>Install FFmpeg</strong>:</p> <ul> <li><strong>Ubuntu</strong>: <code>sudo apt-get install -y ffmpeg</code></li> <li><strong>macOS</strong>: <code>brew install ffmpeg</code></li> <li><strong>Windows</strong> (Admin Powershell): <code>choco install ffmpeg</code></li> </ul> </li> <li> <p><strong>Optional: Install Mecab</strong> (for non-Latin languages):</p> <ul> <li><strong>Ubuntu</strong>: <code>sudo apt-get install -y mecab libmecab-dev mecab-ipadic-utf8</code></li> <li><strong>macOS</strong>: <code>brew install mecab</code>, <code>brew install mecab-ipadic</code></li> <li><strong>Windows</strong>: <a href="https://taku910.github.io/mecab/#download">mecab-website-to-install-manually</a> (Note: Japanese support is limited)</li> </ul> </li> <li> <p><strong>Install Python packages</strong>:</p> <pre><code class="language-bash">pip install coqui-tts==0.24.2 pydub nltk beautifulsoup4 ebooklib tqdm gradio==4.44.0 python -m nltk.downloader punkt python -m nltk.downloader punkt_tab </code></pre> <p><strong>For non-Latin languages</strong>:</p> <pre><code class="language-bash">pip install mecab mecab-python3 unidic python -m unidic download </code></pre> </li> </ol> <h2>🌐 Supported Languages</h2> <ul> <li><strong>English (en)</strong></li> <li><strong>Spanish (es)</strong></li> <li><strong>French (fr)</strong></li> <li><strong>German (de)</strong></li> <li><strong>Italian (it)</strong></li> <li><strong>Portuguese (pt)</strong></li> <li><strong>Polish (pl)</strong></li> <li><strong>Turkish (tr)</strong></li> <li><strong>Russian (ru)</strong></li> <li><strong>Dutch (nl)</strong></li> <li><strong>Czech (cs)</strong></li> <li><strong>Arabic (ar)</strong></li> <li><strong>Chinese (zh-cn)</strong></li> <li><strong>Japanese (ja)</strong></li> <li><strong>Hungarian (hu)</strong></li> <li><strong>Korean (ko)</strong></li> </ul> <p>Specify the language code when running the script in headless mode.</p> <h2>🚀 Usage</h2> <h3>🖥️ Launching Gradio Web Interface</h3> <ol> <li> <p><strong>Run the Script</strong>:</p> <pre><code class="language-bash">python app.py </code></pre> </li> <li> <p><strong>Open the Web App</strong>: Click the URL provided in the terminal to access the web app and convert eBooks.</p> </li> <li> <p><strong>For Public Link</strong>: Add <code>--share True</code> to the end of it like this: <code>python app.py --share True</code></p> </li> </ol> <ul> <li><strong>[For More Parameters]</strong>: use the <code>-h</code> parameter like this <code>python app.py -h</code></li> </ul> <h3>📝 Basic Headless Usage</h3> <pre><code class="language-bash">python app.py --headless True --ebook &lt;path_to_ebook_file&gt; --voice [path_to_voice_file] --language [language_code] </code></pre> <ul> <li><strong>&lt;path_to_ebook_file&gt;</strong>: Path to your eBook file.</li> <li><strong>[path_to_voice_file]</strong>: Optional for voice cloning.</li> <li><strong>[language_code]</strong>: Optional to specify language.</li> <li><strong>[For More Parameters]</strong>: use the <code>-h</code> parameter like this <code>python app.py -h</code></li> </ul> <h3>🧩 Headless Custom XTTS Model Usage</h3> <pre><code class="language-bash">python app.py --headless True --use_custom_model True --ebook &lt;ebook_file_path&gt; --voice &lt;target_voice_file_path&gt; --language &lt;language&gt; --custom_model &lt;custom_model_path&gt; --custom_config &lt;custom_config_path&gt; --custom_vocab &lt;custom_vocab_path&gt; </code></pre> <ul> <li><strong>&lt;ebook_file_path&gt;</strong>: Path to your eBook file.</li> <li><strong>&lt;target_voice_file_path&gt;</strong>: Optional for voice cloning.</li> <li><strong> <language></language></strong>: Optional to specify language.</li> <li><strong>&lt;custom_model_path&gt;</strong>: Path to <code>model.pth</code>.</li> <li><strong>&lt;custom_config_path&gt;</strong>: Path to <code>config.json</code>.</li> <li><strong>&lt;custom_vocab_path&gt;</strong>: Path to <code>vocab.json</code>.</li> <li><strong>[For More Parameters]</strong>: use the <code>-h</code> parameter like this <code>python app.py -h</code></li> </ul> <h3>🧩 Headless Custom XTTS Model Usage With Zip link to XTTS Fine-Tune Model 🌐</h3> <pre><code class="language-bash">python app.py --headless True --use_custom_model True --ebook &lt;ebook_file_path&gt; --voice &lt;target_voice_file_path&gt; --language &lt;language&gt; --custom_model_url &lt;custom_model_URL_ZIP_path&gt; </code></pre> <ul> <li><strong>&lt;ebook_file_path&gt;</strong>: Path to your eBook file.</li> <li><strong>&lt;target_voice_file_path&gt;</strong>: Optional for voice cloning.</li> <li><strong> <language></language></strong>: Optional to specify language.</li> <li><strong>&lt;custom_model_URL_ZIP_path&gt;</strong>: URL Path to zip of Model folder. For Example this for the <a href="https://huggingface.co/drewThomasson/xtts_David_Attenborough_fine_tune/tree/main">xtts_David_Attenborough_fine_tune</a> <code>https://huggingface.co/drewThomasson/xtts_David_Attenborough_fine_tune/resolve/main/Finished_model_files.zip?download=true</code></li> <li>For a custom model a ref audio clip of the voice will also be needed: <a href="https://huggingface.co/drewThomasson/xtts_David_Attenborough_fine_tune/blob/main/ref.wav">ref audio clip of David Attenborough</a></li> <li><strong>[For More Parameters]</strong>: use the <code>-h</code> parameter like this <code>python app.py -h</code></li> </ul> <h3>🔍 For Detailed Guide with list of all Parameters to use</h3> <pre><code class="language-bash">python app.py -h </code></pre> <ul> <li>This will output the following:</li> </ul> <pre><code class="language-bash">usage: app.py [-h] [--share SHARE] [--headless HEADLESS] [--ebook EBOOK] [--voice VOICE] [--language LANGUAGE] [--use_custom_model USE_CUSTOM_MODEL] [--custom_model CUSTOM_MODEL] [--custom_config CUSTOM_CONFIG] [--custom_vocab CUSTOM_VOCAB] [--custom_model_url CUSTOM_MODEL_URL] [--temperature TEMPERATURE] [--length_penalty LENGTH_PENALTY] [--repetition_penalty REPETITION_PENALTY] [--top_k TOP_K] [--top_p TOP_P] [--speed SPEED] [--enable_text_splitting ENABLE_TEXT_SPLITTING] Convert eBooks to Audiobooks using a Text-to-Speech model. You can either launch the Gradio interface or run the script in headless mode for direct conversion. options: -h, --help show this help message and exit --share SHARE Set to True to enable a public shareable Gradio link. Defaults to False. --headless HEADLESS Set to True to run in headless mode without the Gradio interface. Defaults to False. --ebook EBOOK Path to the ebook file for conversion. Required in headless mode. --voice VOICE Path to the target voice file for TTS. Optional, uses a default voice if not provided. --language LANGUAGE Language for the audiobook conversion. Options: en, es, fr, de, it, pt, pl, tr, ru, nl, cs, ar, zh-cn, ja, hu, ko. Defaults to English (en). --use_custom_model USE_CUSTOM_MODEL Set to True to use a custom TTS model. Defaults to False. Must be True to use custom models, otherwise you'll get an error. --custom_model CUSTOM_MODEL Path to the custom model file (.pth). Required if using a custom model. --custom_config CUSTOM_CONFIG Path to the custom config file (config.json). Required if using a custom model. --custom_vocab CUSTOM_VOCAB Path to the custom vocab file (vocab.json). Required if using a custom model. --custom_model_url CUSTOM_MODEL_URL URL to download the custom model as a zip file. Optional, but will be used if provided. Examples include David Attenborough's model: 'https://huggingface.co/drewThomasson/xtts_David_Attenbor ough_fine_tune/resolve/main/Finished_model_files.zip?download=tr ue'. More XTTS fine-tunes can be found on my Hugging Face at 'https://huggingface.co/drewThomasson'. --temperature TEMPERATURE Temperature for the model. Defaults to 0.65. Higher Tempatures will lead to more creative outputs IE: more Hallucinations. Lower Tempatures will be more monotone outputs IE: less Hallucinations. --length_penalty LENGTH_PENALTY A length penalty applied to the autoregressive decoder. Defaults to 1.0. Not applied to custom models. --repetition_penalty REPETITION_PENALTY A penalty that prevents the autoregressive decoder from repeating itself. Defaults to 2.0. --top_k TOP_K Top-k sampling. Lower values mean more likely outputs and increased audio generation speed. Defaults to 50. --top_p TOP_P Top-p sampling. Lower values mean more likely outputs and increased audio generation speed. Defaults to 0.8. --speed SPEED Speed factor for the speech generation. IE: How fast the Narrerator will speak. Defaults to 1.0. --enable_text_splitting ENABLE_TEXT_SPLITTING Enable splitting text into sentences. Defaults to True. Example: python script.py --headless --ebook path_to_ebook --voice path_to_voice --language en --use_custom_model True --custom_model model.pth --custom_config config.json --custom_vocab vocab.json </code></pre> <details> <summary>⚠️ Legacy-Depricated Old Use Instructions</summary> <h2>🚀 Usage</h2> <h2>Legacy files have been moved to <code>ebook2audiobookXTTS/legacy/</code></h2> <h3>🖥️ Gradio Web Interface</h3> <ol> <li> <p><strong>Run the Script</strong>:</p> <pre><code class="language-bash">python custom_model_ebook2audiobookXTTS_gradio.py </code></pre> </li> <li> <p><strong>Open the Web App</strong>: Click the URL provided in the terminal to access the web app and convert eBooks.</p> </li> </ol> <h3>📝 Basic Usage</h3> <pre><code class="language-bash">python ebook2audiobook.py &lt;path_to_ebook_file&gt; [path_to_voice_file] [language_code] </code></pre> <ul> <li><strong>&lt;path_to_ebook_file&gt;</strong>: Path to your eBook file.</li> <li><strong>[path_to_voice_file]</strong>: Optional for voice cloning.</li> <li><strong>[language_code]</strong>: Optional to specify language.</li> </ul> <h3>🧩 Custom XTTS Model</h3> <pre><code class="language-bash">python custom_model_ebook2audiobookXTTS.py &lt;ebook_file_path&gt; &lt;target_voice_file_path&gt; &lt;language&gt; &lt;custom_model_path&gt; &lt;custom_config_path&gt; &lt;custom_vocab_path&gt; </code></pre> <ul> <li><strong>&lt;ebook_file_path&gt;</strong>: Path to your eBook file.</li> <li><strong>&lt;target_voice_file_path&gt;</strong>: Optional for voice cloning.</li> <li><strong> <language></language></strong>: Optional to specify language.</li> <li><strong>&lt;custom_model_path&gt;</strong>: Path to <code>model.pth</code>.</li> <li><strong>&lt;custom_config_path&gt;</strong>: Path to <code>config.json</code>.</li> <li><strong>&lt;custom_vocab_path&gt;</strong>: Path to <code>vocab.json</code>.</li> </ul> </details> <h3>🐳 Using Docker</h3> <p>You can also use Docker to run the eBook to Audiobook converter. This method ensures consistency across different environments and simplifies setup.</p> <h4>🚀 Running the Docker Container</h4> <p>To run the Docker container and start the Gradio interface, use the following command:</p> <p>-Run with CPU only</p> <pre><code class="language-powershell">docker run -it --rm -p 7860:7860 --platform=linux/amd64 athomasson2/ebook2audiobookxtts:huggingface python app.py </code></pre> <p>-Run with GPU Speedup (Nvida graphics cards only)</p> <pre><code class="language-powershell">docker run -it --rm --gpus all -p 7860:7860 --platform=linux/amd64 athomasson2/ebook2audiobookxtts:huggingface python app.py </code></pre> <p>This command will start the Gradio interface on port 7860.(localhost:7860)</p> <ul> <li>For more options like running the docker in headless mode or making the gradio link public add the <code>-h</code> parameter after the <code>app.py</code> in the docker launch command</li> </ul> <details> <summary><strong>Example of using docker in headless mode or modifying anything with the extra parameters + Full guide</strong></summary> <h2>Example of using docker in headless mode</h2> <p>first for a docker pull of the latest with</p> <pre><code class="language-bash">docker pull athomasson2/ebook2audiobookxtts:huggingface </code></pre> <ul> <li>Before you do run this you need to create a dir named "input-folder" in your current dir which will be linked, This is where you can put your input files for the docker image to see</li> </ul> <pre><code class="language-bash">mkdir input-folder &amp;&amp; mkdir Audiobooks </code></pre> <ul> <li>In the command below swap out <strong>YOUR_INPUT_FILE.TXT</strong> with the name of your input file</li> </ul> <pre><code class="language-bash">docker run -it --rm \ -v $(pwd)/input-folder:/home/user/app/input_folder \ -v $(pwd)/Audiobooks:/home/user/app/Audiobooks \ --platform linux/amd64 \ athomasson2/ebook2audiobookxtts:huggingface \ python app.py --headless True --ebook /home/user/app/input_folder/YOUR_INPUT_FILE.TXT </code></pre> <ul> <li> <p>And that should be it!</p> </li> <li> <p>The output Audiobooks will be found in the Audiobook folder which will also be located in your local dir you ran this docker command in</p> </li> </ul> <h2>To get the help command for the other parameters this program has you can run this</h2> <pre><code class="language-bash">docker run -it --rm \ --platform linux/amd64 \ athomasson2/ebook2audiobookxtts:huggingface \ python app.py -h </code></pre> <p>and that will output this</p> <pre><code class="language-bash">user/app/ebook2audiobookXTTS/input-folder -v $(pwd)/Audiobooks:/home/user/app/ebook2audiobookXTTS/Audiobooks --memory="4g" --network none --platform linux/amd64 athomasson2/ebook2audiobookxtts:huggingface python app.py -h starting... usage: app.py [-h] [--share SHARE] [--headless HEADLESS] [--ebook EBOOK] [--voice VOICE] [--language LANGUAGE] [--use_custom_model USE_CUSTOM_MODEL] [--custom_model CUSTOM_MODEL] [--custom_config CUSTOM_CONFIG] [--custom_vocab CUSTOM_VOCAB] [--custom_model_url CUSTOM_MODEL_URL] [--temperature TEMPERATURE] [--length_penalty LENGTH_PENALTY] [--repetition_penalty REPETITION_PENALTY] [--top_k TOP_K] [--top_p TOP_P] [--speed SPEED] [--enable_text_splitting ENABLE_TEXT_SPLITTING] Convert eBooks to Audiobooks using a Text-to-Speech model. You can either launch the Gradio interface or run the script in headless mode for direct conversion. options: -h, --help show this help message and exit --share SHARE Set to True to enable a public shareable Gradio link. Defaults to False. --headless HEADLESS Set to True to run in headless mode without the Gradio interface. Defaults to False. --ebook EBOOK Path to the ebook file for conversion. Required in headless mode. --voice VOICE Path to the target voice file for TTS. Optional, uses a default voice if not provided. --language LANGUAGE Language for the audiobook conversion. Options: en, es, fr, de, it, pt, pl, tr, ru, nl, cs, ar, zh-cn, ja, hu, ko. Defaults to English (en). --use_custom_model USE_CUSTOM_MODEL Set to True to use a custom TTS model. Defaults to False. Must be True to use custom models, otherwise you'll get an error. --custom_model CUSTOM_MODEL Path to the custom model file (.pth). Required if using a custom model. --custom_config CUSTOM_CONFIG Path to the custom config file (config.json). Required if using a custom model. --custom_vocab CUSTOM_VOCAB Path to the custom vocab file (vocab.json). Required if using a custom model. --custom_model_url CUSTOM_MODEL_URL URL to download the custom model as a zip file. Optional, but will be used if provided. Examples include David Attenborough's model: 'https://huggingface.co/drewThomasson/xtts_David_Attenbor ough_fine_tune/resolve/main/Finished_model_files.zip?download=tr ue'. More XTTS fine-tunes can be found on my Hugging Face at 'https://huggingface.co/drewThomasson'. --temperature TEMPERATURE Temperature for the model. Defaults to 0.65. Higher Tempatures will lead to more creative outputs IE: more Hallucinations. Lower Tempatures will be more monotone outputs IE: less Hallucinations. --length_penalty LENGTH_PENALTY A length penalty applied to the autoregressive decoder. Defaults to 1.0. Not applied to custom models. --repetition_penalty REPETITION_PENALTY A penalty that prevents the autoregressive decoder from repeating itself. Defaults to 2.0. --top_k TOP_K Top-k sampling. Lower values mean more likely outputs and increased audio generation speed. Defaults to 50. --top_p TOP_P Top-p sampling. Lower values mean more likely outputs and increased audio generation speed. Defaults to 0.8. --speed SPEED Speed factor for the speech generation. IE: How fast the Narrerator will speak. Defaults to 1.0. --enable_text_splitting ENABLE_TEXT_SPLITTING Enable splitting text into sentences. Defaults to True. Example: python script.py --headless --ebook path_to_ebook --voice path_to_voice --language en --use_custom_model True --custom_model model.pth --custom_config config.json --custom_vocab vocab.json </code></pre> </details> <h4>🖥️ Docker GUI</h4> <p><img src="https://github.com/user-attachments/assets/85af88a7-05dd-4a29-91de-76a14cf5ef06" alt="demo_web_gui"></p> <details> <summary>Click to see images of Web GUI</summary> <img width="1728" alt="image" src="https://github.com/user-attachments/assets/b36c71cf-8e06-484c-a252-934e6b1d0c2f"> <img width="1728" alt="image" src="https://github.com/user-attachments/assets/c0dab57a-d2d4-4658-bff9-3842ec90cb40"> <img width="1728" alt="image" src="https://github.com/user-attachments/assets/0a99eeac-c521-4b21-8656-e064c1adc528"> </details> ### 🛠️ For Custom Xtts Models <p>Models built to be better at a specific voice. Check out my Hugging Face page <a href="https://huggingface.co/drewThomasson">here</a>.</p> <p>To use a custom model, paste the link of the <code>Finished_model_files.zip</code> file like this:</p> <p><a href="https://huggingface.co/drewThomasson/xtts_David_Attenborough_fine_tune/resolve/main/Finished_model_files.zip?download=true">David Attenborough fine tuned Finished_model_files.zip</a></p> <p>For a custom model a ref audio clip of the voice will also be needed: <a href="https://huggingface.co/drewThomasson/xtts_David_Attenborough_fine_tune/blob/main/ref.wav">ref audio clip of David Attenborough</a></p> <p>More details can be found at the <a href="%5Bhttps://github.com/DrewThomasson/ebook2audiobookXTTS%5D(https://hub.docker.com/repository/docker/athomasson2/ebook2audiobookxtts/general)">Dockerfile Hub Page</a>.</p> <h2>🌐 Fine Tuned Xtts models</h2> <p>To find already fine-tuned XTTS models, visit <a href="https://huggingface.co/drewThomasson">this Hugging Face link</a> 🌐. Search for models that include "xtts fine tune" in their names.</p> <h2>🎥 Demos</h2> <p>Rainy day voice</p> <p><a href="https://github.com/user-attachments/assets/8486603c-38b1-43ce-9639-73757dfb1031">https://github.com/user-attachments/assets/8486603c-38b1-43ce-9639-73757dfb1031</a></p> <p>David Attenborough voice</p> <p><a href="https://github.com/user-attachments/assets/47c846a7-9e51-4eb9-844a-7460402a20a8">https://github.com/user-attachments/assets/47c846a7-9e51-4eb9-844a-7460402a20a8</a></p> <h2>🤗 <a href="https://huggingface.co/spaces/drewThomasson/ebook2audiobookXTTS">Huggingface space demo</a></h2> <ul> <li>Huggingface space is running on free cpu tier so expect very slow or timeout lol, just don't give it giant files is all</li> <li>Best to duplicate space or run locally.</li> </ul> <h2>Free Google Colab <a href="https://colab.research.google.com/github/DrewThomasson/ebook2audiobookXTTS/blob/main/Notebooks/colab_ebook2audiobookxtts.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg?sanitize=true" alt="Free Google Colab"></a></h2> <h2>📚 Supported eBook Formats</h2> <ul> <li><code>.epub</code>, <code>.pdf</code>, <code>.mobi</code>, <code>.txt</code>, <code>.html</code>, <code>.rtf</code>, <code>.chm</code>, <code>.lit</code>, <code>.pdb</code>, <code>.fb2</code>, <code>.odt</code>, <code>.cbr</code>, <code>.cbz</code>, <code>.prc</code>, <code>.lrf</code>, <code>.pml</code>, <code>.snb</code>, <code>.cbc</code>, <code>.rb</code>, <code>.tcr</code></li> <li><strong>Best results</strong>: <code>.epub</code> or <code>.mobi</code> for automatic chapter detection</li> </ul> <h2>📂 Output</h2> <ul> <li>Creates an <code>.m4b</code> file with metadata and chapters.</li> <li><strong>Example Output</strong>: <img src="https://github.com/DrewThomasson/VoxNovel/raw/dc5197dff97252fa44c391dc0596902d71278a88/readme_files/example_in_app.jpeg" alt="Example"></li> </ul> <h2>🛠️ Common Issues:</h2> <ul> <li>"It's slow!" - On CPU only this is very slow, and you can only get speedups though a NVIDIA GPU. <a href="https://github.com/DrewThomasson/ebook2audiobookXTTS/discussions/19#discussioncomment-10879846">Discussion about this</a> For faster multilingual generation I would suggest my other <a href="https://github.com/DrewThomasson/ebook2audiobookpiper-tts">project that uses piper-tts</a> instead(It doesn't have zero-shot voice cloning though, and is siri quality voices, but it is much faster on cpu.)</li> <li>"I'm having dependency issues" - Just use the docker, its fully self contained and has a headless mode, add <code>-h</code> parameter after the <code>app.py</code> in the docker run command for more information.</li> <li>"Im getting a truncated audio issue!" - PLEASE MAKE AN ISSUE OF THIS, I don't speak every language and I need advise from each person to fine tune my sentense splitting function on any other languages.😊</li> <li>"The loading bar is stuck at 30% in the web gui!" - The web gui loading bar is extreamly basic as its just split between the three loading steps, refer to the terminal and what sentense it's on for a more accurate gauge on where is it progress wise.</li> </ul> <h2>What I need help with! 🙌</h2> <h2><a href="https://github.com/DrewThomasson/ebook2audiobookXTTS/issues/32">Full list of things can be found here</a></h2> <ul> <li>Any help from people speaking any of the supported langues to help with proper sentence splitting methods</li> <li>Potentially creating readme Guides for Multiple languages(Becuase the only language I know is English 😔)</li> </ul> <h2>🙏 Special Thanks</h2> <ul> <li> <p><strong>Coqui TTS</strong>: <a href="https://github.com/coqui-ai/TTS">Coqui TTS GitHub</a></p> </li> <li> <p><strong>Calibre</strong>: <a href="https://calibre-ebook.com">Calibre Website</a></p> </li> <li> <p><a href="https://github.com/DrewThomasson/ebook2audiobookXTTS/issues/8">@shakenbake15 for better chapter saving method</a></p> </li> </ul> - - - PacktPublishing/LLM-Engineers-Handbook - 2024-11-20T01:34:34Z - tag:github.com,2024-11-20:/PacktPublishing/LLM-Engineers-Handbook - - <p>The LLM's practical guide: From the fundamentals to deploying advanced LLM and RAG apps to AWS using LLMOps best practices</p><hr><div align="center"> <h1>👷 LLM Engineer's Handbook</h1> <p class="tagline">Official repository of the <a href="https://www.amazon.com/LLM-Engineers-Handbook-engineering-production/dp/1836200072/">LLM Engineer's Handbook</a> by <a href="https://github.com/iusztinpaul">Paul Iusztin</a> and <a href="https://github.com/mlabonne">Maxime Labonne</a></p> </div> <br> <p align="center"> <a href="https://www.amazon.com/LLM-Engineers-Handbook-engineering-production/dp/1836200072/"> <img src="https://raw.githubusercontent.com/PacktPublishing/LLM-Engineers-Handbook/main/images/cover_plus.png" alt="Book cover"> </a> </p> <h2>🌟 Features</h2> <p>The goal of this book is to create your own end-to-end LLM-based system using best practices:</p> <ul> <li>📝 Data collection &amp; generation</li> <li>🔄 LLM training pipeline</li> <li>📊 Simple RAG system</li> <li>🚀 Production-ready AWS deployment</li> <li>🔍 Comprehensive monitoring</li> <li>🧪 Testing and evaluation framework</li> </ul> <p>You can download and use the final trained model on <a href="https://huggingface.co/mlabonne/TwinLlama-3.1-8B-DPO">Hugging Face</a>.</p> <h2>🔗 Dependencies</h2> <h3>Local dependencies</h3> <p>To install and run the project locally, you need the following dependencies.</p> <table> <thead> <tr> <th>Tool</th> <th>Version</th> <th>Purpose</th> <th>Installation Link</th> </tr> </thead> <tbody> <tr> <td>pyenv</td> <td>≥2.3.36</td> <td>Multiple Python versions (optional)</td> <td><a href="https://github.com/pyenv/pyenv?tab=readme-ov-file#installation">Install Guide</a></td> </tr> <tr> <td>Python</td> <td>3.11</td> <td>Runtime environment</td> <td><a href="https://www.python.org/downloads/">Download</a></td> </tr> <tr> <td>Poetry</td> <td>≥1.8.3</td> <td>Package management</td> <td><a href="https://python-poetry.org/docs/#installation">Install Guide</a></td> </tr> <tr> <td>Docker</td> <td>≥27.1.1</td> <td>Containerization</td> <td><a href="https://docs.docker.com/engine/install/">Install Guide</a></td> </tr> <tr> <td>AWS CLI</td> <td>≥2.15.42</td> <td>Cloud management</td> <td><a href="https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html">Install Guide</a></td> </tr> <tr> <td>Git</td> <td>≥2.44.0</td> <td>Version control</td> <td><a href="https://git-scm.com/downloads">Download</a></td> </tr> </tbody> </table> <h3>Cloud services</h3> <p>The code also uses and depends on the following cloud services. For now, you don't have to do anything. We will guide you in the installation and deployment sections on how to use them:</p> <table> <thead> <tr> <th>Service</th> <th>Purpose</th> </tr> </thead> <tbody> <tr> <td><a href="https://huggingface.com/">HuggingFace</a></td> <td>Model registry</td> </tr> <tr> <td><a href="https://www.comet.com/site/">Comet ML</a></td> <td>Experiment tracker</td> </tr> <tr> <td><a href="https://www.comet.com/site/products/opik/">Opik</a></td> <td>Prompt monitoring</td> </tr> <tr> <td><a href="https://www.zenml.io/">ZenML</a></td> <td>Orchestrator and artifacts layer</td> </tr> <tr> <td><a href="https://aws.amazon.com/">AWS</a></td> <td>Compute and storage</td> </tr> <tr> <td><a href="https://www.mongodb.com/">MongoDB</a></td> <td>NoSQL database</td> </tr> <tr> <td><a href="https://qdrant.tech/">Qdrant</a></td> <td>Vector database</td> </tr> <tr> <td><a href="https://github.com/features/actions">GitHub Actions</a></td> <td>CI/CD pipeline</td> </tr> </tbody> </table> <p>In the <a href="https://www.amazon.com/LLM-Engineers-Handbook-engineering-production/dp/1836200072/">LLM Engineer's Handbook</a>, Chapter 2 will walk you through each tool. Chapters 10 and 11 provide step-by-step guides on how to set up everything you need.</p> <h2>🗂️ Project Structure</h2> <p>Here is the directory overview:</p> <pre><code class="language-bash">. ├── code_snippets/ # Standalone example code ├── configs/ # Pipeline configuration files ├── llm_engineering/ # Core project package │ ├── application/ │ ├── domain/ │ ├── infrastructure/ │ ├── model/ ├── pipelines/ # ML pipeline definitions ├── steps/ # Pipeline components ├── tests/ # Test examples ├── tools/ # Utility scripts │ ├── run.py │ ├── ml_service.py │ ├── rag.py │ ├── data_warehouse.py </code></pre> <p><code>llm_engineering/</code> is the main Python package implementing LLM and RAG functionality. It follows Domain-Driven Design (DDD) principles:</p> <ul> <li><code>domain/</code>: Core business entities and structures</li> <li><code>application/</code>: Business logic, crawlers, and RAG implementation</li> <li><code>model/</code>: LLM training and inference</li> <li><code>infrastructure/</code>: External service integrations (AWS, Qdrant, MongoDB, FastAPI)</li> </ul> <p>The code logic and imports flow as follows: <code>infrastructure</code> → <code>model</code> → <code>application</code> → <code>domain</code></p> <p><code>pipelines/</code>: Contains the ZenML ML pipelines, which serve as the entry point for all the ML pipelines. Coordinates the data processing and model training stages of the ML lifecycle.</p> <p><code>steps/</code>: Contains individual ZenML steps, which are reusable components for building and customizing ZenML pipelines. Steps perform specific tasks (e.g., data loading, preprocessing) and can be combined within the ML pipelines.</p> <p><code>tests/</code>: Covers a few sample tests used as examples within the CI pipeline.</p> <p><code>tools/</code>: Utility scripts used to call the ZenML pipelines and inference code:</p> <ul> <li><code>run.py</code>: Entry point script to run ZenML pipelines.</li> <li><code>ml_service.py</code>: Starts the REST API inference server.</li> <li><code>rag.py</code>: Demonstrates usage of the RAG retrieval module.</li> <li><code>data_warehouse.py</code>: Used to export or import data from the MongoDB data warehouse through JSON files.</li> </ul> <p><code>configs/</code>: ZenML YAML configuration files to control the execution of pipelines and steps.</p> <p><code>code_snippets/</code>: Independent code examples that can be executed independently.</p> <h2>💻 Installation</h2> <h3>1. Clone the Repository</h3> <p>Start by cloning the repository and navigating to the project directory:</p> <pre><code class="language-bash">git clone https://github.com/PacktPublishing/LLM-Engineers-Handbook.git cd LLM-Engineers-Handbook </code></pre> <p>Next, we have to prepare your Python environment and its adjacent dependencies.</p> <h3>2. Set Up Python Environment</h3> <p>The project requires Python 3.11. You can either use your global Python installation or set up a project-specific version using pyenv.</p> <h4>Option A: Using Global Python (if version 3.11 is installed)</h4> <p>Verify your Python version:</p> <pre><code class="language-bash">python --version # Should show Python 3.11.x </code></pre> <h4>Option B: Using pyenv (recommended)</h4> <ol> <li>Verify pyenv installation:</li> </ol> <pre><code class="language-bash">pyenv --version # Should show pyenv 2.3.36 or later </code></pre> <ol start="2"> <li>Install Python 3.11.8:</li> </ol> <pre><code class="language-bash">pyenv install 3.11.8 </code></pre> <ol start="3"> <li>Verify the installation:</li> </ol> <pre><code class="language-bash">python --version # Should show Python 3.11.8 </code></pre> <ol start="4"> <li>Confirm Python version in the project directory:</li> </ol> <pre><code class="language-bash">python --version # Output: Python 3.11.8 </code></pre> <blockquote> <p>[!NOTE]<br> The project includes a <code>.python-version</code> file that automatically sets the correct Python version when you're in the project directory.</p> </blockquote> <h3>3. Install Dependencies</h3> <p>The project uses Poetry for dependency management.</p> <ol> <li>Verify Poetry installation:</li> </ol> <pre><code class="language-bash">poetry --version # Should show Poetry version 1.8.3 or later </code></pre> <ol start="2"> <li>Set up the project environment and install dependencies:</li> </ol> <pre><code class="language-bash">poetry env use 3.11 poetry install --without aws poetry run pre-commit install </code></pre> <p>This will:</p> <ul> <li>Configure Poetry to use Python 3.11</li> <li>Install project dependencies (excluding AWS-specific packages)</li> <li>Set up pre-commit hooks for code verification</li> </ul> <h3>4. Activate the Environment</h3> <p>As our task manager, we run all the scripts using <a href="https://poethepoet.natn.io/index.html">Poe the Poet</a>.</p> <ol> <li>Start a Poetry shell:</li> </ol> <pre><code class="language-bash">poetry shell </code></pre> <ol start="2"> <li>Run project commands using Poe the Poet:</li> </ol> <pre><code class="language-bash">poetry poe ... </code></pre> <details> <summary>🔧 Troubleshooting Poe the Poet Installation</summary> <h3>Alternative Command Execution</h3> <p>If you're experiencing issues with <code>poethepoet</code>, you can still run the project commands directly through Poetry. Here's how:</p> <ol> <li>Look up the command definition in <code>pyproject.toml</code></li> <li>Use <code>poetry run</code> with the underlying command</li> </ol> <h4>Example:</h4> <p>Instead of:</p> <pre><code class="language-bash">poetry poe local-infrastructure-up </code></pre> <p>Use the direct command from pyproject.toml:</p> <pre><code class="language-bash">poetry run &lt;actual-command-from-pyproject-toml&gt; </code></pre> <p>Note: All project commands are defined in the [tool.poe.tasks] section of pyproject.toml</p> </details> <p>Now, let's configure our local project with all the necessary credentials and tokens to run the code locally.</p> <h3>5. Local Development Setup</h3> <p>After you have installed all the dependencies, you must create and fill a&nbsp;<code>.env</code> file with your credentials to appropriately interact with other services and run the project. Setting your sensitive credentials in a <code>.env</code> file is a good security practice, as this file won't be committed to GitHub or shared with anyone else.</p> <ol> <li>First, copy our example by running the following:</li> </ol> <pre><code class="language-bash">cp .env.example .env # The file must be at your repository's root! </code></pre> <ol start="2"> <li>Now, let's understand how to fill in all the essential variables within the <code>.env</code> file to get you started. The following are the mandatory settings we must complete when working locally:</li> </ol> <h4>OpenAI</h4> <p>To authenticate to OpenAI's API, you must fill out the <code>OPENAI_API_KEY</code> env var with an authentication token.</p> <pre><code class="language-env">OPENAI_API_KEY=your_api_key_here </code></pre> <p>→ Check out this <a href="https://platform.openai.com/docs/quickstart">tutorial</a> to learn how to provide one from OpenAI.</p> <h4>Hugging Face</h4> <p>To authenticate to Hugging Face, you must fill out the <code>HUGGINGFACE_ACCESS_TOKEN</code> env var with an authentication token.</p> <pre><code class="language-env">HUGGINGFACE_ACCESS_TOKEN=your_token_here </code></pre> <p>→ Check out this <a href="https://huggingface.co/docs/hub/en/security-tokens">tutorial</a> to learn how to provide one from Hugging Face.</p> <h4>Comet ML &amp; Opik</h4> <p>To authenticate to Comet ML (required only during training) and Opik, you must fill out the <code>COMET_API_KEY</code> env var with your authentication token.</p> <pre><code class="language-env">COMET_API_KEY=your_api_key_here </code></pre> <p>→ Check out this <a href="https://www.comet.com/docs/v2/api-and-sdk/rest-api/overview/">tutorial</a> to learn how to get the Comet ML variables from above. You can also access Opik's dashboard using 🔗<a href="https://www.comet.com/opik">this link</a>.</p> <h3>6. Deployment Setup</h3> <p>When deploying the project to the cloud, we must set additional settings for Mongo, Qdrant, and AWS. If you are just working locally, the default values of these env vars will work out of the box. Detailed deployment instructions are available in Chapter 11 of the <a href="https://www.amazon.com/LLM-Engineers-Handbook-engineering-production/dp/1836200072/">LLM Engineer's Handbook</a>.</p> <h4>MongoDB</h4> <p>We must change the <code>DATABASE_HOST</code> env var with the URL pointing to your cloud MongoDB cluster.</p> <pre><code class="language-env">DATABASE_HOST=your_mongodb_url </code></pre> <p>→ Check out this <a href="https://www.mongodb.com/resources/products/fundamentals/mongodb-cluster-setup">tutorial</a> to learn how to create and host a MongoDB cluster for free.</p> <h4>Qdrant</h4> <p>Change <code>USE_QDRANT_CLOUD</code> to <code>true</code>, <code>QDRANT_CLOUD_URL</code> with the URL point to your cloud Qdrant cluster, and <code>QDRANT_APIKEY</code> with its API key.</p> <pre><code class="language-env">USE_QDRANT_CLOUD=true QDRANT_CLOUD_URL=your_qdrant_cloud_url QDRANT_APIKEY=your_qdrant_api_key </code></pre> <p>→ Check out this <a href="https://qdrant.tech/documentation/cloud/create-cluster/">tutorial</a> to learn how to create a Qdrant cluster for free</p> <h4>AWS</h4> <p>For your AWS set-up to work correctly, you need the AWS CLI installed on your local machine and properly configured with an admin user (or a user with enough permissions to create new SageMaker, ECR, and S3 resources; using an admin user will make everything more straightforward).</p> <p>Chapter 2 provides step-by-step instructions on how to install the AWS CLI, create an admin user on AWS, and get an access key to set up the <code>AWS_ACCESS_KEY</code> and <code>AWS_SECRET_KEY</code> environment variables. If you already have an AWS admin user in place, you have to configure the following env vars in your <code>.env</code> file:</p> <pre><code class="language-bash">AWS_REGION=eu-central-1 # Change it with your AWS region. AWS_ACCESS_KEY=your_aws_access_key AWS_SECRET_KEY=your_aws_secret_key </code></pre> <p>AWS credentials are typically stored in <code>~/.aws/credentials</code>. You can view this file directly using <code>cat</code> or similar commands:</p> <pre><code class="language-bash">cat ~/.aws/credentials </code></pre> <blockquote> <p>[!IMPORTANT] Additional configuration options are available in <a href="https://github.com/PacktPublishing/LLM-Engineers-Handbook/raw/main/llm_engineering/settings.py">settings.py</a>. Any variable in the <code>Settings</code> class can be configured through the <code>.env</code> file.</p> </blockquote> <h2>🏗️ Infrastructure</h2> <h3>Local infrastructure (for testing and development)</h3> <p>When running the project locally, we host a MongoDB and Qdrant database using Docker. Also, a testing ZenML server is made available through their Python package.</p> <blockquote> <p>[!WARNING] You need Docker installed (&gt;= v27.1.1)</p> </blockquote> <p>For ease of use, you can start the whole local development infrastructure with the following command:</p> <pre><code class="language-bash">poetry poe local-infrastructure-up </code></pre> <p>Also, you can stop the ZenML server and all the Docker containers using the following command:</p> <pre><code class="language-bash">poetry poe local-infrastructure-down </code></pre> <blockquote> <p>[!WARNING]<br> When running on MacOS, before starting the server, export the following environment variable: <code>export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES</code> Otherwise, the connection between the local server and pipeline will break. 🔗 More details in <a href="https://github.com/zenml-io/zenml/issues/2369">this issue</a>. This is done by default when using Poe the Poet.</p> </blockquote> <p>Start the inference real-time RESTful API:</p> <pre><code class="language-bash">poetry poe run-inference-ml-service </code></pre> <blockquote> <p>[!IMPORTANT] The LLM microservice, called by the RESTful API, will work only after deploying the LLM to AWS SageMaker.</p> </blockquote> <h4>ZenML</h4> <p>Dashboard URL: <code>localhost:8237</code></p> <p>Default credentials:</p> <ul> <li><code>username</code>: default</li> <li><code>password</code>:</li> </ul> <p>→ Find out more about using and setting up <a href="https://docs.zenml.io/">ZenML</a>.</p> <h4>Qdrant</h4> <p>REST API URL: <code>localhost:6333</code></p> <p>Dashboard URL: <code>localhost:6333/dashboard</code></p> <p>→ Find out more about using and setting up <a href="https://qdrant.tech/documentation/quick-start/">Qdrant with Docker</a>.</p> <h4>MongoDB</h4> <p>Database URI: <code>mongodb://llm_engineering:llm_engineering@127.0.0.1:27017</code></p> <p>Database name: <code>twin</code></p> <p>Default credentials:</p> <ul> <li><code>username</code>: llm_engineering</li> <li><code>password</code>: llm_engineering</li> </ul> <p>→ Find out more about using and setting up <a href="https://www.mongodb.com/docs/manual/tutorial/install-mongodb-community-with-docker">MongoDB with Docker</a>.</p> <p>You can search your MongoDB collections using your <strong>IDEs MongoDB plugin</strong> (which you have to install separately), where you have to use the database URI to connect to the MongoDB database hosted within the Docker container: <code>mongodb://llm_engineering:llm_engineering@127.0.0.1:27017</code></p> <blockquote> <p>[!IMPORTANT] Everything related to training or running the LLMs (e.g., training, evaluation, inference) can only be run if you set up AWS SageMaker, as explained in the next section on cloud infrastructure.</p> </blockquote> <h3>Cloud infrastructure (for production)</h3> <p>Here we will quickly present how to deploy the project to AWS and other serverless services. We won't go into the details (as everything is presented in the book) but only point out the main steps you have to go through.</p> <p>First, reinstall your Python dependencies with the AWS group:</p> <pre><code class="language-bash">poetry install --with aws </code></pre> <h4>AWS SageMaker</h4> <blockquote> <p>[!NOTE] Chapter 10 provides step-by-step instructions in the section "Implementing the LLM microservice using AWS SageMaker".</p> </blockquote> <p>By this point, we expect you to have AWS CLI installed and your AWS CLI and project's env vars (within the <code>.env</code> file) properly configured with an AWS admin user.</p> <p>To ensure best practices, we must create a new AWS user restricted to creating and deleting only resources related to AWS SageMaker. Create it by running:</p> <pre><code class="language-bash">poetry poe create-sagemaker-role </code></pre> <p>It will create a <code>sagemaker_user_credentials.json</code> file at the root of your repository with your new <code>AWS_ACCESS_KEY</code> and <code>AWS_SECRET_KEY</code> values. <strong>But before replacing your new AWS credentials, also run the following command to create the execution role (to create it using your admin credentials).</strong></p> <p>To create the IAM execution role used by AWS SageMaker to access other AWS resources on our behalf, run the following:</p> <pre><code class="language-bash">poetry poe create-sagemaker-execution-role </code></pre> <p>It will create a <code>sagemaker_execution_role.json</code> file at the root of your repository with your new <code>AWS_ARN_ROLE</code> value. Add it to your <code>.env</code> file.</p> <p>Once you've updated the <code>AWS_ACCESS_KEY</code>, <code>AWS_SECRET_KEY</code>, and <code>AWS_ARN_ROLE</code> values in your <code>.env</code> file, you can use AWS SageMaker. <strong>Note that this step is crucial to complete the AWS setup.</strong></p> <h4>Training</h4> <p>We start the training pipeline through ZenML by running the following:</p> <pre><code class="language-bash">poetry poe run-training-pipeline </code></pre> <p>This will start the training code using the configs from <code>configs/training.yaml</code> directly in SageMaker. You can visualize the results in Comet ML's dashboard.</p> <p>We start the evaluation pipeline through ZenML by running the following:</p> <pre><code class="language-bash">poetry poe run-evaluation-pipeline </code></pre> <p>This will start the evaluation code using the configs from <code>configs/evaluating.yaml</code> directly in SageMaker. You can visualize the results in <code>*-results</code> datasets saved to your Hugging Face profile.</p> <h4>Inference</h4> <p>To create an AWS SageMaker Inference Endpoint, run:</p> <pre><code class="language-bash">poetry poe deploy-inference-endpoint </code></pre> <p>To test it out, run:</p> <pre><code class="language-bash">poetry poe test-sagemaker-endpoint </code></pre> <p>To delete it, run:</p> <pre><code class="language-bash">poetry poe delete-inference-endpoint </code></pre> <h4>AWS: ML pipelines, artifacts, and containers</h4> <p>The ML pipelines, artifacts, and containers are deployed to AWS by leveraging ZenML's deployment features. Thus, you must create an account with ZenML Cloud and follow their guide on deploying a ZenML stack to AWS. Otherwise, we provide step-by-step instructions in <strong>Chapter 11</strong>, section <strong>Deploying the LLM Twin's pipelines to the cloud</strong> on what you must do.</p> <h4>Qdrant &amp; MongoDB</h4> <p>We leverage Qdrant's and MongoDB's serverless options when deploying the project. Thus, you can either follow <a href="https://qdrant.tech/documentation/cloud/create-cluster/">Qdrant's</a> and <a href="https://www.mongodb.com/resources/products/fundamentals/mongodb-cluster-setup">MongoDB's</a> tutorials on how to create a freemium cluster for each or go through <strong>Chapter 11</strong>, section <strong>Deploying the LLM Twin's pipelines to the cloud</strong> and follow our step-by-step instructions.</p> <h4>GitHub Actions</h4> <p>We use GitHub Actions to implement our CI/CD pipelines. To implement your own, you have to fork our repository and set the following env vars as Actions secrets in your forked repository:</p> <ul> <li><code>AWS_ACCESS_KEY_ID</code></li> <li><code>AWS_SECRET_ACCESS_KEY</code></li> <li><code>AWS_ECR_NAME</code></li> <li><code>AWS_REGION</code></li> </ul> <p>Also, we provide instructions on how to set everything up in <strong>Chapter 11</strong>, section <strong>Adding LLMOps to the LLM Twin</strong>.</p> <h4>Comet ML &amp; Opik</h4> <p>You can visualize the results on their self-hosted dashboards if you create a Comet account and correctly set the <code>COMET_API_KEY</code> env var. As Opik is powered by Comet, you don't have to set up anything else along Comet:</p> <ul> <li><a href="https://www.comet.com/">Comet ML (for experiment tracking)</a></li> <li><a href="https://www.comet.com/opik">Opik (for prompt monitoring)</a></li> </ul> <h2>⚡ Pipelines</h2> <p>All the ML pipelines will be orchestrated behind the scenes by <a href="https://www.zenml.io/">ZenML</a>. A few exceptions exist when running utility scrips, such as exporting or importing from the data warehouse.</p> <p>The ZenML pipelines are the entry point for most processes throughout this project. They are under the <code>pipelines/</code> folder. Thus, when you want to understand or debug a workflow, starting with the ZenML pipeline is the best approach.</p> <p>To see the pipelines running and their results:</p> <ul> <li>go to your ZenML dashboard</li> <li>go to the <code>Pipelines</code> section</li> <li>click on a specific pipeline (e.g., <code>feature_engineering</code>)</li> <li>click on a specific run (e.g., <code>feature_engineering_run_2024_06_20_18_40_24</code>)</li> <li>click on a specific step or artifact of the DAG to find more details about it</li> </ul> <p>Now, let's explore all the pipelines you can run. From data collection to training, we will present them in their natural order to go through the LLM project end-to-end.</p> <h3>Data pipelines</h3> <p>Run the data collection ETL:</p> <pre><code class="language-bash">poetry poe run-digital-data-etl </code></pre> <blockquote> <p>[!WARNING] You must have Chrome (or another Chromium-based browser) installed on your system for LinkedIn and Medium crawlers to work (which use Selenium under the hood). Based on your Chrome version, the Chromedriver will be automatically installed to enable Selenium support. Another option is to run everything using our Docker image if you don't want to install Chrome. For example, to run all the pipelines combined you can run <code>poetry poe run-docker-end-to-end-data-pipeline</code>. Note that the command can be tweaked to support any other pipeline.</p> <p>If, for any other reason, you don't have a Chromium-based browser installed and don't want to use Docker, you have two other options to bypass this Selenium issue:</p> <ul> <li>Comment out all the code related to Selenium, Chrome and all the links that use Selenium to crawl them (e.g., Medium), such as the <code>chromedriver_autoinstaller.install()</code> command from <a href="https://github.com/PacktPublishing/LLM-Engineers-Handbook/raw/main/llm_engineering/application/crawlers/base.py">application.crawlers.base</a> and other static calls that check for Chrome drivers and Selenium.</li> <li>Install Google Chrome using your CLI in environments such as GitHub Codespaces or other cloud VMs using the same command as in our <a href="https://github.com/PacktPublishing/LLM-Engineers-Handbook/raw/main/Dockerfile#L10">Docker file</a>.</li> </ul> </blockquote> <p>To add additional links to collect from, go to <code>configs/digital_data_etl_[author_name].yaml</code> and add them to the <code>links</code> field. Also, you can create a completely new file and specify it at run time, like this: <code>python -m llm_engineering.interfaces.orchestrator.run --run-etl --etl-config-filename configs/digital_data_etl_[your_name].yaml</code></p> <p>Run the feature engineering pipeline:</p> <pre><code class="language-bash">poetry poe run-feature-engineering-pipeline </code></pre> <p>Generate the instruct dataset:</p> <pre><code class="language-bash">poetry poe run-generate-instruct-datasets-pipeline </code></pre> <p>Generate the preference dataset:</p> <pre><code class="language-bash">poetry poe run-generate-preference-datasets-pipeline </code></pre> <p>Run all of the above compressed into a single pipeline:</p> <pre><code class="language-bash">poetry poe run-end-to-end-data-pipeline </code></pre> <h3>Utility pipelines</h3> <p>Export the data from the data warehouse to JSON files:</p> <pre><code class="language-bash">poetry poe run-export-data-warehouse-to-json </code></pre> <p>Import data to the data warehouse from JSON files (by default, it imports the data from the <code>data/data_warehouse_raw_data</code> directory):</p> <pre><code class="language-bash">poetry poe run-import-data-warehouse-from-json </code></pre> <p>Export ZenML artifacts to JSON:</p> <pre><code class="language-bash">poetry poe run-export-artifact-to-json-pipeline </code></pre> <p>This will export the following ZenML artifacts to the <code>output</code> folder as JSON files (it will take their latest version):</p> <ul> <li>cleaned_documents.json</li> <li>instruct_datasets.json</li> <li>preference_datasets.json</li> <li>raw_documents.json</li> </ul> <p>You can configure what artifacts to export by tweaking the <code>configs/export_artifact_to_json.yaml</code> configuration file.</p> <h3>Training pipelines</h3> <p>Run the training pipeline:</p> <pre><code class="language-bash">poetry poe run-training-pipeline </code></pre> <p>Run the evaluation pipeline:</p> <pre><code class="language-bash">poetry poe run-evaluation-pipeline </code></pre> <blockquote> <p>[!WARNING] For this to work, make sure you properly configured AWS SageMaker as described in <a href="https://raw.githubusercontent.com/PacktPublishing/LLM-Engineers-Handbook/main/#set-up-cloud-infrastructure-for-production">Set up cloud infrastructure (for production)</a>.</p> </blockquote> <h3>Inference pipelines</h3> <p>Call the RAG retrieval module with a test query:</p> <pre><code class="language-bash">poetry poe call-rag-retrieval-module </code></pre> <p>Start the inference real-time RESTful API:</p> <pre><code class="language-bash">poetry poe run-inference-ml-service </code></pre> <p>Call the inference real-time RESTful API with a test query:</p> <pre><code class="language-bash">poetry poe call-inference-ml-service </code></pre> <p>Remember that you can monitor the prompt traces on <a href="https://www.comet.com/opik">Opik</a>.</p> <blockquote> <p>[!WARNING] For the inference service to work, you must have the LLM microservice deployed to AWS SageMaker, as explained in the setup cloud infrastructure section.</p> </blockquote> <h3>Linting &amp; formatting (QA)</h3> <p>Check or fix your linting issues:</p> <pre><code class="language-bash">poetry poe lint-check poetry poe lint-fix </code></pre> <p>Check or fix your formatting issues:</p> <pre><code class="language-bash">poetry poe format-check poetry poe format-fix </code></pre> <p>Check the code for leaked credentials:</p> <pre><code class="language-bash">poetry poe gitleaks-check </code></pre> <h3>Tests</h3> <p>Run all the tests using the following command:</p> <pre><code class="language-bash">poetry poe test </code></pre> <h2>🏃 Run project</h2> <p>Based on the setup and usage steps described above, assuming the local and cloud infrastructure works and the <code>.env</code> is filled as expected, follow the next steps to run the LLM system end-to-end:</p> <h3>Data</h3> <ol> <li> <p>Collect data: <code>poetry poe run-digital-data-etl</code></p> </li> <li> <p>Compute features: <code>poetry poe run-feature-engineering-pipeline</code></p> </li> <li> <p>Compute instruct dataset: <code>poetry poe run-generate-instruct-datasets-pipeline</code></p> </li> <li> <p>Compute preference alignment dataset: <code>poetry poe run-generate-preference-datasets-pipeline</code></p> </li> </ol> <h3>Training</h3> <blockquote> <p>[!IMPORTANT] From now on, for these steps to work, you need to properly set up AWS SageMaker, such as running <code>poetry install --with aws</code> and filling in the AWS-related environment variables and configs.</p> </blockquote> <ol start="5"> <li> <p>SFT fine-tuning Llamma 3.1: <code>poetry poe run-training-pipeline</code></p> </li> <li> <p>For DPO, go to <code>configs/training.yaml</code>, change <code>finetuning_type</code> to <code>dpo</code>, and run <code>poetry poe run-training-pipeline</code> again</p> </li> <li> <p>Evaluate fine-tuned models: <code>poetry poe run-evaluation-pipeline</code></p> </li> </ol> <h3>Inference</h3> <blockquote> <p>[!IMPORTANT] From now on, for these steps to work, you need to properly set up AWS SageMaker, such as running <code>poetry install --with aws</code> and filling in the AWS-related environment variables and configs.</p> </blockquote> <ol start="8"> <li> <p>Call only the RAG retrieval module: <code>poetry poe call-rag-retrieval-module</code></p> </li> <li> <p>Deploy the LLM Twin microservice to SageMaker: <code>poetry poe deploy-inference-endpoint</code></p> </li> <li> <p>Test the LLM Twin microservice: <code>poetry poe test-sagemaker-endpoint</code></p> </li> <li> <p>Start end-to-end RAG server: <code>poetry poe run-inference-ml-service</code></p> </li> <li> <p>Test RAG server: <code>poetry poe call-inference-ml-service</code></p> </li> </ol> <h2>📄 License</h2> <p>This course is an open-source project released under the MIT license. Thus, as long you distribute our LICENSE and acknowledge our work, you can safely clone or fork this project and use it as a source of inspiration for whatever you want (e.g., university projects, college degree projects, personal projects, etc.).</p> - \ No newline at end of file diff --git a/q%23/daily/index.xml b/q%23/daily/index.xml index 147d36c9570..32071fa065e 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 - 2024-11-20T01:34:41Z + 2024-11-21T01:36:54Z Daily Trending of Q# in GitHub \ No newline at end of file diff --git a/q/daily/index.xml b/q/daily/index.xml index 1ae6625ca08..98582335452 100644 --- a/q/daily/index.xml +++ b/q/daily/index.xml @@ -1,7 +1,7 @@ GitHub q Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:34:33Z + 2024-11-21T01:36:50Z Daily Trending of q in GitHub \ No newline at end of file diff --git a/qmake/daily/index.xml b/qmake/daily/index.xml index 1df9548dd62..5f063af4257 100644 --- a/qmake/daily/index.xml +++ b/qmake/daily/index.xml @@ -1,7 +1,7 @@ GitHub QMake Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:34:42Z + 2024-11-21T01:36:55Z Daily Trending of QMake in GitHub \ No newline at end of file diff --git a/qml/daily/index.xml b/qml/daily/index.xml index e6416bb4ecb..32a3774329a 100644 --- a/qml/daily/index.xml +++ b/qml/daily/index.xml @@ -1,7 +1,7 @@ GitHub QML Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:34:42Z + 2024-11-21T01:36:55Z Daily Trending of QML in GitHub \ No newline at end of file diff --git a/qt-script/daily/index.xml b/qt-script/daily/index.xml index a46747b7946..58e97532dd8 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 - 2024-11-20T01:34:41Z + 2024-11-21T01:36:55Z Daily 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 dcc5db5e560..63f8416bb6a 100644 --- a/quake/daily/index.xml +++ b/quake/daily/index.xml @@ -1,7 +1,7 @@ GitHub Quake Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:34:44Z + 2024-11-21T01:36:56Z Daily Trending of Quake in GitHub \ No newline at end of file diff --git a/r/daily/index.xml b/r/daily/index.xml index af6fb4ec73e..31aa7009599 100644 --- a/r/daily/index.xml +++ b/r/daily/index.xml @@ -1,7 +1,7 @@ GitHub R Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:34:45Z + 2024-11-21T01:36:58Z Daily Trending of R in GitHub \ No newline at end of file diff --git a/racket/daily/index.xml b/racket/daily/index.xml index 831e1a468bc..a6324fed281 100644 --- a/racket/daily/index.xml +++ b/racket/daily/index.xml @@ -1,7 +1,7 @@ GitHub Racket Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:34:43Z + 2024-11-21T01:36:56Z Daily Trending of Racket in GitHub \ No newline at end of file diff --git a/ragel/daily/index.xml b/ragel/daily/index.xml index 730b02534bc..9894214a90b 100644 --- a/ragel/daily/index.xml +++ b/ragel/daily/index.xml @@ -1,7 +1,7 @@ GitHub Ragel Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:34:43Z + 2024-11-21T01:36:57Z Daily Trending of Ragel in GitHub \ No newline at end of file diff --git a/raku/daily/index.xml b/raku/daily/index.xml index d3938c7d71c..923b9df5ddc 100644 --- a/raku/daily/index.xml +++ b/raku/daily/index.xml @@ -1,7 +1,7 @@ GitHub Raku Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:34:47Z + 2024-11-21T01:37:01Z Daily Trending of Raku in GitHub \ No newline at end of file diff --git a/raml/daily/index.xml b/raml/daily/index.xml index 5254a490d98..3384d153130 100644 --- a/raml/daily/index.xml +++ b/raml/daily/index.xml @@ -1,7 +1,7 @@ GitHub RAML Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:34:47Z + 2024-11-21T01:37:00Z Daily Trending of RAML in GitHub \ No newline at end of file diff --git a/rascal/daily/index.xml b/rascal/daily/index.xml index 21160dd0f4d..d538bd8f763 100644 --- a/rascal/daily/index.xml +++ b/rascal/daily/index.xml @@ -1,7 +1,7 @@ GitHub Rascal Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:34:48Z + 2024-11-21T01:37:00Z Daily 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 ca337d6dfa3..851523f59f4 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 - 2024-11-20T01:34:47Z + 2024-11-21T01:37:00Z Daily 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 9d0b6f213a2..bb2d78d7f85 100644 --- a/rdoc/daily/index.xml +++ b/rdoc/daily/index.xml @@ -1,7 +1,7 @@ GitHub RDoc Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:34:49Z + 2024-11-21T01:37:02Z Daily 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 d0ef533c078..bb43e1bd7dc 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 - 2024-11-20T01:34:48Z + 2024-11-21T01:37:02Z Daily 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 7986ccdeb0f..956785af307 100644 --- a/realbasic/daily/index.xml +++ b/realbasic/daily/index.xml @@ -1,7 +1,7 @@ GitHub REALbasic Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:34:49Z + 2024-11-21T01:37:01Z Daily Trending of REALbasic in GitHub \ No newline at end of file diff --git a/reason/daily/index.xml b/reason/daily/index.xml index 20cda1e6bb4..ae2c290af3a 100644 --- a/reason/daily/index.xml +++ b/reason/daily/index.xml @@ -1,7 +1,7 @@ GitHub Reason Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:34:50Z + 2024-11-21T01:37:03Z Daily Trending of Reason in GitHub \ No newline at end of file diff --git a/rebol/daily/index.xml b/rebol/daily/index.xml index 9a0cc812151..2d1ac947d69 100644 --- a/rebol/daily/index.xml +++ b/rebol/daily/index.xml @@ -1,7 +1,7 @@ GitHub Rebol Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:34:51Z + 2024-11-21T01:37:03Z Daily 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 4b318d2f553..b6d397ef6fd 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 - 2024-11-20T01:34:51Z + 2024-11-21T01:37:04Z Daily 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 19b15a29ceb..c7c8ed4955f 100644 --- a/red/daily/index.xml +++ b/red/daily/index.xml @@ -1,7 +1,7 @@ GitHub Red Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:34:52Z + 2024-11-21T01:37:05Z Daily Trending of Red in GitHub \ No newline at end of file diff --git a/redcode/daily/index.xml b/redcode/daily/index.xml index 3d79869647d..33b13da6490 100644 --- a/redcode/daily/index.xml +++ b/redcode/daily/index.xml @@ -1,7 +1,7 @@ GitHub Redcode Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:34:52Z + 2024-11-21T01:37:05Z Daily 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 01267174a6a..b6fb0b92d4d 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 - 2024-11-20T01:34:52Z + 2024-11-21T01:37:05Z Daily 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 d2fa0829066..089fa84645d 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 - 2024-11-20T01:34:53Z + 2024-11-21T01:37:05Z Daily 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 bb0c89399d8..4674c49e3c1 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 - 2024-11-20T01:34:55Z + 2024-11-21T01:37:07Z Daily 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 8fba1b8aa9c..b86a50870d8 100644 --- a/renderscript/daily/index.xml +++ b/renderscript/daily/index.xml @@ -1,7 +1,7 @@ GitHub RenderScript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:34:53Z + 2024-11-21T01:37:06Z Daily Trending of RenderScript in GitHub \ No newline at end of file diff --git a/rescript/daily/index.xml b/rescript/daily/index.xml index 6a96a227040..fd8541fb010 100644 --- a/rescript/daily/index.xml +++ b/rescript/daily/index.xml @@ -1,7 +1,7 @@ GitHub ReScript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:34:54Z + 2024-11-21T01:37:07Z Daily Trending of ReScript in GitHub \ No newline at end of file diff --git a/restructuredtext/daily/index.xml b/restructuredtext/daily/index.xml index 2d430df6930..2879e3c1877 100644 --- a/restructuredtext/daily/index.xml +++ b/restructuredtext/daily/index.xml @@ -1,7 +1,7 @@ GitHub reStructuredText Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:34:54Z + 2024-11-21T01:37:07Z Daily Trending of reStructuredText in GitHub \ No newline at end of file diff --git a/rexx/daily/index.xml b/rexx/daily/index.xml index 92addc894d0..3ad67a04caa 100644 --- a/rexx/daily/index.xml +++ b/rexx/daily/index.xml @@ -1,7 +1,7 @@ GitHub REXX Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:34:55Z + 2024-11-21T01:37:08Z Daily 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 f2606944783..5a43972613e 100644 --- a/rich-text-format/daily/index.xml +++ b/rich-text-format/daily/index.xml @@ -1,7 +1,7 @@ GitHub Rich Text Format Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:34:57Z + 2024-11-21T01:37:09Z Daily 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 6b16ee9a227..60ea679cf56 100644 --- a/ring/daily/index.xml +++ b/ring/daily/index.xml @@ -1,7 +1,7 @@ GitHub Ring Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:34:56Z + 2024-11-21T01:37:09Z Daily Trending of Ring in GitHub \ No newline at end of file diff --git a/riot/daily/index.xml b/riot/daily/index.xml index 427abe9bb49..92a693f1e7b 100644 --- a/riot/daily/index.xml +++ b/riot/daily/index.xml @@ -1,7 +1,7 @@ GitHub Riot Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:34:58Z + 2024-11-21T01:37:11Z Daily Trending of Riot in GitHub \ No newline at end of file diff --git a/rmarkdown/daily/index.xml b/rmarkdown/daily/index.xml index bf7e366095e..5277d58c4f4 100644 --- a/rmarkdown/daily/index.xml +++ b/rmarkdown/daily/index.xml @@ -1,7 +1,7 @@ GitHub RMarkdown Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:34:57Z + 2024-11-21T01:37:10Z Daily Trending of RMarkdown in GitHub \ No newline at end of file diff --git a/robotframework/daily/index.xml b/robotframework/daily/index.xml index 31ba66aa42e..33f2654fcd4 100644 --- a/robotframework/daily/index.xml +++ b/robotframework/daily/index.xml @@ -1,7 +1,7 @@ GitHub RobotFramework Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:34:58Z + 2024-11-21T01:37:10Z Daily 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 6839af4489b..f74c168e88a 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 - 2024-11-20T01:34:59Z + 2024-11-21T01:37:10Z Daily 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 3104d92486b..09d0161e49d 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 - 2024-11-20T01:35:00Z + 2024-11-21T01:37:12Z Daily 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 8ba1b43253e..c0b238d50a5 100644 --- a/roff/daily/index.xml +++ b/roff/daily/index.xml @@ -1,7 +1,14 @@ GitHub Roff Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:35:00Z + 2024-11-21T01:37:12Z Daily Trending of Roff in GitHub + + slimm609/checksec + 2024-11-21T01:37:12Z + tag:github.com,2024-11-21:/slimm609/checksec + + <p>Checksec</p><hr> + \ No newline at end of file diff --git a/rouge/daily/index.xml b/rouge/daily/index.xml index 7f6636a6ba2..6c88e5889d9 100644 --- a/rouge/daily/index.xml +++ b/rouge/daily/index.xml @@ -1,7 +1,7 @@ GitHub Rouge Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:35:01Z + 2024-11-21T01:37:13Z Daily Trending of Rouge in GitHub \ No newline at end of file diff --git a/rpc/daily/index.xml b/rpc/daily/index.xml index 64e41e51628..eefafdaf72a 100644 --- a/rpc/daily/index.xml +++ b/rpc/daily/index.xml @@ -1,7 +1,7 @@ GitHub RPC Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:35:02Z + 2024-11-21T01:37:14Z Daily Trending of RPC in GitHub \ No newline at end of file diff --git a/rpgle/daily/index.xml b/rpgle/daily/index.xml index 05599024464..2a6d930b70b 100644 --- a/rpgle/daily/index.xml +++ b/rpgle/daily/index.xml @@ -1,7 +1,7 @@ GitHub RPGLE Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:35:02Z + 2024-11-21T01:37:13Z Daily 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 a427f0149b0..6231552b1e5 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 - 2024-11-20T01:35:03Z + 2024-11-21T01:37:15Z Daily 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 fad101ec373..8e89eb76eda 100644 --- a/ruby/daily/index.xml +++ b/ruby/daily/index.xml @@ -1,7 +1,7 @@ GitHub Ruby Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:35:12Z + 2024-11-21T01:37:20Z Daily Trending of Ruby in GitHub \ No newline at end of file diff --git a/runoff/daily/index.xml b/runoff/daily/index.xml index 28ec9979187..a2439f7a9c8 100644 --- a/runoff/daily/index.xml +++ b/runoff/daily/index.xml @@ -1,7 +1,7 @@ GitHub RUNOFF Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:35:03Z + 2024-11-21T01:37:15Z Daily Trending of RUNOFF in GitHub \ No newline at end of file diff --git a/rust/daily/index.xml b/rust/daily/index.xml index 99662df1fae..eeaf6565bd4 100644 --- a/rust/daily/index.xml +++ b/rust/daily/index.xml @@ -1,14 +1,14 @@ GitHub Rust Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:35:04Z + 2024-11-21T01:37:16Z Daily Trending of Rust in GitHub - rpcpool/yellowstone-grpc - 2024-11-20T01:35:04Z - tag:github.com,2024-11-20:/rpcpool/yellowstone-grpc - - <p>solana geyser grpc service</p><hr><h1>Yellowstone Dragon's Mouth - a Geyser based gRPC interface for Solana</h1> <p>This repo contains a fully functional gRPC interface for Solana. It is built around Solana's Geyser interface. In this repo we have the plugin as well as sample clients for multiple languages.</p> <p>It provides the ability to get slots, blocks, transactions, and account update notifications over a standardised path.</p> <p>For additional documentation, please see: <a href="https://docs.triton.one/rpc-pool/grpc-subscriptions">https://docs.triton.one/rpc-pool/grpc-subscriptions</a></p> <h4>Known bugs</h4> <p>Block reconstruction inside gRPC plugin based on information provided by BlockMeta, unfortunately number of entries for blocks generated on validators always equal to zero. These blocks always will have zero entries. See issue on GitHub: <a href="https://github.com/solana-labs/solana/issues/33823">https://github.com/solana-labs/solana/issues/33823</a></p> <h3>Validator</h3> <pre><code class="language-bash">$ solana-validator --geyser-plugin-config yellowstone-grpc-geyser/config.json </code></pre> <h3>Plugin config check</h3> <pre><code>cargo-fmt &amp;&amp; cargo run --bin config-check -- --config yellowstone-grpc-geyser/config.json </code></pre> <h3>Block reconstruction</h3> <p>Geyser interface on block update do not provide detailed information about transactions and accounts updates. To provide this information with block message we need to collect all messages and expect specified order. By default if we failed to reconstruct full block we log error message and increase <code>invalid_full_blocks_total</code> counter in prometheus metrics. If you want to panic on invalid reconstruction you can change option <code>block_fail_action</code> in config to <code>panic</code> (default value is <code>log</code>).</p> <h3>Filters for streamed data</h3> <p>Please check <a href="https://raw.githubusercontent.com/rpcpool/yellowstone-grpc/master/yellowstone-grpc-proto/proto/geyser.proto">yellowstone-grpc-proto/proto/geyser.proto</a> for details.</p> <ul> <li><code>commitment</code> — commitment level: <code>processed</code> / <code>confirmed</code> / <code>finalized</code></li> <li><code>accounts_data_slice</code> — array of objects <code>{ offset: uint64, length: uint64 }</code>, allow to receive only required data from accounts</li> <li><code>ping</code> — optional boolean field. Some cloud providers (like Cloudflare, Fly.io) close the stream if client doesn't send anything during some time. As workaroud you can send same filter every N seconds, but this would be not optimal since you need to keep this filter. Instead, you can send subscribe request with <code>ping</code> field set to <code>true</code> and ignore rest of the fields in the request. Since we sent <code>Ping</code> message every 15s from the server, you can send subscribe request with <code>ping</code> as reply and receive <code>Pong</code> message.</li> </ul> <h4>Slots</h4> <ul> <li><code>filter_by_commitment</code> — by default slots sent for all commitment levels, but with this filter you can receive only selected commitment level</li> </ul> <h4>Account</h4> <p>Accounts can be filtered by:</p> <ul> <li><code>account</code> — acount Pubkey, match to any Pubkey from the array</li> <li><code>owner</code> — account owner Pubkey, match to any Pubkey from the array</li> <li><code>filters</code> — same as <code>getProgramAccounts</code> filters, array of <code>dataSize</code> or <code>Memcmp</code> (bytes, base58, base64 are supported)</li> </ul> <p>If all fields are empty then all accounts are broadcasted. Otherwise fields works as logical <code>AND</code> and values in arrays as logical <code>OR</code> (except values in <code>filters</code> that works as logical <code>AND</code>).</p> <h4>Transactions</h4> <ul> <li><code>vote</code> — enable/disable broadcast <code>vote</code> transactions</li> <li><code>failed</code> — enable/disable broadcast <code>failed</code> transactions</li> <li><code>signature</code> — match only specified transaction</li> <li><code>account_include</code> — filter transactions that use any account from the list</li> <li><code>account_exclude</code> — opposite to <code>account_include</code></li> <li><code>account_required</code> — require all accounts from the list to be used in transaction</li> </ul> <p>If all fields are empty then all transactions are broadcasted. Otherwise fields works as logical <code>AND</code> and values in arrays as logical <code>OR</code>.</p> <h4>Entries</h4> <p>Currently we do not have filters for the entries, all entries broadcasted.</p> <h4>Blocks</h4> <ul> <li><code>account_include</code> — filter transactions and accounts that use any account from the list</li> <li><code>include_transactions</code> — include all transactions</li> <li><code>include_accounts</code> — include all accounts updates</li> <li><code>include_entries</code> — include all entries</li> </ul> <h4>Blocks meta</h4> <p>Same as <code>Blocks</code> but without <code>transactions</code>, <code>accounts</code> and entries. Currently we do not have filters for block meta, all messages are broadcasted.</p> <h3>Limit filters</h3> <p>It's possible to add limits for filters in the config. If <code>filters</code> field is omitted then filters doesn't have any limits.</p> <pre><code class="language-json">"grpc": { "filters": { "accounts": { "max": 1, "any": false, "account_max": 10, "account_reject": ["TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"], "owner_max": 10, "owner_reject": ["11111111111111111111111111111111"] }, "slots": { "max": 1 }, "transactions": { "max": 1, "any": false, "account_include_max": 10, "account_include_reject": ["TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"], "account_exclude_max": 10, "account_required_max": 10 }, "blocks": { "max": 1, "account_include_max": 10, "account_include_any": false, "account_include_reject": ["TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"], "include_transactions": true, "include_accounts" : false, "include_entries" : false }, "blocks_meta": { "max": 1 }, "entry": { "max": 1 } } } </code></pre> <h3>Unary gRPC methods</h3> <h4>Ping</h4> <h4>GetLatestBlockhash</h4> <h4>GetBlockHeight</h4> <h4>GetSlot</h4> <h4>IsBlockhashValid</h4> <h4>GetVersion</h4> <h3>Examples</h3> <ul> <li><a href="https://raw.githubusercontent.com/rpcpool/yellowstone-grpc/master/examples/golang">Go</a></li> <li><a href="https://raw.githubusercontent.com/rpcpool/yellowstone-grpc/master/examples/rust">Rust</a></li> <li><a href="https://raw.githubusercontent.com/rpcpool/yellowstone-grpc/master/examples/typescript">TypeScript</a></li> </ul> <p><strong>NOTE</strong>: Some load balancers will terminate gRPC connections if there are no messages sent from the client for a period of time. In order to mitigate this you need to send a message periodically. The <code>ping</code> field in the SubscribeRequest is used for this purpose. The gRPC server already sends pings to the client, so you can simply reply with a ping and your connection will remain open. You can see in the rust example how to reply to the ping from the server with the client.</p> <h3>Projects based on Geyser gRPC</h3> <ul> <li><a href="https://github.com/rpcpool/yellowstone-grpc-kafka">https://github.com/rpcpool/yellowstone-grpc-kafka</a> — forward gRPC stream to Kafka, dedup, read stream from Kafka with gRPC server</li> </ul> + trynova/nova + 2024-11-21T01:37:16Z + tag:github.com,2024-11-21:/trynova/nova + + <p>JS engine lolz</p><hr><h1>Nova - Your favorite javascript and wasm engine</h1> <h2><span>⚠</span> This project is a Work In Progress, and is very far from being suitable for use <span>⚠</span></h2> <p>Nova is a <a href="https://tc39.es/ecma262">JavaScript</a> and <a href="https://webassembly.org">WebAssembly</a> engine written in Rust.</p> <p>The engine is exposed as a library with an API for implementation in Rust projects which themselves must serve as a runtime for JavaScript code. The execution model is currently greatly inspired by <a href="https://codeberg.org/kiesel-js/kiesel">Kiesel</a> and <a href="https://github.com/SerenityOS/serenity">SerenityOS's LibJS</a>. See the code for more details.</p> <p>The core of our team is on our <a href="https://discord.gg/bwY4TRB8J7">Discord server</a>.</p> <h2>Talks</h2> <h3><a href="https://www.youtube.com/watch?v=WKGo1k47eYQ">Nova Engine - Building a DOD JS Engine in Rust @ Finland Rust-lang meetup 1/2024</a></h3> <p>Slides: <a href="https://docs.google.com/presentation/d/1PRinuW2Zbw9c-FGArON3YHiCUP22qIeTpYvDRNbP5vc/edit?usp=drive_link">Google Drive</a></p> <p>Presented at the Finland Rust-lang group's January meetup, 2024. Focus on how JavaScript engines work in general, and what sort of design choices Nova makes in this context.</p> <h3><a href="https://www.youtube.com/watch?v=5olgPdqKZ84">Nova JavaScript Engine - Exploring a Data-Oriented Engine Design @ Web Engines Hackfest 2024</a></h3> <p>Slides: <a href="https://docs.google.com/presentation/d/1YlHr67ZYCyMp_6uMMvCWOJNOUhleUtxOPlC0Gz8Bg7o/edit?usp=drive_link">Google Drive</a></p> <p>Presented at the Web Engines Hackfest, 2024. Focus on the details of why a data-oriented engine design is interesting, what sort of benefits it gives and what sort of costs it has. Explores the engine at a slightly deeper level.</p> <p>The talk was revisited at the TC39 June meeting, 2024. No video is available, but the slightly modified slides are.</p> <p>TC39 slides: <a href="https://docs.google.com/presentation/d/1Pv6Yn2sUWFIvlLwX9ViCjuyflsVdpEPQBbVlLJnFubM/edit?usp=drive_link">Google Drive</a></p> <h2><a href="https://raw.githubusercontent.com/trynova/nova/main/ARCHITECTURE.md">Architecture</a></h2> <p>The architecture of the engine follows the ECMAScript specification in spirit, but uses data-oriented design for the actual implementation. Records that are present in the specification are likely present in the Nova engine as well and they're likely found in an "equivalent" file / folder path as the specification defines them in.</p> <p>Where the engine differs from the specification is that most ECMAScript types and specification Record types are defined "twice": They have one "heap data" definition, and another "index" definition. The heap data definition generally corresponds to the specification's definition, in some degree at least. The index definition is either a wrapper around <code>u32</code> or a <code>NonZeroU32</code>. Most spec defined methods are defined on the index definitions (this avoids issues with borrowing).</p> <p>The only case when direct "Record type A contains Record type B" ownership is used is when there can be only one referrer to the Record type B.</p> <h3>Heap structure - Data-oriented design</h3> <p>Reading the above, you might be wondering why the double-definitions and all that. The ultimate reason is two-fold:</p> <ol> <li>It is an interesting design.</li> <li>It helps the computer make frequently used things fast while allowing the infrequently used things to become slow.</li> </ol> <p>Data-oriented design is all the rage on the Internet because of its cache-friendliness. This engine is one more attempt at seeing what sort of real-world benefits one might gain with this sort of architecture.</p> <p>If you find yourself interested in where the idea spawns from and why, take a look at <a href="https://raw.githubusercontent.com/trynova/nova/main/nova_vm/src/heap/README.md">the Heap README.md</a>. It gives a more thorough walkthrough of the Heap structure and what the idea there is.</p> <h2><a href="https://raw.githubusercontent.com/trynova/nova/main/CONTRIBUTING.md">Contributing</a></h2> <p>So you wish to contribute, eh? You're very welcome to do so! Please take a look at <a href="https://raw.githubusercontent.com/trynova/nova/main/CONTRIBUTING.md">the CONTRIBUTING.md</a>.</p> \ No newline at end of file diff --git a/sage/daily/index.xml b/sage/daily/index.xml index c2d7a55aecc..1e958b5cf03 100644 --- a/sage/daily/index.xml +++ b/sage/daily/index.xml @@ -1,7 +1,7 @@ GitHub Sage Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:35:15Z + 2024-11-21T01:37:25Z Daily Trending of Sage in GitHub \ No newline at end of file diff --git a/saltstack/daily/index.xml b/saltstack/daily/index.xml index 98e911f3ef0..eb7f5db07d8 100644 --- a/saltstack/daily/index.xml +++ b/saltstack/daily/index.xml @@ -1,7 +1,7 @@ GitHub SaltStack Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:35:14Z + 2024-11-21T01:37:25Z Daily Trending of SaltStack in GitHub \ No newline at end of file diff --git a/sas/daily/index.xml b/sas/daily/index.xml index e5379241bdd..8be7a05647f 100644 --- a/sas/daily/index.xml +++ b/sas/daily/index.xml @@ -1,7 +1,7 @@ GitHub SAS Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:35:15Z + 2024-11-21T01:37:25Z Daily Trending of SAS in GitHub \ No newline at end of file diff --git a/sass/daily/index.xml b/sass/daily/index.xml index fa647e31142..81eb7f89b58 100644 --- a/sass/daily/index.xml +++ b/sass/daily/index.xml @@ -1,7 +1,7 @@ GitHub Sass Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:35:15Z + 2024-11-21T01:37:26Z Daily Trending of Sass in GitHub \ No newline at end of file diff --git a/scala/daily/index.xml b/scala/daily/index.xml index 3fb403b0c9e..fe534f1529e 100644 --- a/scala/daily/index.xml +++ b/scala/daily/index.xml @@ -1,7 +1,7 @@ GitHub Scala Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:35:20Z + 2024-11-21T01:37:28Z Daily Trending of Scala in GitHub \ No newline at end of file diff --git a/scaml/daily/index.xml b/scaml/daily/index.xml index 44d8e838900..6abc2a6c8b7 100644 --- a/scaml/daily/index.xml +++ b/scaml/daily/index.xml @@ -1,7 +1,7 @@ GitHub Scaml Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:35:16Z + 2024-11-21T01:37:26Z Daily Trending of Scaml in GitHub \ No newline at end of file diff --git a/scheme/daily/index.xml b/scheme/daily/index.xml index 2dd00508da1..9ecb2323bab 100644 --- a/scheme/daily/index.xml +++ b/scheme/daily/index.xml @@ -1,7 +1,7 @@ GitHub Scheme Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:35:17Z + 2024-11-21T01:37:27Z Daily Trending of Scheme in GitHub \ No newline at end of file diff --git a/scilab/daily/index.xml b/scilab/daily/index.xml index db44684b0ac..14e3fec6f1d 100644 --- a/scilab/daily/index.xml +++ b/scilab/daily/index.xml @@ -1,7 +1,7 @@ GitHub Scilab Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:35:26Z + 2024-11-21T01:37:32Z Daily Trending of Scilab in GitHub \ No newline at end of file diff --git a/scss/daily/index.xml b/scss/daily/index.xml index fc15e47bb3d..07ceffc6a01 100644 --- a/scss/daily/index.xml +++ b/scss/daily/index.xml @@ -1,7 +1,7 @@ GitHub SCSS Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:35:27Z + 2024-11-21T01:37:33Z Daily Trending of SCSS in GitHub \ No newline at end of file diff --git a/sed/daily/index.xml b/sed/daily/index.xml index 3433c14af4b..f41d453e269 100644 --- a/sed/daily/index.xml +++ b/sed/daily/index.xml @@ -1,7 +1,7 @@ GitHub sed Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:35:26Z + 2024-11-21T01:37:32Z Daily Trending of sed in GitHub \ No newline at end of file diff --git a/self/daily/index.xml b/self/daily/index.xml index 813c6a7d236..02154c01993 100644 --- a/self/daily/index.xml +++ b/self/daily/index.xml @@ -1,7 +1,7 @@ GitHub Self Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:35:25Z + 2024-11-21T01:37:33Z Daily 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 ba815ce4c65..24dd5987172 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 - 2024-11-20T01:35:28Z + 2024-11-21T01:37:34Z Daily 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 261c57fbe30..76cf2dd10f1 100644 --- a/shaderlab/daily/index.xml +++ b/shaderlab/daily/index.xml @@ -1,7 +1,7 @@ GitHub ShaderLab Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:35:28Z + 2024-11-21T01:37:34Z Daily Trending of ShaderLab in GitHub \ No newline at end of file diff --git a/shell/daily/index.xml b/shell/daily/index.xml index b37ee4df0e1..70b98df9f66 100644 --- a/shell/daily/index.xml +++ b/shell/daily/index.xml @@ -1,14 +1,7 @@ GitHub Shell Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:35:29Z + 2024-11-21T01:37:37Z Daily Trending of Shell in GitHub - - Azure-Samples/modern-data-warehouse-dataops - 2024-11-20T01:35:29Z - tag:github.com,2024-11-20:/Azure-Samples/modern-data-warehouse-dataops - - <p>DataOps for Microsoft Data Platform technologies. https://aka.ms/dataops-repo</p><hr><hr> <p>page_type: sample languages:</p> <ul> <li>python</li> <li>csharp</li> <li>typeScript</li> <li>bicep products:</li> <li>azure</li> <li>microsoft-fabric</li> <li>azure-sql-database</li> <li>azure-data-factory</li> <li>azure-databricks</li> <li>azure-stream-analytics</li> <li>azure-synapse-analytics description: "Code samples showcasing how to apply DevOps concepts to common data engineering patterns and architectures leveraging different Microsoft data platform technologies."</li> </ul> <hr> <h1>DataOps</h1> <p>This repository contains numerous code samples and artifacts on how to apply DevOps principles to common data engineering patterns and architectures utilizing Microsoft data platform technologies.</p> <p>The samples are either focused on a single microsoft service (<a href="https://raw.githubusercontent.com/Azure-Samples/modern-data-warehouse-dataops/main/#single-technology-samples">Single-Technology Samples</a>) or showcases an end-to-end data pipeline solution as a reference implementation (<a href="https://raw.githubusercontent.com/Azure-Samples/modern-data-warehouse-dataops/main/#end-to-end-samples">End-to-End Samples</a>). Each sample contains code and artifacts related to one or more of the following capabilities:</p> <ul> <li>Infrastructure as Code (IaC)</li> <li>Build and Release Pipelines (CI/CD)</li> <li>Testing</li> <li>Observability / Monitoring</li> </ul> <p>In addition to the samples, this repository also contains <a href="https://raw.githubusercontent.com/Azure-Samples/modern-data-warehouse-dataops/main/#utilities">Utilities</a>. These are simple scripts or code snippets that can be used as-is or as a starting point for more complex automation tasks.</p> <h2>Single-Technology Samples</h2> <table> <thead> <tr> <th>Technology</th> <th>Samples</th> </tr> </thead> <tbody> <tr> <td><a href="https://raw.githubusercontent.com/Azure-Samples/modern-data-warehouse-dataops/main/single_tech_samples/fabric/README.md">Microsoft Fabric</a></td> <td>▪️ <a href="https://raw.githubusercontent.com/Azure-Samples/modern-data-warehouse-dataops/main/single_tech_samples/fabric/fabric_ci_cd/README.md">CI/CD for Microsoft Fabric</a><br> ▪️ <a href="https://raw.githubusercontent.com/Azure-Samples/modern-data-warehouse-dataops/main/single_tech_samples/fabric/feature_engineering_on_fabric/README.md">Feature engineering on Microsoft Fabric</a></td> </tr> <tr> <td><a href="https://raw.githubusercontent.com/Azure-Samples/modern-data-warehouse-dataops/main/single_tech_samples/azuresql/README.md">Azure SQL database</a></td> <td>▪️ <a href="https://raw.githubusercontent.com/Azure-Samples/modern-data-warehouse-dataops/main/single_tech_samples/azuresql/azuresql_ci_cd/README.md">CI/CD for Azure SQL database</a></td> </tr> <tr> <td><a href="https://raw.githubusercontent.com/Azure-Samples/modern-data-warehouse-dataops/main/single_tech_samples/databricks/">Azure Databricks</a></td> <td>▪️ <a href="https://raw.githubusercontent.com/Azure-Samples/modern-data-warehouse-dataops/main/single_tech_samples/databricks/databricks_ci_cd/README.md">CI/CD for Azure Databricks</a></td> </tr> <tr> <td><a href="https://raw.githubusercontent.com/Azure-Samples/modern-data-warehouse-dataops/main/single_tech_samples/datafactory/README.md">Azure Data Factory</a></td> <td>▪️ <a href="https://raw.githubusercontent.com/Azure-Samples/modern-data-warehouse-dataops/main/single_tech_samples/datafactory/adf_cicd_auto_publish/README.md">CI/CD for ADF with Auto publish</a><br> ▪️ <a href="https://raw.githubusercontent.com/Azure-Samples/modern-data-warehouse-dataops/main/single_tech_samples/datafactory/adf_data_pre_processing_with_azure_batch/README.md">Data pre-processing using Azure Batch</a></td> </tr> <tr> <td><a href="https://raw.githubusercontent.com/Azure-Samples/modern-data-warehouse-dataops/main/single_tech_samples/streamanalytics/README.md">Azure Stream Analytics</a></td> <td>▪️ <a href="https://raw.githubusercontent.com/Azure-Samples/modern-data-warehouse-dataops/main/single_tech_samples/streamanalytics/streamanalytics_ci_cd/README.md">CI/CD for Azure Stream Analytics</a></td> </tr> </tbody> </table> <h2>End-to-End Samples</h2> <h3>DataOps for Medallion with Azure Data Factory and Azure Databricks</h3> <p>This <a href="https://raw.githubusercontent.com/Azure-Samples/modern-data-warehouse-dataops/main/e2e_samples/parking_sensors/">sample</a> demonstrates batch, end-to-end data pipeline utilizing Azure Data Factory and Azure Databricks built according to the <a href="https://learn.microsoft.com/en-us/azure/databricks/lakehouse/medallion">medallion architecture</a>, along with a corresponding CI/CD process, observability and automated testing.</p> <p><a href="https://raw.githubusercontent.com/Azure-Samples/modern-data-warehouse-dataops/main/e2e_samples/parking_sensors/"><img src="https://raw.githubusercontent.com/Azure-Samples/modern-data-warehouse-dataops/main/docs/images/CI_CD_process_simplified.png" alt="Medallion with Azure Data Factory and Azure Databricks" title="Architecture"></a></p> <h3>DataOps for Medallion with Microsoft Fabric</h3> <ul> <li>Coming soon.</li> </ul> <h2>Utilities</h2> <table> <thead> <tr> <th>Technology</th> <th>Utility Description</th> </tr> </thead> <tbody> <tr> <td>Microsoft Fabric</td> <td>▪️ <a href="https://raw.githubusercontent.com/Azure-Samples/modern-data-warehouse-dataops/main/utilities/fabric/README.md#python-script-to-upload-file-in-git-repo-to-fabric-lakehouse">Script to upload file in GIT repo to Fabric lakehouse</a></td> </tr> </tbody> </table> <h2>Contributing</h2> <p>This project welcomes contributions and suggestions. Please see our <a href="https://raw.githubusercontent.com/Azure-Samples/modern-data-warehouse-dataops/main/CONTRIBUTING.md">Contributing guide</a>.</p> - \ No newline at end of file diff --git a/shellcheck-config/daily/index.xml b/shellcheck-config/daily/index.xml index c887af0ae55..c80fc2ed7ac 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 - 2024-11-20T01:35:27Z + 2024-11-21T01:37:34Z Daily 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 dc58df4ee86..15eccc864e0 100644 --- a/shellsession/daily/index.xml +++ b/shellsession/daily/index.xml @@ -1,7 +1,7 @@ GitHub ShellSession Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:35:38Z + 2024-11-21T01:37:42Z Daily Trending of ShellSession in GitHub \ No newline at end of file diff --git a/shen/daily/index.xml b/shen/daily/index.xml index 4cdae4739fa..412016435aa 100644 --- a/shen/daily/index.xml +++ b/shen/daily/index.xml @@ -1,7 +1,7 @@ GitHub Shen Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:35:37Z + 2024-11-21T01:37:42Z Daily Trending of Shen in GitHub \ No newline at end of file diff --git a/sieve/daily/index.xml b/sieve/daily/index.xml index b3ab178f6bd..b57a3487cc7 100644 --- a/sieve/daily/index.xml +++ b/sieve/daily/index.xml @@ -1,7 +1,7 @@ GitHub Sieve Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:35:38Z + 2024-11-21T01:37:43Z Daily Trending of Sieve in GitHub \ No newline at end of file diff --git a/singularity/daily/index.xml b/singularity/daily/index.xml index 9049f25980f..26ffff13699 100644 --- a/singularity/daily/index.xml +++ b/singularity/daily/index.xml @@ -1,7 +1,7 @@ GitHub Singularity Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:35:39Z + 2024-11-21T01:37:44Z Daily Trending of Singularity in GitHub \ No newline at end of file diff --git a/slash/daily/index.xml b/slash/daily/index.xml index 690427babc5..d647d15ec8f 100644 --- a/slash/daily/index.xml +++ b/slash/daily/index.xml @@ -1,7 +1,7 @@ GitHub Slash Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:35:39Z + 2024-11-21T01:37:44Z Daily Trending of Slash in GitHub \ No newline at end of file diff --git a/slice/daily/index.xml b/slice/daily/index.xml index bb269b67512..3fed1c26e14 100644 --- a/slice/daily/index.xml +++ b/slice/daily/index.xml @@ -1,7 +1,7 @@ GitHub Slice Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:35:39Z + 2024-11-21T01:37:44Z Daily Trending of Slice in GitHub \ No newline at end of file diff --git a/slim/daily/index.xml b/slim/daily/index.xml index 1940729bb21..d6b651df8ac 100644 --- a/slim/daily/index.xml +++ b/slim/daily/index.xml @@ -1,7 +1,7 @@ GitHub Slim Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:35:40Z + 2024-11-21T01:37:43Z Daily Trending of Slim in GitHub \ No newline at end of file diff --git a/smali/daily/index.xml b/smali/daily/index.xml index ccaf6825dfd..bcccf21bf61 100644 --- a/smali/daily/index.xml +++ b/smali/daily/index.xml @@ -1,7 +1,7 @@ GitHub Smali Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:35:42Z + 2024-11-21T01:37:45Z Daily Trending of Smali in GitHub \ No newline at end of file diff --git a/smalltalk/daily/index.xml b/smalltalk/daily/index.xml index 80b2c4c2f1a..b07c9defb6a 100644 --- a/smalltalk/daily/index.xml +++ b/smalltalk/daily/index.xml @@ -1,7 +1,7 @@ GitHub Smalltalk Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:35:41Z + 2024-11-21T01:37:46Z Daily Trending of Smalltalk in GitHub \ No newline at end of file diff --git a/smarty/daily/index.xml b/smarty/daily/index.xml index d8a732b4e46..bb72732f88e 100644 --- a/smarty/daily/index.xml +++ b/smarty/daily/index.xml @@ -1,7 +1,7 @@ GitHub Smarty Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:35:42Z + 2024-11-21T01:37:47Z Daily Trending of Smarty in GitHub \ No newline at end of file diff --git a/smpl/daily/index.xml b/smpl/daily/index.xml index 429d1aca475..fed0402d456 100644 --- a/smpl/daily/index.xml +++ b/smpl/daily/index.xml @@ -1,7 +1,7 @@ GitHub SmPL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:35:44Z + 2024-11-21T01:37:48Z Daily Trending of SmPL in GitHub \ No newline at end of file diff --git a/smt/daily/index.xml b/smt/daily/index.xml index d5dc659ca5f..72c8a0b60a2 100644 --- a/smt/daily/index.xml +++ b/smt/daily/index.xml @@ -1,7 +1,7 @@ GitHub SMT Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:35:44Z + 2024-11-21T01:37:49Z Daily Trending of SMT in GitHub \ No newline at end of file diff --git a/solidity/daily/index.xml b/solidity/daily/index.xml index e107eb6c209..9b3a5dabc64 100644 --- a/solidity/daily/index.xml +++ b/solidity/daily/index.xml @@ -1,7 +1,7 @@ GitHub Solidity Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:35:46Z + 2024-11-21T01:37:51Z Daily Trending of Solidity in GitHub \ No newline at end of file diff --git a/soong/daily/index.xml b/soong/daily/index.xml index 952016b8b29..7237b119347 100644 --- a/soong/daily/index.xml +++ b/soong/daily/index.xml @@ -1,7 +1,7 @@ GitHub Soong Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:35:45Z + 2024-11-21T01:37:49Z Daily Trending of Soong in GitHub \ No newline at end of file diff --git a/sourcepawn/daily/index.xml b/sourcepawn/daily/index.xml index 5356243ca7a..b5f49a589af 100644 --- a/sourcepawn/daily/index.xml +++ b/sourcepawn/daily/index.xml @@ -1,7 +1,7 @@ GitHub SourcePawn Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:35:45Z + 2024-11-21T01:37:49Z Daily Trending of SourcePawn in GitHub \ No newline at end of file diff --git a/sparql/daily/index.xml b/sparql/daily/index.xml index 7832deefcd0..14a85116483 100644 --- a/sparql/daily/index.xml +++ b/sparql/daily/index.xml @@ -1,7 +1,7 @@ GitHub SPARQL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:35:45Z + 2024-11-21T01:37:50Z Daily 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 a8e2d101bff..16844c232c2 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 - 2024-11-20T01:35:47Z + 2024-11-21T01:37:52Z Daily 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 f4c399304a4..5a6d7b027b8 100644 --- a/sqf/daily/index.xml +++ b/sqf/daily/index.xml @@ -1,7 +1,7 @@ GitHub SQF Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:35:48Z + 2024-11-21T01:37:52Z Daily Trending of SQF in GitHub \ No newline at end of file diff --git a/sql/daily/index.xml b/sql/daily/index.xml index 62cc6b19fe6..1450d411930 100644 --- a/sql/daily/index.xml +++ b/sql/daily/index.xml @@ -1,7 +1,7 @@ GitHub SQL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:35:47Z + 2024-11-21T01:37:52Z Daily Trending of SQL in GitHub \ No newline at end of file diff --git a/sqlpl/daily/index.xml b/sqlpl/daily/index.xml index 72532ffb7f3..d8b141f27f6 100644 --- a/sqlpl/daily/index.xml +++ b/sqlpl/daily/index.xml @@ -1,7 +1,7 @@ GitHub SQLPL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:35:47Z + 2024-11-21T01:37:51Z Daily Trending of SQLPL in GitHub \ No newline at end of file diff --git a/squirrel/daily/index.xml b/squirrel/daily/index.xml index 7dcb0e2bf46..dfff4b08ca2 100644 --- a/squirrel/daily/index.xml +++ b/squirrel/daily/index.xml @@ -1,7 +1,7 @@ GitHub Squirrel Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:35:49Z + 2024-11-21T01:37:53Z Daily 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 9ef01ec8739..395920cea49 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 - 2024-11-20T01:35:49Z + 2024-11-21T01:37:53Z Daily 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 1a50b67965d..6cf65d6c70c 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 - 2024-11-20T01:35:49Z + 2024-11-21T01:37:53Z Daily 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 d9b85814d7c..c34b30fc0fe 100644 --- a/stan/daily/index.xml +++ b/stan/daily/index.xml @@ -1,7 +1,7 @@ GitHub Stan Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:35:48Z + 2024-11-21T01:37:54Z Daily 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 b946662f05e..86e3ef4adc8 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 - 2024-11-20T01:35:50Z + 2024-11-21T01:37:55Z Daily 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 9a1e6aee4ad..a93351225f3 100644 --- a/starlark/daily/index.xml +++ b/starlark/daily/index.xml @@ -1,7 +1,7 @@ GitHub Starlark Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:35:52Z + 2024-11-21T01:37:56Z Daily Trending of Starlark in GitHub \ No newline at end of file diff --git a/stata/daily/index.xml b/stata/daily/index.xml index ce6cdeffde2..351a905bf2d 100644 --- a/stata/daily/index.xml +++ b/stata/daily/index.xml @@ -1,7 +1,7 @@ GitHub Stata Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:35:51Z + 2024-11-21T01:37:54Z Daily Trending of Stata in GitHub \ No newline at end of file diff --git a/ston/daily/index.xml b/ston/daily/index.xml index cd3ee1c061c..0787a24d814 100644 --- a/ston/daily/index.xml +++ b/ston/daily/index.xml @@ -1,7 +1,7 @@ GitHub STON Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:35:52Z + 2024-11-21T01:37:57Z Daily Trending of STON in GitHub \ No newline at end of file diff --git a/stringtemplate/daily/index.xml b/stringtemplate/daily/index.xml index ff0d0bb5950..40e217f5abc 100644 --- a/stringtemplate/daily/index.xml +++ b/stringtemplate/daily/index.xml @@ -1,7 +1,7 @@ GitHub StringTemplate Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:35:52Z + 2024-11-21T01:37:57Z Daily Trending of StringTemplate in GitHub \ No newline at end of file diff --git a/stylus/daily/index.xml b/stylus/daily/index.xml index 93a8ca8cfa1..36a5a33c7bc 100644 --- a/stylus/daily/index.xml +++ b/stylus/daily/index.xml @@ -1,7 +1,7 @@ GitHub Stylus Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:35:53Z + 2024-11-21T01:37:57Z Daily 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 29e449874a7..be6b55210c8 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 - 2024-11-20T01:35:54Z + 2024-11-21T01:37:59Z Daily 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 e01a58c9c91..c41fe25e894 100644 --- a/sugarss/daily/index.xml +++ b/sugarss/daily/index.xml @@ -1,7 +1,7 @@ GitHub SugarSS Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:35:54Z + 2024-11-21T01:37:58Z Daily Trending of SugarSS in GitHub \ No newline at end of file diff --git a/supercollider/daily/index.xml b/supercollider/daily/index.xml index 2d75d24d537..77e70d25e57 100644 --- a/supercollider/daily/index.xml +++ b/supercollider/daily/index.xml @@ -1,7 +1,7 @@ GitHub SuperCollider Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:35:54Z + 2024-11-21T01:37:59Z Daily Trending of SuperCollider in GitHub \ No newline at end of file diff --git a/svelte/daily/index.xml b/svelte/daily/index.xml index eb67c9c0728..8d383f4e1e8 100644 --- a/svelte/daily/index.xml +++ b/svelte/daily/index.xml @@ -1,7 +1,7 @@ GitHub Svelte Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:35:55Z + 2024-11-21T01:38:00Z Daily Trending of Svelte in GitHub \ No newline at end of file diff --git a/svg/daily/index.xml b/svg/daily/index.xml index 7b827dbc757..73c4095efd7 100644 --- a/svg/daily/index.xml +++ b/svg/daily/index.xml @@ -1,7 +1,7 @@ GitHub SVG Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:35:57Z + 2024-11-21T01:38:02Z Daily Trending of SVG in GitHub \ No newline at end of file diff --git a/swift/daily/index.xml b/swift/daily/index.xml index 7f0994bfdb1..3febd2c7309 100644 --- a/swift/daily/index.xml +++ b/swift/daily/index.xml @@ -1,7 +1,7 @@ GitHub Swift Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:35:58Z + 2024-11-21T01:38:03Z Daily Trending of Swift in GitHub \ No newline at end of file diff --git a/swig/daily/index.xml b/swig/daily/index.xml index 230f168c37d..44f8a8cdcc1 100644 --- a/swig/daily/index.xml +++ b/swig/daily/index.xml @@ -1,7 +1,7 @@ GitHub SWIG Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:36:06Z + 2024-11-21T01:38:09Z Daily Trending of SWIG in GitHub \ No newline at end of file diff --git a/systemverilog/daily/index.xml b/systemverilog/daily/index.xml index 2bcc2feedd1..72b8e566cec 100644 --- a/systemverilog/daily/index.xml +++ b/systemverilog/daily/index.xml @@ -1,7 +1,7 @@ GitHub SystemVerilog Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:36:06Z + 2024-11-21T01:38:09Z Daily Trending of SystemVerilog in GitHub \ No newline at end of file diff --git a/talon/daily/index.xml b/talon/daily/index.xml index bcc45d4785e..783c159072e 100644 --- a/talon/daily/index.xml +++ b/talon/daily/index.xml @@ -1,7 +1,7 @@ GitHub Talon Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:36:05Z + 2024-11-21T01:38:08Z Daily Trending of Talon in GitHub \ No newline at end of file diff --git a/tcl/daily/index.xml b/tcl/daily/index.xml index dc20f72d9b6..0aae11d339a 100644 --- a/tcl/daily/index.xml +++ b/tcl/daily/index.xml @@ -1,7 +1,7 @@ GitHub Tcl Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:36:07Z + 2024-11-21T01:38:09Z Daily Trending of Tcl in GitHub \ No newline at end of file diff --git a/tcsh/daily/index.xml b/tcsh/daily/index.xml index afe268a05e6..aea10fd8ffa 100644 --- a/tcsh/daily/index.xml +++ b/tcsh/daily/index.xml @@ -1,7 +1,7 @@ GitHub Tcsh Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:36:08Z + 2024-11-21T01:38:10Z Daily Trending of Tcsh in GitHub \ No newline at end of file diff --git a/tea/daily/index.xml b/tea/daily/index.xml index b6b51da38c7..5e920240973 100644 --- a/tea/daily/index.xml +++ b/tea/daily/index.xml @@ -1,7 +1,7 @@ GitHub Tea Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:36:07Z + 2024-11-21T01:38:11Z Daily Trending of Tea in GitHub \ No newline at end of file diff --git a/terra/daily/index.xml b/terra/daily/index.xml index 9749e1f0d10..9cdc2419178 100644 --- a/terra/daily/index.xml +++ b/terra/daily/index.xml @@ -1,7 +1,7 @@ GitHub Terra Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:36:08Z + 2024-11-21T01:38:11Z Daily Trending of Terra in GitHub \ No newline at end of file diff --git a/tex/daily/index.xml b/tex/daily/index.xml index 6abcdba7950..366baf60bec 100644 --- a/tex/daily/index.xml +++ b/tex/daily/index.xml @@ -1,7 +1,7 @@ GitHub TeX Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:36:11Z + 2024-11-21T01:38:13Z Daily Trending of TeX in GitHub \ No newline at end of file diff --git a/texinfo/daily/index.xml b/texinfo/daily/index.xml index b416f8a8a45..d8d38f28911 100644 --- a/texinfo/daily/index.xml +++ b/texinfo/daily/index.xml @@ -1,7 +1,7 @@ GitHub Texinfo Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:36:09Z + 2024-11-21T01:38:12Z Daily Trending of Texinfo in GitHub \ No newline at end of file diff --git a/text/daily/index.xml b/text/daily/index.xml index 3fe726c1111..77e46c97ec1 100644 --- a/text/daily/index.xml +++ b/text/daily/index.xml @@ -1,7 +1,7 @@ GitHub Text Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:36:10Z + 2024-11-21T01:38:13Z Daily Trending of Text in GitHub \ No newline at end of file diff --git a/textile/daily/index.xml b/textile/daily/index.xml index cc8ec9a21a0..6f6455a9dd4 100644 --- a/textile/daily/index.xml +++ b/textile/daily/index.xml @@ -1,7 +1,7 @@ GitHub Textile Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:36:14Z + 2024-11-21T01:38:17Z Daily 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 f401fe4bf4b..8e16754e36e 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 - 2024-11-20T01:36:14Z + 2024-11-21T01:38:17Z Daily 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 ebde7d0b825..486d5ea5181 100644 --- a/thrift/daily/index.xml +++ b/thrift/daily/index.xml @@ -1,7 +1,7 @@ GitHub Thrift Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:36:14Z + 2024-11-21T01:38:18Z Daily 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 71984683080..534b786c7fb 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 - 2024-11-20T01:36:16Z + 2024-11-21T01:38:19Z Daily 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 d0aa50bf7ac..dde932b6597 100644 --- a/tla/daily/index.xml +++ b/tla/daily/index.xml @@ -1,7 +1,7 @@ GitHub TLA Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:36:15Z + 2024-11-21T01:38:19Z Daily Trending of TLA in GitHub \ No newline at end of file diff --git a/toml/daily/index.xml b/toml/daily/index.xml index 71284fb528b..1318d810896 100644 --- a/toml/daily/index.xml +++ b/toml/daily/index.xml @@ -1,7 +1,7 @@ GitHub TOML Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:36:17Z + 2024-11-21T01:38:20Z Daily Trending of TOML in GitHub \ No newline at end of file diff --git a/tsql/daily/index.xml b/tsql/daily/index.xml index 810587aec30..ecdeaf2d81e 100644 --- a/tsql/daily/index.xml +++ b/tsql/daily/index.xml @@ -1,7 +1,7 @@ GitHub TSQL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:36:17Z + 2024-11-21T01:38:21Z Daily Trending of TSQL in GitHub \ No newline at end of file diff --git a/tsv/daily/index.xml b/tsv/daily/index.xml index 49e8ee86b31..e50724f162c 100644 --- a/tsv/daily/index.xml +++ b/tsv/daily/index.xml @@ -1,7 +1,7 @@ GitHub TSV Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:36:16Z + 2024-11-21T01:38:21Z Daily Trending of TSV in GitHub \ No newline at end of file diff --git a/tsx/daily/index.xml b/tsx/daily/index.xml index 441ce27e62a..c02251117cf 100644 --- a/tsx/daily/index.xml +++ b/tsx/daily/index.xml @@ -1,7 +1,7 @@ GitHub TSX Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:36:17Z + 2024-11-21T01:38:20Z Daily Trending of TSX in GitHub \ No newline at end of file diff --git a/turing/daily/index.xml b/turing/daily/index.xml index d46ee09710c..fa3f243c539 100644 --- a/turing/daily/index.xml +++ b/turing/daily/index.xml @@ -1,7 +1,7 @@ GitHub Turing Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:36:18Z + 2024-11-21T01:38:23Z Daily Trending of Turing in GitHub \ No newline at end of file diff --git a/turtle/daily/index.xml b/turtle/daily/index.xml index 48bf36aa75f..7182de48b3c 100644 --- a/turtle/daily/index.xml +++ b/turtle/daily/index.xml @@ -1,7 +1,7 @@ GitHub Turtle Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:36:18Z + 2024-11-21T01:38:22Z Daily Trending of Turtle in GitHub \ No newline at end of file diff --git a/twig/daily/index.xml b/twig/daily/index.xml index 5e9f0470bc5..d0e11e68801 100644 --- a/twig/daily/index.xml +++ b/twig/daily/index.xml @@ -1,7 +1,7 @@ GitHub Twig Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:36:19Z + 2024-11-21T01:38:22Z Daily Trending of Twig in GitHub \ No newline at end of file diff --git a/txl/daily/index.xml b/txl/daily/index.xml index 15d73530e53..b4f46b6e04d 100644 --- a/txl/daily/index.xml +++ b/txl/daily/index.xml @@ -1,7 +1,7 @@ GitHub TXL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:36:19Z + 2024-11-21T01:38:22Z Daily 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 7ae1fde9123..1e8c0649ee3 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 - 2024-11-20T01:36:20Z + 2024-11-21T01:38:23Z Daily 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 b501e51b58b..8393750ed03 100644 --- a/typescript/daily/index.xml +++ b/typescript/daily/index.xml @@ -1,14 +1,7 @@ GitHub TypeScript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:36:23Z + 2024-11-21T01:38:25Z Daily Trending of TypeScript in GitHub - - awslabs/multi-agent-orchestrator - 2024-11-20T01:36:23Z - tag:github.com,2024-11-20:/awslabs/multi-agent-orchestrator - - <p>Flexible and powerful framework for managing multiple AI agents and handling complex conversations</p><hr><h2 align="center">Multi-Agent Orchestrator&nbsp;</h2> <p align="center">Flexible and powerful framework for managing multiple AI agents and handling complex conversations.</p> <p align="center"> <a href="https://github.com/awslabs/multi-agent-orchestrator"><img alt="GitHub Repo" src="https://img.shields.io/badge/GitHub-Repo-green.svg?sanitize=true"></a> <a href="https://www.npmjs.com/package/multi-agent-orchestrator"><img alt="npm" src="https://img.shields.io/npm/v/multi-agent-orchestrator.svg?style=flat-square"></a> <a href="https://pypi.org/project/multi-agent-orchestrator/"><img alt="PyPI" src="https://img.shields.io/pypi/v/multi-agent-orchestrator.svg?style=flat-square"></a> <a href="https://awslabs.github.io/multi-agent-orchestrator/"><img alt="Documentation" src="https://img.shields.io/badge/docs-book-blue.svg?style=flat-square"></a> </p> <h2>🔖 Features</h2> <ul> <li>🧠 <strong>Intelligent intent classification</strong> — Dynamically route queries to the most suitable agent based on context and content.</li> <li>🔤 <strong>Dual language support</strong> — Fully implemented in both <strong>Python</strong> and <strong>TypeScript</strong>.</li> <li>🌊 <strong>Flexible agent responses</strong> — Support for both streaming and non-streaming responses from different agents.</li> <li>📚 <strong>Context management</strong> — Maintain and utilize conversation context across multiple agents for coherent interactions.</li> <li>🔧 <strong>Extensible architecture</strong> — Easily integrate new agents or customize existing ones to fit your specific needs.</li> <li>🌐 <strong>Universal deployment</strong> — Run anywhere - from AWS Lambda to your local environment or any cloud platform.</li> <li>📦 <strong>Pre-built agents and classifiers</strong> — A variety of ready-to-use agents and multiple classifier implementations available.</li> </ul> <h2>What's the Multi-Agent Orchestrator ❓</h2> <p>The Multi-Agent Orchestrator is a flexible framework for managing multiple AI agents and handling complex conversations. It intelligently routes queries and maintains context across interactions.</p> <p>The system offers pre-built components for quick deployment, while also allowing easy integration of custom agents and conversation messages storage solutions.</p> <p>This adaptability makes it suitable for a wide range of applications, from simple chatbots to sophisticated AI systems, accommodating diverse requirements and scaling efficiently.</p> <h2>🏗️ High-level architecture flow diagram</h2> <p><br><br></p> <p><img src="https://raw.githubusercontent.com/awslabs/multi-agent-orchestrator/main/img/flow.jpg" alt="High-level architecture flow diagram"></p> <p><br><br></p> <ol> <li>The process begins with user input, which is analyzed by a Classifier.</li> <li>The Classifier leverages both Agents' Characteristics and Agents' Conversation history to select the most appropriate agent for the task.</li> <li>Once an agent is selected, it processes the user input.</li> <li>The orchestrator then saves the conversation, updating the Agents' Conversation history, before delivering the response back to the user.</li> </ol> <h2>💬 Demo App</h2> <p>To quickly get a feel for the Multi-Agent Orchestrator, we've provided a Demo App with a few basic agents. This interactive demo showcases the orchestrator's capabilities in a user-friendly interface. To learn more about setting up and running the demo app, please refer to our <a href="https://awslabs.github.io/multi-agent-orchestrator/cookbook/examples/chat-demo-app/">Demo App</a> section.</p> <br> <p>In the screen recording below, we demonstrate an extended version of the demo app that uses 6 specialized agents:</p> <ul> <li><strong>Travel Agent</strong>: Powered by an Amazon Lex Bot</li> <li><strong>Weather Agent</strong>: Utilizes a Bedrock LLM Agent with a tool to query the open-meteo API</li> <li><strong>Restaurant Agent</strong>: Implemented as an Amazon Bedrock Agent</li> <li><strong>Math Agent</strong>: Utilizes a Bedrock LLM Agent with two tools for executing mathematical operations</li> <li><strong>Tech Agent</strong>: A Bedrock LLM Agent designed to answer questions on technical topics</li> <li><strong>Health Agent</strong>: A Bedrock LLM Agent focused on addressing health-related queries</li> </ul> <p>Watch as the system seamlessly switches context between diverse topics, from booking flights to checking weather, solving math problems, and providing health information. Notice how the appropriate agent is selected for each query, maintaining coherence even with brief follow-up inputs.</p> <p>The demo highlights the system's ability to handle complex, multi-turn conversations while preserving context and leveraging specialized agents across various domains.</p> <p><img src="https://raw.githubusercontent.com/awslabs/multi-agent-orchestrator/main/img/demo-app.gif?raw=true" alt=""></p> <p>To quickly get a feel for the Multi-Agent Orchestrator, check out our <a href="https://awslabs.github.io/multi-agent-orchestrator/cookbook/examples/chat-demo-app/">Demo App</a>. Additional code examples are available in both the documentation and the <code>examples</code> folder.</p> <h2>🎯 Examples &amp; Quick Start</h2> <p>Get hands-on experience with the Multi-Agent Orchestrator through our diverse set of examples:</p> <ul> <li><strong>Ready-to-run Scripts</strong>: Start locally with our collection of standalone scripts in both Python and TypeScript.</li> <li><strong>Demo Applications</strong>: <ul> <li><a href="https://awslabs.github.io/multi-agent-orchestrator/cookbook/examples/chat-demo-app/">Chat Demo App</a>: <ul> <li>Explore multiple specialized agents handling various domains like travel, weather, math, and health</li> </ul> </li> <li><a href="https://awslabs.github.io/multi-agent-orchestrator/cookbook/examples/ecommerce-support-simulator/">E-commerce Support Simulator</a>: Experience AI-powered customer support with: <ul> <li>Automated response generation for common queries</li> <li>Intelligent routing of complex issues to human support</li> <li>Real-time chat and email-style communication</li> <li>Human-in-the-loop interactions for complex cases</li> </ul> </li> </ul> </li> <li><strong>Sample Projects</strong>: Explore our example implementations in the <code>examples</code> folder: <ul> <li><a href="https://github.com/awslabs/multi-agent-orchestrator/tree/main/examples/chat-demo-app"><code>chat-demo-app</code></a>: Web-based chat interface with multiple specialized agents</li> <li><a href="https://github.com/awslabs/multi-agent-orchestrator/tree/main/examples/ecommerce-support-simulator"><code>ecommerce-support-simulator</code></a>: AI-powered customer support system</li> <li><a href="https://github.com/awslabs/multi-agent-orchestrator/tree/main/examples/chat-chainlit-app"><code>chat-chainlit-app</code></a>: Chat application built with Chainlit</li> <li><a href="https://github.com/awslabs/multi-agent-orchestrator/tree/main/examples/fast-api-streaming"><code>fast-api-streaming</code></a>: FastAPI implementation with streaming support</li> <li><a href="https://github.com/awslabs/multi-agent-orchestrator/tree/main/examples/text-2-structured-output"><code>text-2-structured-output</code></a>: Natural Language to Structured Data</li> </ul> </li> </ul> <p>All examples are available in both Python and TypeScript implementations. Check out our <a href="https://awslabs.github.io/multi-agent-orchestrator/">documentation</a> for comprehensive guides on setting up and using the Multi-Agent Orchestrator!</p> <h2>🌟 Use cases and implementations</h2> <p>Discover creative implementations and diverse applications of the Multi-Agent Orchestrator:</p> <ul> <li> <p><strong><a href="https://community.aws/content/2lCi8jEKydhDm8eE8QFIQ5K23pF/from-bonjour-to-boarding-pass-multilingual-ai-chatbot-for-flight-reservations">From 'Bonjour' to 'Boarding Pass': Multilingual AI Chatbot for Flight Reservations</a></strong></p> <p>This article demonstrates how to build a multilingual chatbot using the Multi-Agent Orchestrator framework. The article explains how to use an <strong>Amazon Lex</strong> bot as an agent, along with 2 other new agents to make it work in many languages with just a few lines of code.</p> </li> <li> <p><strong><a href="https://community.aws/content/2lq6cYYwTYGc7S3Zmz28xZoQNQj/beyond-auto-replies-building-an-ai-powered-e-commerce-support-system">Beyond Auto-Replies: Building an AI-Powered E-commerce Support system</a></strong></p> <p>This article demonstrates how to build an AI-driven multi-agent system for automated e-commerce customer email support. It covers the architecture and setup of specialized AI agents using the Multi-Agent Orchestrator framework, integrating automated processing with human-in-the-loop oversight. The guide explores email ingestion, intelligent routing, automated response generation, and human verification, providing a comprehensive approach to balancing AI efficiency with human expertise in customer support.</p> </li> <li> <p><strong><a href="https://community.aws/content/2mt7CFG7xg4yw6GRHwH9akhg0oD/speak-up-ai-voicing-your-agents-with-amazon-connect-lex-and-bedrock">Speak Up, AI: Voicing Your Agents with Amazon Connect, Lex, and Bedrock</a></strong></p> <p>This article demonstrates how to build an AI customer call center. It covers the architecture and setup of specialiazed AI agents using the Multi-Agent Orchestrator framework interacting with voice via <strong>Amazon Connect</strong> and <strong>Amazon Lex</strong>.</p> </li> </ul> <h3>TypeScript Version</h3> <h4>Installation</h4> <pre><code class="language-bash">npm install multi-agent-orchestrator </code></pre> <h4>Usage</h4> <p>The following example demonstrates how to use the Multi-Agent Orchestrator with two different types of agents: a Bedrock LLM Agent with Converse API support and a Lex Bot Agent. This showcases the flexibility of the system in integrating various AI services.</p> <pre><code class="language-typescript">import { MultiAgentOrchestrator, BedrockLLMAgent, LexBotAgent } from "multi-agent-orchestrator"; const orchestrator = new MultiAgentOrchestrator(); // Add a Bedrock LLM Agent with Converse API support orchestrator.addAgent( new BedrockLLMAgent({ name: "Tech Agent", description: "Specializes in technology areas including software development, hardware, AI, cybersecurity, blockchain, cloud computing, emerging tech innovations, and pricing/costs related to technology products and services.", streaming: true }) ); // Add a Lex Bot Agent for handling travel-related queries orchestrator.addAgent( new LexBotAgent({ name: "Travel Agent", description: "Helps users book and manage their flight reservations", botId: process.env.LEX_BOT_ID, botAliasId: process.env.LEX_BOT_ALIAS_ID, localeId: "en_US", }) ); // Example usage const response = await orchestrator.routeRequest( "I want to book a flight", 'user123', 'session456' ); // Handle the response (streaming or non-streaming) if (response.streaming == true) { console.log("\n** RESPONSE STREAMING ** \n"); // Send metadata immediately console.log(`&gt; Agent ID: ${response.metadata.agentId}`); console.log(`&gt; Agent Name: ${response.metadata.agentName}`); console.log(`&gt; User Input: ${response.metadata.userInput}`); console.log(`&gt; User ID: ${response.metadata.userId}`); console.log(`&gt; Session ID: ${response.metadata.sessionId}`); console.log( `&gt; Additional Parameters:`, response.metadata.additionalParams ); console.log(`\n&gt; Response: `); // Stream the content for await (const chunk of response.output) { if (typeof chunk === "string") { process.stdout.write(chunk); } else { console.error("Received unexpected chunk type:", typeof chunk); } } } else { // Handle non-streaming response (AgentProcessingResult) console.log("\n** RESPONSE ** \n"); console.log(`&gt; Agent ID: ${response.metadata.agentId}`); console.log(`&gt; Agent Name: ${response.metadata.agentName}`); console.log(`&gt; User Input: ${response.metadata.userInput}`); console.log(`&gt; User ID: ${response.metadata.userId}`); console.log(`&gt; Session ID: ${response.metadata.sessionId}`); console.log( `&gt; Additional Parameters:`, response.metadata.additionalParams ); console.log(`\n&gt; Response: ${response.output}`); } </code></pre> <h3>Python Version</h3> <h4>Installation</h4> <pre><code class="language-bash"># Optional: Set up a virtual environment python -m venv venv source venv/bin/activate # On Windows use `venv\Scripts\activate` pip install multi-agent-orchestrator </code></pre> <h4>Usage</h4> <p>Here's an equivalent Python example demonstrating the use of the Multi-Agent Orchestrator with a Bedrock LLM Agent and a Lex Bot Agent:</p> <pre><code class="language-python">import os import asyncio from multi_agent_orchestrator.orchestrator import MultiAgentOrchestrator from multi_agent_orchestrator.agents import BedrockLLMAgent, LexBotAgent, BedrockLLMAgentOptions, LexBotAgentOptions, AgentCallbacks orchestrator = MultiAgentOrchestrator() class BedrockLLMAgentCallbacks(AgentCallbacks): def on_llm_new_token(self, token: str) -&gt; None: # handle response streaming here print(token, end='', flush=True) tech_agent = BedrockLLMAgent(BedrockLLMAgentOptions( name="Tech Agent", streaming=True, description="Specializes in technology areas including software development, hardware, AI, \ cybersecurity, blockchain, cloud computing, emerging tech innovations, and pricing/costs \ related to technology products and services.", model_id="anthropic.claude-3-sonnet-20240229-v1:0", callbacks=BedrockLLMAgentCallbacks() )) orchestrator.add_agent(tech_agent) # Add a Lex Bot Agent for handling travel-related queries orchestrator.add_agent( LexBotAgent(LexBotAgentOptions( name="Travel Agent", description="Helps users book and manage their flight reservations", bot_id=os.environ.get('LEX_BOT_ID'), bot_alias_id=os.environ.get('LEX_BOT_ALIAS_ID'), locale_id="en_US", )) ) async def main(): # Example usage response = await orchestrator.route_request( "I want to book a flight", 'user123', 'session456' ) # Handle the response (streaming or non-streaming) if response.streaming: print("\n** RESPONSE STREAMING ** \n") # Send metadata immediately print(f"&gt; Agent ID: {response.metadata.agent_id}") print(f"&gt; Agent Name: {response.metadata.agent_name}") print(f"&gt; User Input: {response.metadata.user_input}") print(f"&gt; User ID: {response.metadata.user_id}") print(f"&gt; Session ID: {response.metadata.session_id}") print(f"&gt; Additional Parameters: {response.metadata.additional_params}") print("\n&gt; Response: ") # Stream the content async for chunk in response.output: if isinstance(chunk, str): print(chunk, end='', flush=True) else: print(f"Received unexpected chunk type: {type(chunk)}", file=sys.stderr) else: # Handle non-streaming response (AgentProcessingResult) print("\n** RESPONSE ** \n") print(f"&gt; Agent ID: {response.metadata.agent_id}") print(f"&gt; Agent Name: {response.metadata.agent_name}") print(f"&gt; User Input: {response.metadata.user_input}") print(f"&gt; User ID: {response.metadata.user_id}") print(f"&gt; Session ID: {response.metadata.session_id}") print(f"&gt; Additional Parameters: {response.metadata.additional_params}") print(f"\n&gt; Response: {response.output.content}") if __name__ == "__main__": asyncio.run(main()) </code></pre> <p>These examples showcase:</p> <ol> <li>The use of a Bedrock LLM Agent with Converse API support, allowing for multi-turn conversations.</li> <li>Integration of a Lex Bot Agent for specialized tasks (in this case, travel-related queries).</li> <li>The orchestrator's ability to route requests to the most appropriate agent based on the input.</li> <li>Handling of both streaming and non-streaming responses from different types of agents.</li> </ol> <h2>🤝 Contributing</h2> <p>We welcome contributions! Please see our <a href="https://raw.githubusercontent.com/awslabs/multi-agent-orchestrator/main/CONTRIBUTING.md">Contributing Guide</a> for more details.</p> <h1>Authors</h1> <ul> <li><a href="https://www.linkedin.com/in/corneliucroitoru/">Corneliu Croitoru</a></li> <li><a href="https://www.linkedin.com/in/anthonybernabeu/">Anthony Bernabeu</a></li> </ul> <h1>Contributors</h1> <p><a href="https://github.com/awslabs/multi-agent-orchestrator/graphs/contributors"><img src="https://contrib.rocks/image?repo=awslabs/multi-agent-orchestrator&amp;max=2000" alt="contributors"></a></p> <h2>📄 LICENSE</h2> <p>This project is licensed under the Apache 2.0 licence - see the <a href="https://raw.githubusercontent.com/awslabs/multi-agent-orchestrator/main/LICENSE">LICENSE</a> file for details.</p> <h2>📄 Font License</h2> <p>This project uses the JetBrainsMono NF font, licensed under the SIL Open Font License 1.1. For full license details, see <a href="https://github.com/JetBrains/JetBrainsMono/raw/master/OFL.txt">FONT-LICENSE.md</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 d19d6bdffe3..b4b3a9f1908 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 - 2024-11-20T01:36:20Z + 2024-11-21T01:38:24Z Daily 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 21d9a005663..4e2517b74d8 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 - 2024-11-20T01:36:27Z + 2024-11-21T01:38:29Z Daily 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 6b4b7086754..f6c3d8f6ff1 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 - 2024-11-20T01:36:28Z + 2024-11-21T01:38:29Z Daily 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 4e221b356f5..345de305348 100644 --- a/unknown/daily/index.xml +++ b/unknown/daily/index.xml @@ -1,7 +1,7 @@ GitHub Unknown languages Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:28:43Z + 2024-11-21T01:28:37Z Daily Trending of Unknown languages in GitHub \ No newline at end of file diff --git a/uno/daily/index.xml b/uno/daily/index.xml index 272ae9ba7fe..7a22f643b5e 100644 --- a/uno/daily/index.xml +++ b/uno/daily/index.xml @@ -1,7 +1,7 @@ GitHub Uno Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:36:27Z + 2024-11-21T01:38:29Z Daily Trending of Uno in GitHub \ No newline at end of file diff --git a/unrealscript/daily/index.xml b/unrealscript/daily/index.xml index 2b59290dc9e..648ce821fea 100644 --- a/unrealscript/daily/index.xml +++ b/unrealscript/daily/index.xml @@ -1,7 +1,7 @@ GitHub UnrealScript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:36:27Z + 2024-11-21T01:38:28Z Daily Trending of UnrealScript in GitHub \ No newline at end of file diff --git a/urweb/daily/index.xml b/urweb/daily/index.xml index 9aa7b2ce5fd..5d45af9f060 100644 --- a/urweb/daily/index.xml +++ b/urweb/daily/index.xml @@ -1,7 +1,7 @@ GitHub UrWeb Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:36:29Z + 2024-11-21T01:38:30Z Daily Trending of UrWeb in GitHub \ No newline at end of file diff --git a/v/daily/index.xml b/v/daily/index.xml index 636b1c838cc..241471537e8 100644 --- a/v/daily/index.xml +++ b/v/daily/index.xml @@ -1,7 +1,7 @@ GitHub V Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:36:29Z + 2024-11-21T01:38:31Z Daily Trending of V in GitHub \ No newline at end of file diff --git a/vala/daily/index.xml b/vala/daily/index.xml index 57dda5a28a4..ff255fdbf29 100644 --- a/vala/daily/index.xml +++ b/vala/daily/index.xml @@ -1,7 +1,7 @@ GitHub Vala Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:36:29Z + 2024-11-21T01:38:31Z Daily Trending of Vala in GitHub \ No newline at end of file diff --git a/valve-data-format/daily/index.xml b/valve-data-format/daily/index.xml index 3bf9c7d3fca..f147066878b 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 - 2024-11-20T01:36:28Z + 2024-11-21T01:38:30Z Daily 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 594f9c01add..2add4f7d311 100644 --- a/vba/daily/index.xml +++ b/vba/daily/index.xml @@ -1,7 +1,7 @@ GitHub VBA Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:36:31Z + 2024-11-21T01:38:32Z Daily Trending of VBA in GitHub \ No newline at end of file diff --git a/vbscript/daily/index.xml b/vbscript/daily/index.xml index f32c7b527b4..779822c292b 100644 --- a/vbscript/daily/index.xml +++ b/vbscript/daily/index.xml @@ -1,7 +1,7 @@ GitHub VBScript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:36:31Z + 2024-11-21T01:38:33Z Daily Trending of VBScript in GitHub \ No newline at end of file diff --git a/vcl/daily/index.xml b/vcl/daily/index.xml index 28457eece37..324a50ee41c 100644 --- a/vcl/daily/index.xml +++ b/vcl/daily/index.xml @@ -1,7 +1,7 @@ GitHub VCL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:36:30Z + 2024-11-21T01:38:32Z Daily Trending of VCL in GitHub \ No newline at end of file diff --git a/verilog/daily/index.xml b/verilog/daily/index.xml index 8b9200a8d91..fcb61b1d9d2 100644 --- a/verilog/daily/index.xml +++ b/verilog/daily/index.xml @@ -1,7 +1,7 @@ GitHub Verilog Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:36:33Z + 2024-11-21T01:38:35Z Daily Trending of Verilog in GitHub \ No newline at end of file diff --git a/vhdl/daily/index.xml b/vhdl/daily/index.xml index a4e4a1f6f42..6bc16403984 100644 --- a/vhdl/daily/index.xml +++ b/vhdl/daily/index.xml @@ -1,7 +1,7 @@ GitHub VHDL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:36:32Z + 2024-11-21T01:38:34Z Daily 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 0b4abd047cf..361d64f512c 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 - 2024-11-20T01:36:32Z + 2024-11-21T01:38:34Z Daily 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 a19c0e78b1a..0cafce265b9 100644 --- a/vim-script/daily/index.xml +++ b/vim-script/daily/index.xml @@ -1,7 +1,14 @@ GitHub Vim Script Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:36:35Z + 2024-11-21T01:38:37Z Daily Trending of Vim Script in GitHub + + pasky/claude.vim + 2024-11-21T01:38:37Z + tag:github.com,2024-11-21:/pasky/claude.vim + + <p>Claude vim plugin for AI pair programming - a hacker's gateway to LLMs</p><hr> + \ No newline at end of file diff --git a/vim-snippet/daily/index.xml b/vim-snippet/daily/index.xml index 1087304238e..79b40f29049 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 - 2024-11-20T01:36:34Z + 2024-11-21T01:38:35Z Daily Trending of Vim Snippet in GitHub \ No newline at end of file diff --git a/visual-basic-.net/daily/index.xml b/visual-basic-.net/daily/index.xml index c12c649c0ef..1c7050f7281 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 - 2024-11-20T01:36:34Z + 2024-11-21T01:38:36Z Daily Trending of Visual Basic .NET in GitHub \ No newline at end of file diff --git a/volt/daily/index.xml b/volt/daily/index.xml index 272a81a29cb..d89ce0c8c25 100644 --- a/volt/daily/index.xml +++ b/volt/daily/index.xml @@ -1,7 +1,7 @@ GitHub Volt Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:36:36Z + 2024-11-21T01:38:38Z Daily Trending of Volt in GitHub \ No newline at end of file diff --git a/vue/daily/index.xml b/vue/daily/index.xml index 9a8933484b5..9ee52acad3e 100644 --- a/vue/daily/index.xml +++ b/vue/daily/index.xml @@ -1,7 +1,7 @@ GitHub Vue Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:36:37Z + 2024-11-21T01:38:39Z Daily Trending of Vue in GitHub \ No newline at end of file diff --git a/vyper/daily/index.xml b/vyper/daily/index.xml index bbb21c2caa7..b7199bf9636 100644 --- a/vyper/daily/index.xml +++ b/vyper/daily/index.xml @@ -1,7 +1,7 @@ GitHub Vyper Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:36:36Z + 2024-11-21T01:38:38Z Daily 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 74653c6c66f..56688b4f031 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 - 2024-11-20T01:36:36Z + 2024-11-21T01:38:38Z Daily 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 a19af6b7579..0c79b4a23b5 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 - 2024-11-20T01:36:38Z + 2024-11-21T01:38:41Z Daily 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 65e0852aa70..4fdc142a925 100644 --- a/wdl/daily/index.xml +++ b/wdl/daily/index.xml @@ -1,7 +1,7 @@ GitHub WDL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:36:38Z + 2024-11-21T01:38:40Z Daily 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 01beddb2dab..98ab4eb542f 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 - 2024-11-20T01:36:38Z + 2024-11-21T01:38:40Z Daily 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 9e641cf2bfb..469ab71f2db 100644 --- a/webassembly/daily/index.xml +++ b/webassembly/daily/index.xml @@ -1,7 +1,7 @@ GitHub WebAssembly Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:36:39Z + 2024-11-21T01:38:40Z Daily Trending of WebAssembly in GitHub \ No newline at end of file diff --git a/webidl/daily/index.xml b/webidl/daily/index.xml index d6db2bcc1df..598a6944f31 100644 --- a/webidl/daily/index.xml +++ b/webidl/daily/index.xml @@ -1,7 +1,7 @@ GitHub WebIDL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:36:40Z + 2024-11-21T01:38:41Z Daily Trending of WebIDL in GitHub \ No newline at end of file diff --git a/webvtt/daily/index.xml b/webvtt/daily/index.xml index 32691dd245b..86511128f46 100644 --- a/webvtt/daily/index.xml +++ b/webvtt/daily/index.xml @@ -1,7 +1,7 @@ GitHub WebVTT Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:36:40Z + 2024-11-21T01:38:42Z Daily 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 88235efdc17..74e26188530 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 - 2024-11-20T01:36:39Z + 2024-11-21T01:38:42Z Daily 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 b3cc3f745d3..9f0bf4bb075 100644 --- a/wikitext/daily/index.xml +++ b/wikitext/daily/index.xml @@ -1,7 +1,7 @@ GitHub Wikitext Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:33:01Z + 2024-11-21T01:35:21Z Daily 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 1582c1d5c76..44d043a3ea1 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 - 2024-11-20T01:36:41Z + 2024-11-21T01:38:44Z Daily 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 df332bd2011..eff307a6245 100644 --- a/wisp/daily/index.xml +++ b/wisp/daily/index.xml @@ -1,7 +1,7 @@ GitHub wisp Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:36:43Z + 2024-11-21T01:38:45Z Daily 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 c276f921b7f..9b5c65659ce 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 - 2024-11-20T01:36:43Z + 2024-11-21T01:38:45Z Daily 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 1b8448accd7..a8bbacd5b3b 100644 --- a/wollok/daily/index.xml +++ b/wollok/daily/index.xml @@ -1,7 +1,7 @@ GitHub Wollok Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:36:44Z + 2024-11-21T01:38:45Z Daily 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 4a2832e08c8..a557f444146 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 - 2024-11-20T01:36:43Z + 2024-11-21T01:38:45Z Daily 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 93cf237cd71..120bfbc37f5 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 - 2024-11-20T01:36:44Z + 2024-11-21T01:38:47Z Daily 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 cf0571b2fcc..1ba85b9dfe1 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 - 2024-11-20T01:36:45Z + 2024-11-21T01:38:46Z Daily 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 66086cb6c16..0e531b92064 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 - 2024-11-20T01:36:44Z + 2024-11-21T01:38:47Z Daily 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 228c1f7f242..dcad5a16e5f 100644 --- a/x10/daily/index.xml +++ b/x10/daily/index.xml @@ -1,7 +1,7 @@ GitHub X10 Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:36:46Z + 2024-11-21T01:38:48Z Daily Trending of X10 in GitHub \ No newline at end of file diff --git a/xbase/daily/index.xml b/xbase/daily/index.xml index 8363dcdb89f..625158089d1 100644 --- a/xbase/daily/index.xml +++ b/xbase/daily/index.xml @@ -1,7 +1,7 @@ GitHub xBase Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:36:46Z + 2024-11-21T01:38:48Z Daily Trending of xBase in GitHub \ No newline at end of file diff --git a/xc/daily/index.xml b/xc/daily/index.xml index fd767ddc30e..ff578a1b0fc 100644 --- a/xc/daily/index.xml +++ b/xc/daily/index.xml @@ -1,7 +1,7 @@ GitHub XC Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:36:46Z + 2024-11-21T01:38:49Z Daily Trending of XC in GitHub \ No newline at end of file diff --git a/xcompose/daily/index.xml b/xcompose/daily/index.xml index d11c23c7269..f532c23be5d 100644 --- a/xcompose/daily/index.xml +++ b/xcompose/daily/index.xml @@ -1,7 +1,7 @@ GitHub XCompose Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:36:47Z + 2024-11-21T01:38:48Z Daily 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 82641c3b8d7..b3262a88511 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 - 2024-11-20T01:36:47Z + 2024-11-21T01:38:49Z Daily 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 56ebf94f139..0f5b1e5d0df 100644 --- a/xml/daily/index.xml +++ b/xml/daily/index.xml @@ -1,7 +1,7 @@ GitHub XML Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:36:48Z + 2024-11-21T01:38:50Z Daily Trending of XML in GitHub \ No newline at end of file diff --git a/xojo/daily/index.xml b/xojo/daily/index.xml index db059c02d64..2a5e039873e 100644 --- a/xojo/daily/index.xml +++ b/xojo/daily/index.xml @@ -1,7 +1,7 @@ GitHub Xojo Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:36:48Z + 2024-11-21T01:38:50Z Daily Trending of Xojo in GitHub \ No newline at end of file diff --git a/xonsh/daily/index.xml b/xonsh/daily/index.xml index a2c9c04b9e9..2008068214d 100644 --- a/xonsh/daily/index.xml +++ b/xonsh/daily/index.xml @@ -1,7 +1,7 @@ GitHub Xonsh Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:36:48Z + 2024-11-21T01:38:50Z Daily Trending of Xonsh in GitHub \ No newline at end of file diff --git a/xpages/daily/index.xml b/xpages/daily/index.xml index 32aa08ec974..423ae345f77 100644 --- a/xpages/daily/index.xml +++ b/xpages/daily/index.xml @@ -1,7 +1,7 @@ GitHub XPages Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:36:50Z + 2024-11-21T01:38:52Z Daily Trending of XPages in GitHub \ No newline at end of file diff --git a/xproc/daily/index.xml b/xproc/daily/index.xml index 86a89d672a6..ad8ccbba5b4 100644 --- a/xproc/daily/index.xml +++ b/xproc/daily/index.xml @@ -1,7 +1,7 @@ GitHub XProc Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:36:50Z + 2024-11-21T01:38:51Z Daily Trending of XProc in GitHub \ No newline at end of file diff --git a/xquery/daily/index.xml b/xquery/daily/index.xml index 022033b9dae..77740a90691 100644 --- a/xquery/daily/index.xml +++ b/xquery/daily/index.xml @@ -1,7 +1,7 @@ GitHub XQuery Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:36:49Z + 2024-11-21T01:38:52Z Daily Trending of XQuery in GitHub \ No newline at end of file diff --git a/xs/daily/index.xml b/xs/daily/index.xml index 33950319f09..453531cea91 100644 --- a/xs/daily/index.xml +++ b/xs/daily/index.xml @@ -1,7 +1,7 @@ GitHub XS Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:36:50Z + 2024-11-21T01:38:52Z Daily Trending of XS in GitHub \ No newline at end of file diff --git a/xslt/daily/index.xml b/xslt/daily/index.xml index 5ec0b83d0ce..66ba3050b1f 100644 --- a/xslt/daily/index.xml +++ b/xslt/daily/index.xml @@ -1,7 +1,7 @@ GitHub XSLT Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:36:53Z + 2024-11-21T01:38:54Z Daily Trending of XSLT in GitHub \ No newline at end of file diff --git a/xtend/daily/index.xml b/xtend/daily/index.xml index d838f62c5cb..3005b254f3a 100644 --- a/xtend/daily/index.xml +++ b/xtend/daily/index.xml @@ -1,7 +1,7 @@ GitHub Xtend Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:36:51Z + 2024-11-21T01:38:53Z Daily Trending of Xtend in GitHub \ No newline at end of file diff --git a/yacc/daily/index.xml b/yacc/daily/index.xml index 44413675348..c3995c76c9a 100644 --- a/yacc/daily/index.xml +++ b/yacc/daily/index.xml @@ -1,7 +1,7 @@ GitHub Yacc Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:36:51Z + 2024-11-21T01:38:53Z Daily Trending of Yacc in GitHub \ No newline at end of file diff --git a/yaml/daily/index.xml b/yaml/daily/index.xml index ae02479a0d1..930b53de2c1 100644 --- a/yaml/daily/index.xml +++ b/yaml/daily/index.xml @@ -1,7 +1,7 @@ GitHub YAML Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:36:52Z + 2024-11-21T01:38:54Z Daily Trending of YAML in GitHub \ No newline at end of file diff --git a/yang/daily/index.xml b/yang/daily/index.xml index 4753ae75063..c5b2500dc62 100644 --- a/yang/daily/index.xml +++ b/yang/daily/index.xml @@ -1,7 +1,7 @@ GitHub YANG Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:36:54Z + 2024-11-21T01:38:56Z Daily Trending of YANG in GitHub \ No newline at end of file diff --git a/yara/daily/index.xml b/yara/daily/index.xml index cfccf95e074..e84e6c34cef 100644 --- a/yara/daily/index.xml +++ b/yara/daily/index.xml @@ -1,7 +1,7 @@ GitHub YARA Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:36:54Z + 2024-11-21T01:38:56Z Daily Trending of YARA in GitHub \ No newline at end of file diff --git a/yasnippet/daily/index.xml b/yasnippet/daily/index.xml index e2a5cc4dda2..ec599580e4b 100644 --- a/yasnippet/daily/index.xml +++ b/yasnippet/daily/index.xml @@ -1,7 +1,7 @@ GitHub YASnippet Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:36:55Z + 2024-11-21T01:38:56Z Daily Trending of YASnippet in GitHub \ No newline at end of file diff --git a/zap/daily/index.xml b/zap/daily/index.xml index e90aaaa146c..6fc7dcc4190 100644 --- a/zap/daily/index.xml +++ b/zap/daily/index.xml @@ -1,7 +1,7 @@ GitHub ZAP Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:36:56Z + 2024-11-21T01:38:57Z Daily Trending of ZAP in GitHub \ No newline at end of file diff --git a/zeek/daily/index.xml b/zeek/daily/index.xml index 1f4caa8d0a6..86c4fc777e7 100644 --- a/zeek/daily/index.xml +++ b/zeek/daily/index.xml @@ -1,7 +1,7 @@ GitHub Zeek Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:29:18Z + 2024-11-21T01:29:12Z Daily Trending of Zeek in GitHub \ No newline at end of file diff --git a/zenscript/daily/index.xml b/zenscript/daily/index.xml index b21c5be1be0..55c5bb8e2cc 100644 --- a/zenscript/daily/index.xml +++ b/zenscript/daily/index.xml @@ -1,7 +1,7 @@ GitHub ZenScript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:36:56Z + 2024-11-21T01:38:58Z Daily Trending of ZenScript in GitHub \ No newline at end of file diff --git a/zephir/daily/index.xml b/zephir/daily/index.xml index 8810dfc8a74..ee8fdbd450e 100644 --- a/zephir/daily/index.xml +++ b/zephir/daily/index.xml @@ -1,7 +1,7 @@ GitHub Zephir Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:36:55Z + 2024-11-21T01:38:57Z Daily Trending of Zephir in GitHub \ No newline at end of file diff --git a/zig/daily/index.xml b/zig/daily/index.xml index b5d2d821184..961e476ab98 100644 --- a/zig/daily/index.xml +++ b/zig/daily/index.xml @@ -1,14 +1,7 @@ GitHub Zig Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:36:57Z + 2024-11-21T01:38:58Z Daily Trending of Zig in GitHub - - Dr-Nekoma/lyceum - 2024-11-20T01:36:57Z - tag:github.com,2024-11-20:/Dr-Nekoma/lyceum - - <p>An MMO game written in Erlang (+ PostgreSQL) + Zig (+ Raylib)</p><hr> - \ No newline at end of file diff --git a/zil/daily/index.xml b/zil/daily/index.xml index 6d31a2500da..6ed9a76fe8f 100644 --- a/zil/daily/index.xml +++ b/zil/daily/index.xml @@ -1,7 +1,7 @@ GitHub ZIL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:36:58Z + 2024-11-21T01:38:59Z Daily Trending of ZIL in GitHub \ No newline at end of file diff --git a/zimpl/daily/index.xml b/zimpl/daily/index.xml index 5ff320a13b4..6d84dfcef5f 100644 --- a/zimpl/daily/index.xml +++ b/zimpl/daily/index.xml @@ -1,7 +1,7 @@ GitHub Zimpl Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2024-11-20T01:36:57Z + 2024-11-21T01:38:59Z Daily Trending of Zimpl in GitHub \ No newline at end of file