trying to fix
This commit is contained in:
parent
fa407dfeb6
commit
e013d7569e
22945 changed files with 447936 additions and 0 deletions
|
@ -0,0 +1,85 @@
|
|||
<p>SHOW NOTES:
|
||||
</p>
|
||||
|
||||
<p>Thanks for listening! We’ve posted some helpful info for you in our show notes below!</p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p>PODCAST BASICS:
|
||||
</p>
|
||||
|
||||
<p>- Subscribe where you listen!</p>
|
||||
|
||||
<p>- Check out the details on our <a href='http://www.thebiblerecap.com'>website
|
||||
</a></p>
|
||||
|
||||
<p>- Get the<a href='https://www.bible.com/app'> Bible app</a> (free)
|
||||
</p>
|
||||
|
||||
<p>- Follow our<a href='https://www.bible.com/reading-plans/5-chronological'> Bible reading plan</a></p>
|
||||
|
||||
<p>- Check out our customized <a href='https://www.theconnextion.com/tlcdgroup/index.cfm'>journal</a></p>
|
||||
|
||||
<p>- Join our <a href='https://www.patreon.com/thebiblerecap'>PATREON</a> community for bonus fun! </p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p>MERCH: Get your<a href='https://www.theconnextion.com/tlcdgroup/index.cfm'> TBR merch</a>! We’ve got t-shirts, coffee mugs, tote bags, phone wallets, and stickers! </p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p>FROM TODAY’S PODCAST: </p>
|
||||
|
||||
<p>- <a href='https://www.biblegateway.com/passage/?search=Numbers+14%3A29-35&version=ESV'>Numbers 14:29-35</a></p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p>- SOCIALS:</p>
|
||||
|
||||
<p>The Bible Recap:<a href='https://instagram.com/thebiblerecap'> Instagram</a> |<a href='https://www.facebook.com/thebiblerecap'> Facebook</a> |<a href='https://twitter.com/thebiblerecap'> Twitter</a> | <a href='http://pinterest.com/thebiblerecap'>Pinterest</a></p>
|
||||
|
||||
<p>D-Group:<a href='https://instagram.com/mydgroup/'> Instagram</a> |<a href='https://www.facebook.com/ilovemydgroup'> Facebook</a> |<a href='https://mobile.twitter.com/mydgroup'> Twitter</a> | <a href='http://pinterest.com/ilovemydgroup'>Pinterest</a></p>
|
||||
|
||||
<p>TLC:<a href='https://instagram.com/taraleighcobble'> Instagram</a> |<a href='https://www.facebook.com/taraleighcobble'> Facebook</a> |<a href='https://twitter.com/taraleighcobble'> Twitter</a></p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p>D-GROUP:
|
||||
</p>
|
||||
|
||||
<p>The Bible Recap is brought to you by<a href='https://www.mydgroup.org/'> D-Group</a> - an international network of discipleship and accountability groups that meet weekly in homes and churches:<a href='https://www.mydgroup.org/map'> Find or start one near you today</a>!</p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p>TBR TEAM:
|
||||
</p>
|
||||
|
||||
<p>Written and Hosted by: <a href='http://taraleighcobble.com'>Tara-Leigh Cobble</a></p>
|
||||
|
||||
<p>Content Manager: <a href='http://mydgroup.org'>Courtney Vaughan
|
||||
</a></p>
|
||||
|
||||
<p>Podcast Operations: <a href='http://mydgroup.org'>Callie Summers
|
||||
</a></p>
|
||||
|
||||
<p>Website Management: <a href='http://mydgroup.org'>Joelle Smith</a></p>
|
||||
|
||||
<p>Sound Engineer: <a href='http://thebiblerecap.com'>Allison Congden</a></p>
|
||||
|
||||
<p>Content Design: <a href='http://misswyolene.com'>Morgan Young
|
||||
</a></p>
|
||||
|
||||
<p>Social Media Management: <a href='http://thebiblerecap.com'>Sarah Yocum</a></p>
|
||||
|
||||
<p>Journal Design: <a href='https://brittneyhmurray.weebly.com/'>Brittney Murray</a></p>
|
||||
|
||||
<p>Logo Design: <a href='mailto:landonhwade@gmail.com'>Landon Wade</a></p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p>Available on:<a href='https://itunes.apple.com/us/podcast/the-bible-recap/id1440833267'> iTunes</a> |<a href='https://open.spotify.com/show/2lWv2RlsyMSMzerbAb1uOx'> Spotify</a> |<a href='https://www.google.com/podcasts?feed=aHR0cHM6Ly93d3cuaXZvb3guY29tL3RoZS1iaWJsZS1yZWNhcF9mZ19mMTYzNzgzNF9maWx0cm9fMS54bWw'> Google</a> |<a href='https://www.stitcher.com/podcast/dgroup/the-bible-recap?refid=stpr'> Stitcher</a> |<a href='https://thebiblerecap.podbean.com/'> Podbean</a> | <a href='https://play.google.com/music/m/Ivmpjo6234pwcvclpwxzlklglpm?t=The_Bible_Recap'>Google Play</a> | <a href='http://youtube.com/c/TheBibleRecap'>YouTube</a></p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p>WEBSITE:
|
||||
<a href='http://www.thebiblerecap.com'>thebiblerecap.com</a></p>
|
598
var/elfeed/db/data/60/603693da234ad33772a242927b4092435f3c6333
Normal file
598
var/elfeed/db/data/60/603693da234ad33772a242927b4092435f3c6333
Normal file
|
@ -0,0 +1,598 @@
|
|||
|
||||
|
||||
<p>Raw link: <a href="https://www.youtube.com/watch?v=Oqn56p2cGQ4">https://www.youtube.com/watch?v=Oqn56p2cGQ4</a></p>
|
||||
|
||||
<p>In this presentation I demonstrate a collection of functions that
|
||||
improve my day-to-day experience with Emacs. They are meant to modify
|
||||
the functionality of existing tools, such as those that are already
|
||||
shipped with the upstream Emacs distribution.</p>
|
||||
|
||||
<p>The following code block presents the contents of the file I used in
|
||||
this video. Please note that <em>the code block will not be updated</em>. For
|
||||
the latest version of everything I share on this front, you should refer
|
||||
to <a href="https://protesilaos.com/emacs/dotemacs">my dotemacs</a>.</p>
|
||||
|
||||
<pre><code class="language-elisp">;;; Scratch buffers on demand
|
||||
|
||||
;; Package by Ian Eure (ieure on GitHub)
|
||||
(use-package scratch
|
||||
:ensure
|
||||
:config
|
||||
(defun prot/scratch-buffer-setup ()
|
||||
"Add contents to `scratch' buffer and name it accordingly."
|
||||
(let* ((mode (format "%s" major-mode))
|
||||
(string (concat "Scratch buffer for: " mode "\n\n")))
|
||||
(when scratch-buffer
|
||||
(save-excursion
|
||||
(insert string)
|
||||
(goto-char (point-min))
|
||||
(comment-region (point-at-bol) (point-at-eol)))
|
||||
(forward-line 2))
|
||||
(rename-buffer (concat "*Scratch for " mode "*") t)))
|
||||
:hook (scratch-create-buffer-hook . prot/scratch-buffer-setup)
|
||||
:bind ("C-c s" . scratch))
|
||||
|
||||
;;; Maximise window + kill buffer (and close window)
|
||||
|
||||
;; `prot/window-single-toggle' is based on `windower' by Pierre
|
||||
;; Neidhardt (ambrevar on GitLab)
|
||||
(use-package emacs
|
||||
:config
|
||||
(defvar prot/window-configuration nil
|
||||
"Current window configuration.
|
||||
Intended for use by `prot/window-monocle'.")
|
||||
|
||||
(define-minor-mode prot/window-single-toggle
|
||||
"Toggle between multiple windows and single window.
|
||||
This is the equivalent of maximising a window. Tiling window
|
||||
managers such as DWM, BSPWM refer to this state as 'monocle'."
|
||||
:lighter " [M]"
|
||||
:global nil
|
||||
(if (one-window-p)
|
||||
(when prot/window-configuration
|
||||
(set-window-configuration prot/window-configuration))
|
||||
(setq prot/window-configuration (current-window-configuration))
|
||||
(delete-other-windows)))
|
||||
|
||||
(defun prot/kill-buffer-current (&optional arg)
|
||||
"Kill current buffer or abort recursion when in minibuffer."
|
||||
(interactive "P")
|
||||
(if (minibufferp)
|
||||
(abort-recursive-edit)
|
||||
(kill-buffer (current-buffer)))
|
||||
(when (and arg
|
||||
(not (one-window-p)))
|
||||
(delete-window)))
|
||||
:bind (("s-m" . prot/window-single-toggle)
|
||||
("s-k" . prot/kill-buffer-current)))
|
||||
|
||||
;;; Marking constructs
|
||||
|
||||
(use-package emacs
|
||||
:commands (prot/mark-symbol
|
||||
prot/mark-sexp-backward)
|
||||
:config
|
||||
(defmacro prot/mark (name object &optional docstring)
|
||||
"Produce function for marking small syntactic constructs.
|
||||
NAME is how the function should be called. OBJECT is its scope.
|
||||
Optional DOCSTRING describes the resulting function.
|
||||
|
||||
This is a slightly modified version of the built-in `mark-word'."
|
||||
`(defun ,name (&optional arg allow-extend)
|
||||
,docstring
|
||||
(interactive "P\np")
|
||||
(let ((x (format "%s-%s" "forward" ,object)))
|
||||
(cond ((and allow-extend
|
||||
(or (and (eq last-command this-command) (mark t))
|
||||
(region-active-p)))
|
||||
(setq arg (if arg (prefix-numeric-value arg)
|
||||
(if (< (mark) (point)) -1 1)))
|
||||
(set-mark
|
||||
(save-excursion
|
||||
(goto-char (mark))
|
||||
(funcall (intern x) arg)
|
||||
(point))))
|
||||
(t
|
||||
(let ((bounds (bounds-of-thing-at-point (intern ,object))))
|
||||
(unless (consp bounds)
|
||||
(user-error "No %s at point" ,object))
|
||||
(if (>= (prefix-numeric-value arg) 0)
|
||||
(goto-char (car bounds))
|
||||
(goto-char (cdr bounds)))
|
||||
(push-mark
|
||||
(save-excursion
|
||||
(funcall (intern x) (prefix-numeric-value arg))
|
||||
(point)))
|
||||
(activate-mark)))))))
|
||||
|
||||
(prot/mark
|
||||
prot/mark-word
|
||||
"word"
|
||||
"Mark the whole word at point.
|
||||
This function is a slightly modified version of the built-in
|
||||
`mark-word', that I intend to use only in special circumstances,
|
||||
such as when recording a keyboard macro where precision is
|
||||
required. For a general purpose utility, use `prot/mark-symbol'
|
||||
instead.")
|
||||
|
||||
(prot/mark
|
||||
prot/mark-symbol
|
||||
"symbol"
|
||||
"Mark the whole symbol at point.
|
||||
With optional ARG, mark the current symbol and any remaining
|
||||
ARGth symbols away from point. A negative argument moves
|
||||
backward. Repeated invocations of this command mark the next
|
||||
symbol in the direction originally specified.
|
||||
|
||||
In the absence of a symbol and if a word is present at point,
|
||||
this command will operate on it as described above.")
|
||||
|
||||
(defun prot/mark-sexp-backward (&optional arg)
|
||||
"Mark previous or ARGth balanced expression[s].
|
||||
Just a convenient backward-looking `mark-sexp'."
|
||||
(interactive "P")
|
||||
(if arg
|
||||
(mark-sexp (- arg) t)
|
||||
(mark-sexp (- 1) t)))
|
||||
|
||||
(defun prot/mark-construct-dwim (&optional arg)
|
||||
"Mark symbol or balanced expression at point.
|
||||
A do-what-I-mean wrapper for `prot/mark-sexp-backward',
|
||||
`mark-sexp', and `prot/mark-symbol'.
|
||||
|
||||
When point is over a symbol, mark the entirety of it. Regular
|
||||
words are interpreted as symbols when an actual symbol is not
|
||||
present.
|
||||
|
||||
For balanced expressions, a backward match will happen when point
|
||||
is to the right of the closing delimiter. A forward match is the
|
||||
fallback condition and should work when point is before a
|
||||
balanced expression, with or without whitespace in between it an
|
||||
the opening delimiter.
|
||||
|
||||
Optional ARG will mark a total of ARGth objects while counting
|
||||
the current one (so 3 would be 1+2 more). A negative count moves
|
||||
the mark backward (though that would invert the backward-moving
|
||||
sexp matching of `prot/mark-sexp-backward', so be mindful of
|
||||
where the point is). Repeated invocations of this command
|
||||
incrementally mark objects in the direction originally
|
||||
specified."
|
||||
(interactive "P")
|
||||
(cond
|
||||
((symbol-at-point)
|
||||
(prot/mark-symbol arg t))
|
||||
((eq (point) (cdr (bounds-of-thing-at-point 'sexp)))
|
||||
(prot/mark-sexp-backward arg))
|
||||
(t
|
||||
(mark-sexp arg t))))
|
||||
|
||||
:bind (("M-@" . prot/mark-word) ; replaces `mark-word'
|
||||
("C-M-SPC" . prot/mark-construct-dwim)))
|
||||
|
||||
;;; Workspaces (Emacs 27 "tabs")
|
||||
|
||||
(use-package tab-bar
|
||||
:config
|
||||
(setq tab-bar-close-button-show nil)
|
||||
(setq tab-bar-close-last-tab-choice 'tab-bar-mode-disable)
|
||||
(setq tab-bar-close-tab-select 'recent)
|
||||
(setq tab-bar-new-tab-choice t)
|
||||
(setq tab-bar-new-tab-to 'right)
|
||||
(setq tab-bar-position nil)
|
||||
(setq tab-bar-show nil)
|
||||
(setq tab-bar-tab-hints nil)
|
||||
(setq tab-bar-tab-name-function 'tab-bar-tab-name-all)
|
||||
|
||||
(tab-bar-mode -1)
|
||||
(tab-bar-history-mode -1)
|
||||
|
||||
(defun prot/tab-bar-select-tab-dwim ()
|
||||
"Do-What-I-Mean function for getting to a `tab-bar-mode' tab.
|
||||
If no other tab exists, create one and switch to it. If there is
|
||||
one other tab (so two in total) switch to it without further
|
||||
questions. Else use completion to select the tab to switch to."
|
||||
(interactive)
|
||||
(let ((tabs (mapcar (lambda (tab)
|
||||
(alist-get 'name tab))
|
||||
(tab-bar--tabs-recent))))
|
||||
(cond ((eq tabs nil)
|
||||
(tab-new))
|
||||
((eq (length tabs) 1)
|
||||
(tab-next))
|
||||
(t
|
||||
(icomplete-vertical-do ()
|
||||
(tab-bar-switch-to-tab
|
||||
(completing-read "Select tab: " tabs nil t)))))))
|
||||
|
||||
:bind (("C-x t t" . prot/tab-bar-select-tab-dwim)
|
||||
("s-t" . prot/tab-bar-select-tab-dwim)
|
||||
("C-x t s" . tab-switcher)))
|
||||
|
||||
;;; Git log with VC (built-in Version Control framework)
|
||||
|
||||
(use-package vc
|
||||
:config
|
||||
(setq vc-find-revision-no-save t)
|
||||
|
||||
(use-package log-view
|
||||
:config
|
||||
(defun prot/vc-print-log (&optional arg)
|
||||
"Like `vc-print-log' but for a custom fileset.
|
||||
|
||||
With optional prefix ARG (\\[universal-argument]), query for a
|
||||
number to limit the log to. Then prompt the user for matching
|
||||
files in the `default-directory'. A literal space delimits
|
||||
multiple files (inserting a space will renew the prompt, asking
|
||||
for another file match).
|
||||
|
||||
In a `dired-mode' buffer, print log for the file at point, or any
|
||||
marked files, except for when a double prefix argument is passed.
|
||||
A single prefix arg still provides for a limit to the log.
|
||||
|
||||
If a double prefix ARG is passed, prompt for a limit and produce
|
||||
a log that covers all files in the present directory."
|
||||
(interactive "P")
|
||||
(let* ((lim (if arg
|
||||
(read-number "Limit log to N entries: " 5)
|
||||
20))
|
||||
(dir default-directory)
|
||||
(dotless directory-files-no-dot-files-regexp)
|
||||
(files (directory-files dir nil dotless t))
|
||||
(crm-separator " ")
|
||||
(set (cond
|
||||
((equal arg '(16))
|
||||
files)
|
||||
((eq major-mode 'dired-mode)
|
||||
(dired-get-marked-files t nil))
|
||||
(t
|
||||
(icomplete-vertical-do ()
|
||||
(completing-read-multiple
|
||||
"Select files in current dir: " files nil t)))))
|
||||
(backend (vc-backend set)))
|
||||
(vc-print-log-internal backend set nil nil lim 'with-diff)))
|
||||
|
||||
(defun prot/log-view-extract-commit ()
|
||||
"Kill commit from around point in `vc-print-log'."
|
||||
(interactive)
|
||||
(let ((commit (cadr (log-view-current-entry (point) t))))
|
||||
(kill-new (format "%s" commit))
|
||||
(message "Copied: %s" commit)))
|
||||
|
||||
:bind (("C-x v SPC" . prot/vc-print-log)
|
||||
:map log-view-mode-map
|
||||
("<tab>" . log-view-toggle-entry-display)
|
||||
("<return>" . log-view-find-revision)
|
||||
("w" . prot/log-view-extract-commit)
|
||||
("s" . vc-log-search)
|
||||
("o" . vc-log-outgoing)
|
||||
("f" . vc-log-incoming)
|
||||
("F" . vc-update)
|
||||
("P" . vc-push)))
|
||||
|
||||
:bind (("C-x v b" . vc-retrieve-tag) ; "branch" switch
|
||||
("C-x v t" . vc-create-tag)
|
||||
("C-x v f" . vc-log-incoming) ; the actual git fetch
|
||||
("C-x v F" . vc-update) ; "F" because "P" is push
|
||||
("C-x v d" . vc-diff)))
|
||||
|
||||
;;; Diff functions
|
||||
|
||||
(use-package diff
|
||||
:commands prot/diff-refine-buffer
|
||||
:config
|
||||
(setq diff-default-read-only t)
|
||||
(setq diff-advance-after-apply-hunk t)
|
||||
(setq diff-update-on-the-fly t)
|
||||
;; The following are from Emacs 27.1
|
||||
(setq diff-refine nil) ; I do it on demand
|
||||
(setq diff-font-lock-prettify nil) ; better for patches
|
||||
(setq diff-font-lock-syntax nil) ; good for accessibility
|
||||
|
||||
(defun prot/diff-buffer-with-file (&optional arg)
|
||||
"Compare buffer to its file, else run `vc-diff'.
|
||||
With \\[universal-argument] also enable highlighting of word-wise
|
||||
changes, local to the current buffer."
|
||||
(interactive "P")
|
||||
(let ((buf nil)) ; this method will "fail" if multi diff buffers
|
||||
(if (buffer-modified-p)
|
||||
(progn
|
||||
(diff-buffer-with-file (current-buffer))
|
||||
(setq buf "*Diff*"))
|
||||
(vc-diff)
|
||||
(setq buf "*vc-diff*"))
|
||||
(when arg
|
||||
(with-current-buffer (get-buffer buf)
|
||||
(setq-local diff-refine 'font-lock)))))
|
||||
|
||||
(defun prot/diff-refine-buffer ()
|
||||
"Produce word-wise, 'refined' diffs in `diff-mode' buffer.
|
||||
Also see `prot/diff-refine-hunk-or-buf' that is a wrapper for the
|
||||
current command."
|
||||
(interactive)
|
||||
(let ((position (point)))
|
||||
(when (derived-mode-p 'diff-mode)
|
||||
(setq-local diff-refine 'font-lock)
|
||||
(font-lock-flush (point-min) (point-max))
|
||||
(goto-char position))))
|
||||
|
||||
(defun prot/diff-refine-hunk-or-buf (&optional arg)
|
||||
"Apply word-wise, 'refined' diffs to hunk or buffer.
|
||||
With prefix ARG (\\[universal-argument]), refine the entire
|
||||
buffer, else the diff hunk at point.
|
||||
|
||||
This is a wrapper around `prot/diff-refine-buffer' and
|
||||
`diff-refine-hunk', meant to economise on key bindings."
|
||||
(interactive "P")
|
||||
(if arg
|
||||
(prot/diff-refine-buffer)
|
||||
(diff-refine-hunk)))
|
||||
|
||||
(defun prot/diff-restrict-view-dwim (&optional arg)
|
||||
"Use `diff-restrict-view', or widen when already narrowed.
|
||||
By default the narrowing effect applies to the focused diff hunk.
|
||||
With \\[universal-argument] do it for the current file instead."
|
||||
(interactive "P")
|
||||
(when (derived-mode-p 'diff-mode)
|
||||
(if (buffer-narrowed-p)
|
||||
(progn
|
||||
(widen)
|
||||
(message "Widened the view"))
|
||||
(if arg
|
||||
(progn
|
||||
(diff-restrict-view arg)
|
||||
(message "Narrowed to file"))
|
||||
(diff-restrict-view)
|
||||
(message "Narrowed to diff hunk")))))
|
||||
|
||||
;; `prot/diff-buffer-with-file' replaces the default for `vc-diff'
|
||||
;; (which I bind to another key---see VC section).
|
||||
:bind (("C-x v =" . prot/diff-buffer-with-file)
|
||||
:map diff-mode-map
|
||||
("C-c C-b" . prot/diff-refine-hunk-or-buf) ; replace `diff-refine-hunk'
|
||||
("C-c C-n" . prot/diff-restrict-view-dwim)))
|
||||
|
||||
;;; Insert delimiters and text headings
|
||||
|
||||
(use-package emacs
|
||||
:config
|
||||
;; Got those numbers from `string-to-char'
|
||||
(defconst prot/insert-pair-alist
|
||||
'(("' Single quote" . (39 39)) ; ' '
|
||||
("\" Double quotes" . (34 34)) ; " "
|
||||
("` Elisp quote" . (96 39)) ; ` '
|
||||
("‘ Single apostrophe" . (8216 8217)) ; ‘ ’
|
||||
("“ Double apostrophes" . (8220 8221)) ; “ ”
|
||||
("( Parentheses" . (40 41)) ; ( )
|
||||
("{ Curly brackets" . (123 125)) ; { }
|
||||
("[ Square brackets" . (91 93)) ; [ ]
|
||||
("< Angled brackets" . (60 62)) ; < >
|
||||
("« Εισαγωγικά Gr quote" . (171 187))) ; « »
|
||||
"Alist of pairs for use with `prot/insert-pair-completion'.")
|
||||
|
||||
(defun prot/insert-pair-completion (&optional arg)
|
||||
"Insert pair from `prot/insert-pair-alist'."
|
||||
(interactive "P")
|
||||
(let* ((data prot/insert-pair-alist)
|
||||
(chars (mapcar #'car data))
|
||||
(choice (completing-read "Select character: " chars nil t))
|
||||
(left (cadr (assoc choice data)))
|
||||
(right (caddr (assoc choice data))))
|
||||
(insert-pair arg left right)))
|
||||
|
||||
;; Based on `org--line-empty-p'.
|
||||
(defmacro prot/line-p (name regexp)
|
||||
"Make NAME function to match REGEXP on line n from point."
|
||||
`(defun ,name (n)
|
||||
(save-excursion
|
||||
(and (not (bobp))
|
||||
(or (beginning-of-line n) t)
|
||||
(save-match-data
|
||||
(looking-at ,regexp))))))
|
||||
|
||||
(prot/line-p
|
||||
prot/empty-line-p
|
||||
"[\s\t]*$")
|
||||
|
||||
(prot/line-p
|
||||
prot/indent-line-p
|
||||
"^[\s\t]+")
|
||||
|
||||
(prot/line-p
|
||||
prot/non-empty-line-p
|
||||
"^.*$")
|
||||
|
||||
(prot/line-p
|
||||
prot/text-list-line-p
|
||||
"^\\([\s\t#*+]+\\|[0-9]+[).]+\\)")
|
||||
|
||||
(prot/line-p
|
||||
prot/text-heading-line-p
|
||||
"^[=-]+")
|
||||
|
||||
(defun prot/text-mode-heading (&optional arg)
|
||||
"Insert equal length heading delimiter below current line.
|
||||
|
||||
A heading delimiter is drawn as a series of dashes (-). With
|
||||
optional ARG, i.e. by prefixing \\[universal-argument], draw the
|
||||
heading delimiter with equals signs (=). The latter is
|
||||
considered a heading level 1, while the former is level 2.
|
||||
|
||||
A heading delimiter is inserted only when that would not mess up
|
||||
with existing headings or lists. In such cases, point will move
|
||||
to the next line. For the purposes of this command, text that
|
||||
starts with a number and no further delimiter is not consider a
|
||||
list element.
|
||||
|
||||
This command is meant to be used in `text-mode' buffers and
|
||||
derivatives, such as `markdown-mode', though not in `org-mode'."
|
||||
(interactive "P")
|
||||
(cond
|
||||
((eq major-mode 'org-mode)
|
||||
(user-error "Do not use `prot/text-mode-heading' in `org-mode'!"))
|
||||
((derived-mode-p 'text-mode)
|
||||
(let* ((count (- (point-at-eol) (point-at-bol)))
|
||||
(char (string-to-char (if arg "=" "-"))))
|
||||
(cond
|
||||
((and (eobp)
|
||||
(or (prot/text-list-line-p 1)
|
||||
(prot/text-heading-line-p 1)
|
||||
(prot/empty-line-p 1)
|
||||
(prot/indent-line-p 1)))
|
||||
(newline 1))
|
||||
((or (prot/empty-line-p 1)
|
||||
(prot/indent-line-p 1))
|
||||
(prot/new-line-below))
|
||||
((or (prot/text-list-line-p 1)
|
||||
(prot/text-heading-line-p 2))
|
||||
(if (prot/empty-line-p 3)
|
||||
(beginning-of-line 3)
|
||||
(prot/new-line-below)))
|
||||
(t
|
||||
(prot/new-line-below)
|
||||
(insert-char char count nil)
|
||||
(newline 2)))))))
|
||||
|
||||
:bind (("C-'" . prot/insert-pair-completion)
|
||||
("M-'" . prot/insert-pair-completion)
|
||||
("<C-M-backspace>" . backward-kill-sexp)
|
||||
("M-c" . capitalize-dwim)
|
||||
("M-l" . downcase-dwim) ; "lower" case
|
||||
("M-u" . upcase-dwim)
|
||||
:map text-mode-map
|
||||
("<M-return>" . prot/text-mode-heading)))
|
||||
|
||||
;;; Search for files, directories, buffers
|
||||
|
||||
(use-package dired-aux
|
||||
:config
|
||||
(setq dired-isearch-filenames 'dwim)
|
||||
;; The following variables were introduced in Emacs 27.1
|
||||
(setq dired-create-destination-dirs 'ask)
|
||||
(setq dired-vc-rename-file t)
|
||||
|
||||
(defmacro prot/dired-fd (name doc prompt &rest flags)
|
||||
"Make commands for selecting 'fd' results with completion.
|
||||
NAME is how the function should be named. DOC is the function's
|
||||
documentation string. PROMPT describes the scope of the query.
|
||||
FLAGS are the command-line arguments passed to the 'fd'
|
||||
executable, each of which is a string."
|
||||
`(defun ,name (&optional arg)
|
||||
,doc
|
||||
(interactive "P")
|
||||
(let* ((vc (vc-root-dir))
|
||||
(dir (expand-file-name (if vc vc default-directory)))
|
||||
(regexp (read-regexp
|
||||
(format "%s matching REGEXP in %s: " ,prompt
|
||||
(propertize dir 'face 'bold))))
|
||||
(names (process-lines "fd" ,@flags regexp dir))
|
||||
(buf "*FD Dired*"))
|
||||
(if names
|
||||
(if arg
|
||||
(dired (cons (generate-new-buffer-name buf) names))
|
||||
(icomplete-vertical-do ()
|
||||
(find-file
|
||||
(completing-read (format "Items matching %s (%s): "
|
||||
(propertize regexp 'face 'success)
|
||||
(length names))
|
||||
names nil t)))))
|
||||
(user-error (format "No matches for « %s » in %s" regexp dir)))))
|
||||
|
||||
(prot/dired-fd
|
||||
prot/dired-fd-dirs
|
||||
"Search for directories in VC root or PWD.
|
||||
With \\[universal-argument] put the results in a `dired' buffer.
|
||||
This relies on the external 'fd' executable."
|
||||
"Subdirectories"
|
||||
"-i" "-H" "-a" "-t" "d" "-c" "never")
|
||||
|
||||
(prot/dired-fd
|
||||
prot/dired-fd-files-and-dirs
|
||||
"Search for files and directories in VC root or PWD.
|
||||
With \\[universal-argument] put the results in a `dired' buffer.
|
||||
This relies on the external 'fd' executable."
|
||||
"Files and dirs"
|
||||
"-i" "-H" "-a" "-t" "d" "-t" "f" "-c" "never")
|
||||
|
||||
:bind (("M-s d" . prot/dired-fd-dirs)
|
||||
("M-s z" . prot/dired-fd-files-and-dirs)
|
||||
:map dired-mode-map
|
||||
("C-+" . dired-create-empty-file)
|
||||
("M-s f" . nil)))
|
||||
|
||||
(use-package ibuffer
|
||||
:config
|
||||
(setq ibuffer-expert t)
|
||||
(setq ibuffer-display-summary nil)
|
||||
(setq ibuffer-use-other-window nil)
|
||||
(setq ibuffer-show-empty-filter-groups nil)
|
||||
(setq ibuffer-movement-cycle nil)
|
||||
(setq ibuffer-default-sorting-mode 'filename/process)
|
||||
(setq ibuffer-use-header-line t)
|
||||
(setq ibuffer-default-shrink-to-minimum-size nil)
|
||||
(setq ibuffer-formats
|
||||
'((mark modified read-only locked " "
|
||||
(name 30 30 :left :elide)
|
||||
" "
|
||||
(size 9 -1 :right)
|
||||
" "
|
||||
(mode 16 16 :left :elide)
|
||||
" " filename-and-process)
|
||||
(mark " "
|
||||
(name 16 -1)
|
||||
" " filename)))
|
||||
(setq ibuffer-saved-filter-groups nil)
|
||||
(setq ibuffer-old-time 48)
|
||||
|
||||
(defun prot/buffers-major-mode (&optional arg)
|
||||
"Select buffers that match the current buffer's major mode.
|
||||
With \\[universal-argument] produce an `ibuffer' filtered
|
||||
accordingly. Else use standard completion."
|
||||
(interactive "P")
|
||||
(let* ((major major-mode)
|
||||
(prompt "Buffers for ")
|
||||
(mode-string (format "%s" major))
|
||||
(mode-string-pretty (propertize mode-string 'face 'success)))
|
||||
(if arg
|
||||
(ibuffer t (concat "*" prompt mode-string "*")
|
||||
(list (cons 'used-mode major)))
|
||||
(switch-to-buffer
|
||||
(read-buffer
|
||||
(concat prompt mode-string-pretty ": ") nil t
|
||||
(lambda (pair) ; pair is (name-string . buffer-object)
|
||||
(with-current-buffer (cdr pair) (derived-mode-p major))))))))
|
||||
|
||||
(defun prot/buffers-vc-root (&optional arg)
|
||||
"Select buffers that match the present `vc-root-dir'.
|
||||
With \\[universal-argument] produce an `ibuffer' filtered
|
||||
accordingly. Else use standard completion.
|
||||
|
||||
When no VC root is available, use standard `switch-to-buffer'."
|
||||
(interactive "P")
|
||||
(let* ((root (vc-root-dir))
|
||||
(prompt "Buffers for VC ")
|
||||
(vc-string (format "%s" root))
|
||||
(vc-string-pretty (propertize vc-string 'face 'success)))
|
||||
(if root
|
||||
(if arg
|
||||
(ibuffer t (concat "*" prompt vc-string "*")
|
||||
(list (cons 'filename (expand-file-name root))))
|
||||
(switch-to-buffer
|
||||
(read-buffer
|
||||
(concat prompt vc-string-pretty ": ") nil t
|
||||
(lambda (pair) ; pair is (name-string . buffer-object)
|
||||
(with-current-buffer (cdr pair) (string= (vc-root-dir) root))))))
|
||||
(call-interactively 'switch-to-buffer))))
|
||||
|
||||
:hook (ibuffer-mode-hook . hl-line-mode)
|
||||
:bind (("M-s b" . prot/buffers-major-mode)
|
||||
("M-s v" . prot/buffers-vc-root)
|
||||
("C-x C-b" . ibuffer)
|
||||
:map ibuffer-mode-map
|
||||
("* f" . ibuffer-mark-by-file-name-regexp)
|
||||
("* g" . ibuffer-mark-by-content-regexp) ; "g" is for "grep"
|
||||
("* n" . ibuffer-mark-by-name-regexp)
|
||||
("s n" . ibuffer-do-sort-by-alphabetic) ; "sort name" mnemonic
|
||||
("/ g" . ibuffer-filter-by-content)))
|
||||
</code></pre>
|
||||
|
||||
|
|
@ -0,0 +1,46 @@
|
|||
<p>SHOW NOTES: </p>
|
||||
|
||||
<p>- All the info you need to START is on our <a href='http://www.thebiblerecap.com'>website</a>! Seriously, go there.
|
||||
</p>
|
||||
|
||||
<p>- Join our <a href='https://www.patreon.com/thebiblerecap'>PATREON</a> community for bonus perks!</p>
|
||||
|
||||
<p>- Get your <a href='https://www.theconnextion.com/tlcdgroup/index.cfm'>TBR merch</a></p>
|
||||
|
||||
<p>- <a href='http://thebiblerecap.com/contact'>Show credits</a></p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p>FROM TODAY’S PODCAST:
|
||||
</p>
|
||||
|
||||
<p>- <a href='https://www.biblegateway.com/passage/?search=Ezekiel+47&version=ESV'>Ezekiel 47</a></p>
|
||||
|
||||
<p>- <a href='https://www.biblegateway.com/passage/?search=zechariah+14&version=ESV'>Zechariah 14</a></p>
|
||||
|
||||
<p>- Map: <a href='http://www.biblestudy.org/maps/division-of-promised-land-to-ancient-israel.jpg'>Land Allotment for the 12 Tribes</a></p>
|
||||
|
||||
<p>- <a href='https://thebiblerecap.podbean.com/e/037-exodus-22-24/'>Episode 037 - The Bible Recap
|
||||
</a></p>
|
||||
|
||||
<p>- The Bible Project: <a href='https://thebibleproject.com/podcast/theme-god-e1-god-or-gods/'>"God or gods?"</a>
|
||||
</p>
|
||||
|
||||
<p>- The Bible Project: <a href='https://thebibleproject.com/podcast/theme-god-e2-no-other-god/'>"No Other God"</a></p>
|
||||
|
||||
<p>- Join <a href='http://www.patreon.com/thebiblerecap'>Patreon</a> to receive additional perks!</p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p>SOCIALS:</p>
|
||||
|
||||
<p>The Bible Recap:<a href='https://instagram.com/thebiblerecap'> Instagram</a> |<a href='https://www.facebook.com/thebiblerecap'> Facebook</a> |<a href='https://twitter.com/thebiblerecap'> Twitter</a></p>
|
||||
|
||||
<p>D-Group:<a href='https://instagram.com/mydgroup/'> Instagram</a> |<a href='https://www.facebook.com/ilovemydgroup'> Facebook</a> |<a href='https://mobile.twitter.com/mydgroup'> Twitter</a></p>
|
||||
|
||||
<p>TLC:<a href='https://instagram.com/taraleighcobble'> Instagram</a> |<a href='https://www.facebook.com/taraleighcobble'> Facebook</a> |<a href='https://twitter.com/taraleighcobble'> Twitter</a></p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p>D-GROUP:
|
||||
The Bible Recap is brought to you by<a href='https://www.mydgroup.org/'> D-Group</a> - an international network of discipleship and accountability groups that meet weekly in homes and churches:<a href='https://www.mydgroup.org/map'> Find or start one near you today</a>!</p>
|
|
@ -0,0 +1 @@
|
|||
<p>The New Testament letters all share a core conviction that shapes how the apostles taught followers of Jesus to live in the first century. Listen in as Tim and Jon discuss the focus of the New Testament letters and how they help us live wisely today. </p><p><a href="https://bibleproject.com/podcast/how-live-jesus-lord/">View full show notes from this episode →</a></p><p>Timestamps </p><ul><li>Part one (0:00–28:45)</li><li>Part two (28:45–38:00)</li><li>Part three (38:00–47:30)</li><li>Part four (47:30–end)</li></ul><p>Additional Resources </p><ul><li>Scot McKnight, <a href="https://amzn.to/3drY2Cc"><i>Reading Romans Backwards</i></a></li></ul><p>Show Music </p><ul><li>Defender Instrumental by Tents</li><li>Far from Home by Toonorth</li><li>doing laundry by weird inside</li><li>Frame by KV</li></ul><p>Show produced by Dan Gummel and Camden McAfee. </p><p>Powered and distributed by Simplecast.</p>
|
|
@ -0,0 +1 @@
|
|||
We are not omniscient in what kind of content the world wants. This with many other reasons is explained in this truck cast episode on why we need to be posting over 100 pieces of content a day.
|
|
@ -0,0 +1,36 @@
|
|||
<p>SHOW NOTES: </p>
|
||||
|
||||
<p>- All the info you need to START is on our <a href='http://www.thebiblerecap.com'>website</a>! Seriously, go there.
|
||||
- Join our <a href='https://www.patreon.com/thebiblerecap'>PATREON</a> community for bonus perks!</p>
|
||||
|
||||
<p>- Get your <a href='https://www.theconnextion.com/tlcdgroup/index.cfm'>TBR merch</a></p>
|
||||
|
||||
<p>- <a href='http://thebiblerecap.com/contact'>Show credits</a></p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p>FROM TODAY’S PODCAST:
|
||||
- <a href='https://www.biblegateway.com/passage/?search=Micah+5&version=ESV'>Micah 5:2</a></p>
|
||||
|
||||
<p>- <a href='https://www.biblegateway.com/passage/?search=Rev+19%3A13&version=ESV'>Revelation 19:13</a></p>
|
||||
|
||||
<p>- Video: <a href='https://www.youtube.com/watch?v=jH_aojNJM3E'>Exodus Overview (Part One</a>)</p>
|
||||
|
||||
<p>- <a href='http://thebiblerecap.com/names'>Receive the Names and Attributes of God PDF</a></p>
|
||||
|
||||
<p><em>*Newsletter email will be sent out on the last day of each month</em></p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p>SOCIALS:</p>
|
||||
|
||||
<p>The Bible Recap:<a href='https://instagram.com/thebiblerecap'> Instagram</a> |<a href='https://www.facebook.com/thebiblerecap'> Facebook</a> |<a href='https://twitter.com/thebiblerecap'> Twitter</a></p>
|
||||
|
||||
<p>D-Group:<a href='https://instagram.com/mydgroup/'> Instagram</a> |<a href='https://www.facebook.com/ilovemydgroup'> Facebook</a> |<a href='https://mobile.twitter.com/mydgroup'> Twitter</a></p>
|
||||
|
||||
<p>TLC:<a href='https://instagram.com/taraleighcobble'> Instagram</a> |<a href='https://www.facebook.com/taraleighcobble'> Facebook</a> |<a href='https://twitter.com/taraleighcobble'> Twitter</a></p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p>D-GROUP:
|
||||
The Bible Recap is brought to you by<a href='https://www.mydgroup.org/'> D-Group</a> - an international network of discipleship and accountability groups that meet weekly in homes and churches:<a href='https://www.mydgroup.org/map'> Find or start one near you today</a>!</p>
|
|
@ -0,0 +1,25 @@
|
|||
<p>Is the ZFS tax too high? We pit ZFS on root against ext4 in our laptop pressure cooker and see how they perform when RAM gets tight.</p>
|
||||
|
||||
<p>Plus we take a look at Pop!_OS 19.10, complete our Ubuntu 19.10 review, cover community news, and lots more.</p><p>Special Guest: Alex Kretzschmar.</p><p><a href="https://jupitersignal.memberful.com/checkout?plan=52946" rel="payment">Support LINUX Unplugged</a></p><p>Links:</p><ul><li><a href="https://www.bell-labs.com/unix50/" title="Unix Turns 50" rel="nofollow">Unix Turns 50</a>
|
||||
</li><li><a href="https://www.youtube.com/watch?v=JoVQTPbD6UY" title="Ken Thompson and Dennis Ritchie Explain UNIX (Bell Labs) - YouTube" rel="nofollow">Ken Thompson and Dennis Ritchie Explain UNIX (Bell Labs) - YouTube</a>
|
||||
</li><li><a href="https://www.techrepublic.com/article/fedora-at-15-why-matthew-miller-sees-a-bright-future-for-the-linux-distribution/" title="Fedora at 15: Why Matthew Miller sees a bright future for the Linux distribution" rel="nofollow">Fedora at 15: Why Matthew Miller sees a bright future for the Linux distribution</a>
|
||||
</li><li><a href="https://opensource.com/article/19/10/linux-podcasts-Jupiter-Broadcasting" title="How a business was built on podcasts for Linux: The story of Jupiter Broadcasting" rel="nofollow">How a business was built on podcasts for Linux: The story of Jupiter Broadcasting</a>
|
||||
</li><li><a href="https://steamcommunity.com/games/593110/announcements/detail/3032537193879549687" title="Introducing Steam Remote Play Together" rel="nofollow">Introducing Steam Remote Play Together</a>
|
||||
</li><li><a href="https://secure.givelively.org/donate/gnome-foundation-inc/gnome-patent-troll-defense-fund" title="Donate to the Gnome Foundation Patent Troll Defense Fund" rel="nofollow">Donate to the Gnome Foundation Patent Troll Defense Fund</a>
|
||||
</li><li><a href="https://extras.show/24" title="Texas Cyber Summit - Extras 24" rel="nofollow">Texas Cyber Summit - Extras 24</a>
|
||||
</li><li><a href="https://extras.show/articles/texas-cyber-summit-2019" title="Texas Cyber Summit - Blog Post" rel="nofollow">Texas Cyber Summit - Blog Post</a>
|
||||
</li><li><a href="https://jupiter.gallery/#15710708287864" title="Texas Cyber Summit - Photo Gallery" rel="nofollow">Texas Cyber Summit - Photo Gallery</a>
|
||||
</li><li><a href="https://bugs.launchpad.net/ubuntu/+source/linux-raspi2/+bug/1848790/" title="Bug #1848790 “USB not working under arm64 on Pi4”" rel="nofollow">Bug #1848790 “USB not working under arm64 on Pi4”</a>
|
||||
</li><li><a href="https://openbenchmarking.org/result/1910176-AS-STOCKTEST18" title="EXT4 Stock Benchmarks" rel="nofollow">EXT4 Stock Benchmarks</a>
|
||||
</li><li><a href="https://openbenchmarking.org/result/1910178-AS-ZFS45016317" title="ZFS on Root Benchmarks" rel="nofollow">ZFS on Root Benchmarks</a>
|
||||
</li><li><a href="https://openbenchmarking.org/result/1910176-AS-STOCKTEST18,1910178-AS-ZFS45016317" title="EXT vs ZFS Comparison" rel="nofollow">EXT vs ZFS Comparison</a>
|
||||
</li><li><a href="https://openbenchmarking.org/result/1910211-AS-LOWMEMORY71" title="ZFS on Root Lowmem Benchmarks" rel="nofollow">ZFS on Root Lowmem Benchmarks</a>
|
||||
</li><li><a href="https://openbenchmarking.org/result/1910227-AS-1910211AS60" title="ZFS on Root vs EXT4 Lowmem Comparison" rel="nofollow">ZFS on Root vs EXT4 Lowmem Comparison</a>
|
||||
</li><li><a href="https://openbenchmarking.org/result/1910176-AS-STOCKTEST18,1910178-AS-ZFS45016317,1910211-AS-LOWMEMORY71,1910227-AS-1910211AS60" title="All tests compared" rel="nofollow">All tests compared</a>
|
||||
</li><li><a href="https://www.phoronix.com/scan.php?page=article&item=ubuntu1910-ext4-zfs&num=1" title="Phoronix tests" rel="nofollow">Phoronix tests</a>
|
||||
</li><li><a href="https://www.kernel.org/doc/html/v5.3/admin-guide/kernel-parameters.html" title="Kernel Parameters, see mem=" rel="nofollow">Kernel Parameters, see mem=</a>
|
||||
</li><li><a href="https://slexy.org/view/s2y4WulWbE" title="Carl’s Deets about 19.10" rel="nofollow">Carl’s Deets about 19.10</a>
|
||||
</li><li><a href="https://support.system76.com/articles/use-tensorman/" title="Tensorman" rel="nofollow">Tensorman</a>
|
||||
</li><li><a href="https://github.com/devksingh4/thinkpad-tools/tree/master" title="thinkpad-tools: Tools to manage Thinkpad properties" rel="nofollow">thinkpad-tools: Tools to manage Thinkpad properties</a>
|
||||
</li></ul>
|
||||
|
|
@ -0,0 +1,88 @@
|
|||
<p>SHOW NOTES:
|
||||
</p>
|
||||
|
||||
<p>Thanks for listening! We’ve posted some helpful info for you in our show notes below!</p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p>PODCAST BASICS:
|
||||
</p>
|
||||
|
||||
<p>- Subscribe where you listen!</p>
|
||||
|
||||
<p>- Check out the details on our <a href='http://www.thebiblerecap.com'>website
|
||||
</a></p>
|
||||
|
||||
<p>- Get the<a href='https://www.bible.com/app'> Bible app</a> (free)
|
||||
</p>
|
||||
|
||||
<p>- Follow our<a href='https://www.bible.com/reading-plans/5-chronological'> Bible reading plan</a></p>
|
||||
|
||||
<p>- Check out our customized <a href='https://www.theconnextion.com/tlcdgroup/index.cfm'>journal</a></p>
|
||||
|
||||
<p>- Join our <a href='https://www.patreon.com/thebiblerecap'>PATREON</a> community for bonus fun! </p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p>MERCH: Get your<a href='https://www.theconnextion.com/tlcdgroup/index.cfm'> TBR merch</a>! We’ve got t-shirts, coffee mugs, tote bags, phone wallets, and stickers! </p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p>FROM TODAY’S PODCAST:
|
||||
</p>
|
||||
|
||||
<p>- <a href='https://www.biblegateway.com/passage/?search=Numbers+14&version=ESV'>Numbers 14</a></p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p>SOCIALS:</p>
|
||||
|
||||
<p>The Bible Recap:<a href='https://instagram.com/thebiblerecap'> Instagram</a> |<a href='https://www.facebook.com/thebiblerecap'> Facebook</a> |<a href='https://twitter.com/thebiblerecap'> Twitter</a> | <a href='http://pinterest.com/thebiblerecap'>Pinterest</a></p>
|
||||
|
||||
<p>D-Group:<a href='https://instagram.com/mydgroup/'> Instagram</a> |<a href='https://www.facebook.com/ilovemydgroup'> Facebook</a> |<a href='https://mobile.twitter.com/mydgroup'> Twitter</a> | <a href='http://pinterest.com/ilovemydgroup'>Pinterest</a></p>
|
||||
|
||||
<p>TLC:<a href='https://instagram.com/taraleighcobble'> Instagram</a> |<a href='https://www.facebook.com/taraleighcobble'> Facebook</a> |<a href='https://twitter.com/taraleighcobble'> Twitter</a></p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p>D-GROUP:
|
||||
</p>
|
||||
|
||||
<p>The Bible Recap is brought to you by<a href='https://www.mydgroup.org/'> D-Group</a> - an international network of discipleship and accountability groups that meet weekly in homes and churches:<a href='https://www.mydgroup.org/map'> Find or start one near you today</a>!</p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p>TBR TEAM:
|
||||
</p>
|
||||
|
||||
<p>Written and Hosted by: <a href='http://taraleighcobble.com'>Tara-Leigh Cobble</a></p>
|
||||
|
||||
<p>Content Manager: <a href='http://mydgroup.org'>Courtney Vaughan
|
||||
</a></p>
|
||||
|
||||
<p>Podcast Operations: <a href='http://mydgroup.org'>Callie Summers
|
||||
</a></p>
|
||||
|
||||
<p>Website Management: <a href='http://mydgroup.org'>Joelle Smith</a></p>
|
||||
|
||||
<p>Sound Engineer: <a href='http://thebiblerecap.com'>Allison Congden</a></p>
|
||||
|
||||
<p>Content Design: <a href='http://misswyolene.com'>Morgan Young
|
||||
</a></p>
|
||||
|
||||
<p>Social Media Management: <a href='http://thebiblerecap.com'>Sarah Yocum</a></p>
|
||||
|
||||
<p>Journal Design: <a href='https://brittneyhmurray.weebly.com/'>Brittney Murray</a></p>
|
||||
|
||||
<p>Logo Design: <a href='mailto:landonhwade@gmail.com'>Landon Wade</a></p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p>Available on:<a href='https://itunes.apple.com/us/podcast/the-bible-recap/id1440833267'> iTunes</a> |<a href='https://open.spotify.com/show/2lWv2RlsyMSMzerbAb1uOx'> Spotify</a> |<a href='https://www.google.com/podcasts?feed=aHR0cHM6Ly93d3cuaXZvb3guY29tL3RoZS1iaWJsZS1yZWNhcF9mZ19mMTYzNzgzNF9maWx0cm9fMS54bWw'> Google</a> |<a href='https://www.stitcher.com/podcast/dgroup/the-bible-recap?refid=stpr'> Stitcher</a> |<a href='https://thebiblerecap.podbean.com/'> Podbean</a> | <a href='https://play.google.com/music/m/Ivmpjo6234pwcvclpwxzlklglpm?t=The_Bible_Recap'>Google Play</a> | <a href='http://youtube.com/c/TheBibleRecap'>YouTube</a></p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p>WEBSITE:
|
||||
<a href='http://www.thebiblerecap.com'>thebiblerecap.com
|
||||
|
||||
</a></p>
|
|
@ -0,0 +1,23 @@
|
|||
<h2>Learning as I Watch Others Navigate Their Toolbox</h2>
|
||||
<p>Earlier this week, <a href="https://github.com/dscottS3">Dwight</a> joined the <a href="https://forem.com">Forem</a> team. <time datetime="2021-12-17" title="2021-12-17">Friday</time> we paired on scoping a problem.</p>
|
||||
<p>While Dwight drove, I helped navigate. As he was typing in his terminal, I noticed an interesting feature. With a blank input prompt a drop-down appearred and he’d select a command from history.</p>
|
||||
<p>By default, when I typed <kbd>Ctrl</kbd>+<kbd>r</kbd> I got <code>history-incremental-search-backward</code>. Which was a rather simple prompt for clumsily searching past commands. What I saw in Dwight’s terminal was something far more robust. When he typed <kbd>Ctrl</kbd>+<kbd>r</kbd>, he got a list of past commands and could type to filter towards those commands.</p>
|
||||
<p>I asked about the configuration, and Dwight told me it was a plugin.</p>
|
||||
<h2 id="new-to-me-tools">New to Me Tools</h2>
|
||||
<p>After our pairing session, I went looking.</p>
|
||||
<p>First, I stumbled into <a href="https://github.com/dvorka/hstr">hstr</a>, a command to <q>easily view, navigate and search command history with shell history suggest box for bash and zsh.</q> I installed it and configured that plugin.</p>
|
||||
<p>This set me on the path for further exploration. I then found <a href="https://github.com/junegunn/fzf">fzf</a>, <q>a general-purpose command-line fuzzy finder.</q> I started exploring that, and the extensive <a href="https://github.com/junegunn/fzf/wiki/examples">community wiki entries</a> that leverage <code>fzf</code>.</p>
|
||||
<p>I added to my terminal functions:</p>
|
||||
<ul>
|
||||
<li><a href="https://github.com/jeremyf/dotzshrc/blob/9b702b6dd1359fa5e9291e570e68ecee827d70f5/configs/functions.zsh#L25-L38">fkill</a>, a fuzzy search of processes to kill.</li>
|
||||
<li><a href="https://github.com/jeremyf/dotzshrc/blob/9b702b6dd1359fa5e9291e570e68ecee827d70f5/configs/functions.zsh#L9-L15">fe</a>, a fuzzy file finder that opens the selected file(s) in my editor.</li>
|
||||
<li><a href="https://github.com/jeremyf/dotzshrc/blob/9b702b6dd1359fa5e9291e570e68ecee827d70f5/bin/rfv">rfv</a>, a two stage file name and content finder.</li>
|
||||
</ul>
|
||||
<p>I also replaced the recently installed <code>hstr</code> with <code>fzf</code>’s <a href="https://github.com/junegunn/fzf/blob/205f885d6941eac47004779d9125df1463458fdd/shell/key-bindings.zsh#L93-L107">fzf-history-widget</a></p>
|
||||
<p>And while reading through the wiki, I found <a href="https://github.com/wfxr/forgit">forgit</a>, a <q>Utility tool for using git interactively. Powered by junegunn/fzf.</q> I favor <span><abbr title="Emacs">Emacs</abbr> <small><a class="ref" href="https://takeonrules.com/site-map/glossary/#abbr-dfn-EMACS" rel="tag opener" title="Other site-wide references of “Emacs”">🔍</a></small></span>’s amazing <a href="https://magit.vc">magit</a> package for most git interactions. But <code>forgit</code>’s interactive log viewer provides functionality that I haven’t found in <span>
|
||||
<span>Magit</span> <small><a class="ref" href="https://takeonrules.com/site-map/glossary/#abbr-dfn-MAGIT" rel="tag opener" title="Other site-wide references of “Magit”">🔍</a></small></span>.</p>
|
||||
<h2 id="wrapping-up">Wrapping Up</h2>
|
||||
<p>If you often interact with <code>git</code> via the command-line, I encourage you to look into <code>forgit</code>. It provides userful interactive additions to your <code>git</code> repertoire.</p>
|
||||
<p>These three tools—<code>hstr</code>, <code>fzf</code>, and <code>forgit</code>—are all fantastic command-line additions. While I tend to spend more of my time in Emacs than on the command-line, I do find myself in the command-line doing some tasks. These commands, in particular <code>fogit::log</code> (and it’s alias <code>glo</code>) are useful tools for my toolkit.</p>
|
||||
<p>I also spent some time reading through the archaic output of my <code>bindkey</code> output. I learned that <kbd>Ctrl</kbd>+<kbd>x</kbd> then <kbd>Ctrl</kbd>+<kbd>e</kbd> would open a new buffer for my configured editor with the current command line’s prompt’s content as the buffer’s content.</p>
|
||||
<p>All of this learning and exploring came about because I paired with a developer and was curious about how they navigated their toolbox.</p>
|
|
@ -0,0 +1 @@
|
|||
Darren explains why it’s best to lean into a messy, big world as opposed to thinking you can control it.
|
|
@ -0,0 +1,2 @@
|
|||
<p>Successful open-source projects all seem to struggle with one major gorilla. Who it is, and what their options are now.</p><p>Special Guests: Drew DeVore and Jonathan Corbet.</p><p>Sponsored By:</p><ul><li><a href="https://linode.com/unplugged" rel="nofollow">Linode Cloud Hosting</a>: <a href="https://linode.com/unplugged" rel="nofollow">A special offer for all Linux Unplugged Podcast listeners and new Linode customers, visit linode.com/unplugged, and receive $100 towards your new account. </a></li><li><a href="https://ohdear.app/" rel="nofollow">Oh Dear</a>: <a href="https://ohdear.app/" rel="nofollow">Oh Dear monitors uptime, SSL certificates, broken links, scheduled tasks, and more. We send out notifications when something's wrong. All that paired with a developer-friendly API and kick-ass documentation.</a> Promo Code: LINUX</li><li><a href="https://acloudguru.com" rel="nofollow">A Cloud Guru</a>: <a href="https://acloudguru.com" rel="nofollow">Hundreds of courses, thousands of hands-on labs.</a></li></ul><p><a href="https://jupitersignal.memberful.com/checkout?plan=52946" rel="payment">Support LINUX Unplugged</a></p><p>Links:</p><ul><li><a href="https://www.home-assistant.io/blog/2021/01/23/security-disclosure2/" title="Security Disclosure 2: vulnerabilities in custom integrations HACS, Font Awesome and others - Home Assistant" rel="nofollow">Security Disclosure 2: vulnerabilities in custom integrations HACS, Font Awesome and others - Home Assistant</a> — Multiple custom integrations were found that allowed an attacker to steal any file without logging in. Previously implemented fixes were not sufficient.</li><li><a href="https://bodhi.fedoraproject.org/updates/FEDORA-2021-48866282e5" title="FEDORA-2021-48866282e5 — security update for chromium — Fedora Updates System" rel="nofollow">FEDORA-2021-48866282e5 — security update for chromium — Fedora Updates System</a> — I gave a lot of thought to whether I wanted to continue to maintain the Chromium package in Fedora, given that many (most?) users will be confused/annoyed when API functionality like sync and geolocation stops working for no good reason. Ultimately, I decided to continue for now, because there were at least some users who didn't mind, and if I stopped, someone else would start over and run blindly into this problem.</li><li><a href="https://www.youtube.com/watch?v=yZJfsUOHJjg" title="Introduction to Elasticsearch - YouTube" rel="nofollow">Introduction to Elasticsearch - YouTube</a></li><li><a href="https://aws.amazon.com/blogs/opensource/stepping-up-for-a-truly-open-source-elasticsearch/" title="Stepping up for a truly open source Elasticsearch | AWS Open Source Blog" rel="nofollow">Stepping up for a truly open source Elasticsearch | AWS Open Source Blog</a> — In order to ensure open source versions of both packages remain available and well supported, including in our own offerings, we are announcing today that AWS will step up to create and maintain a ALv2-licensed fork of open source Elasticsearch and Kibana.</li><li><a href="https://www.zdnet.com/article/aws-as-predicted-is-forking-elasticsearch/" title="AWS, as predicted, is forking Elasticsearch | ZDNet" rel="nofollow">AWS, as predicted, is forking Elasticsearch | ZDNet</a></li><li><a href="https://feed.jupiter.zone/allshows" title="All Jupiter Broadcasting Shows" rel="nofollow">All Jupiter Broadcasting Shows</a></li><li><a href="https://github.com/jellyfin/jellyfin/releases/tag/v10.7.0-rc1" title="Jellyfin 10.7.0 Release Changelog" rel="nofollow">Jellyfin 10.7.0 Release Changelog</a> — SyncPlay for TV shows and Music, significantly improved web performance, an upgrade to .NET SDK 5.0 for improved performance in the backend, and more!</li><li><a href="https://github.com/jellyfin/jellyfin/releases/tag/v10.7.0-rc3" title="Jellyfin 10.7.0 RC3" rel="nofollow">Jellyfin 10.7.0 RC3</a></li><li><a href="https://en.wikipedia.org/wiki/LWN.net" title="LWN.net - Wikipedia" rel="nofollow">LWN.net - Wikipedia</a></li><li><a href="https://lwn.net/" title="Welcome to LWN.net [LWN.net]" rel="nofollow">Welcome to LWN.net [LWN.net]</a></li><li><a href="https://www.facesofopensource.com/jonathan-corbet/" title="Jonathan Corbet - Faces of Open Source" rel="nofollow">Jonathan Corbet - Faces of Open Source</a></li><li><a href="https://github.com/polybar/polybar" title="Pick: polybar" rel="nofollow">Pick: polybar</a> — A fast and easy-to-use status bar</li><li><a href="https://github.com/bootandy/dust" title="Pick: dust" rel="nofollow">Pick: dust</a> — A more intuitive version of du in rust</li><li><a href="https://github.com/Alexays/Waybar" title="Pick: Waybar" rel="nofollow">Pick: Waybar</a> — Highly customizable Wayland bar for Sway and Wlroots based compositors.</li></ul>
|
||||
|
|
@ -0,0 +1,54 @@
|
|||
<p>I created Meta Redux a little over 3 years ago with
|
||||
the goal to start clean and write on topics that were
|
||||
meaningful to me. Today I want to examine how well did I do so far, therefore
|
||||
the extra meta title. And yeah, I’m well aware that I have some infatuation
|
||||
with the word “redux” - perhaps I just like revisiting things too much.</p>
|
||||
|
||||
<p>If you don’t remember the <a href="https://metaredux.com/posts/2018/10/13/going-meta.html">Meta Redux backstory</a>, I’ll summarize it here quickly.
|
||||
Basically I had an <a href="https://batsov.com">older blog</a>, that had went dormant around 2015 due to my frustration with Octopress,
|
||||
the tool I used to publish the blog. On top of this, as my original blog was my first attempt to write, I didn’t
|
||||
do well there. I wrote a lot of crappy articles early on, because I neither had anything interesting to share, nor
|
||||
was a skilled writer. I was somewhat embarrassed by this mess and I wanted to distance myself from it and get a fresh
|
||||
start. Also, I thought that starting a new blog would be easier than dealing with a migration away from Octopress.
|
||||
The idea to have a blog with a “cool/original” name was also appealing to me - after all most people never manage
|
||||
to remember my last name (Batsov, frequently misspelled as Bastov).
|
||||
That’s how Meta Redux was born on Oct 13th, 2018, my 34th birthday.<sup id="fnref:1"><a class="footnote" href="https://metaredux.com/posts/2021/11/18/meta-redux-redux.html#fn:1" rel="footnote">1</a></sup></p>
|
||||
|
||||
<p>In the next 3 years I wrote over a hundred article at Meta Redux, which is quite the achievement given that in the previous 3 years
|
||||
I had written a grand total of 3 articles. What’s even better is that I was really happy with the quality of my work.
|
||||
It’s not like a wrote some Peter Norvig-level work of art, but at least it pleased me. Objective achieved!</p>
|
||||
|
||||
<p>Still, I had this lingering feeling that I cheated a bit, by starting a new
|
||||
blog. After all, everything I’ve written in the past is still (a
|
||||
reflection/snapshot of) me, regardless of how I feel about it today. I also
|
||||
wanted a clearer focus for Meta Redux, despite its deliberately unfocused
|
||||
name. As I’m writing a lot here about programming and my OSS work, I felt that
|
||||
other topics I’d occasionally write on didn’t quite fit in (e.g. tutorials and
|
||||
musings on hardware and operating systems). Still, such topics have some value
|
||||
to me and potentially to some of my readers. So what do about them?</p>
|
||||
|
||||
<p>In the end of the day I’ve decided to revive <a href="https://batsov.com">“(think)”</a><sup id="fnref:2"><a class="footnote" href="https://metaredux.com/posts/2021/11/18/meta-redux-redux.html#fn:2" rel="footnote">2</a></sup> and use it to complement the topics I cover here.
|
||||
Basically, going forward I’ll limit myself here to programming (mostly Ruby and Clojure these days) and my OSS work (e.g. CIDER, RuboCop, etc), and everything else
|
||||
will go to (think). I’ve also removed some duplicated pages from Meta Redux (e.g. information about my talks and projects) and just redirected
|
||||
it to (think), for the sake of simplicity. This content originated there and I feel this is its true home.</p>
|
||||
|
||||
<p>The two blogs will also retain their different visual styles - I’ve vowed to keep Meta Redux as simple as possible, and to focus solely
|
||||
on the content here. With (think) I’ve taken some artistic liberties and I adopted a “more modern” theme, that seemed better
|
||||
suited for a person site that also doubles as a blog.<sup id="fnref:3"><a class="footnote" href="https://metaredux.com/posts/2021/11/18/meta-redux-redux.html#fn:3" rel="footnote">3</a></sup></p>
|
||||
|
||||
<p>I hope all this makes some sense. In hindsight probably it was a mistake to create a second blog in the first place, but I’m glad I did it.
|
||||
An experience you learn from is an experience worth having. Once again I was reminded that “less is more”.</p>
|
||||
|
||||
<div class="footnotes">
|
||||
<ol>
|
||||
<li id="fn:1">
|
||||
<p>Knowing me, probably I was also going through all my life failures on that day and decided that I should address at least one of them. <a class="reversefootnote" href="https://metaredux.com/posts/2021/11/18/meta-redux-redux.html#fnref:1">↩</a></p>
|
||||
</li>
|
||||
<li id="fn:2">
|
||||
<p>Now (think) is also using a simple Jekyll setup. <a class="reversefootnote" href="https://metaredux.com/posts/2021/11/18/meta-redux-redux.html#fnref:2">↩</a></p>
|
||||
</li>
|
||||
<li id="fn:3">
|
||||
<p>See <a href="https://batsov.com/articles/2021/11/01/switching-to-minimal-mistakes/">https://batsov.com/articles/2021/11/01/switching-to-minimal-mistakes/</a>. <a class="reversefootnote" href="https://metaredux.com/posts/2021/11/18/meta-redux-redux.html#fnref:3">↩</a></p>
|
||||
</li>
|
||||
</ol>
|
||||
</div>
|
|
@ -0,0 +1 @@
|
|||
<p>The story of Moses repeats key themes from the stories of the garden, Noah, and Abraham. Moses and Israel both face tests before trees on high places, and Moses takes the act of sacrifice one step further. Listen in as Tim and Jon discuss Moses and the <i>s’neh</i> tree.</p><p><a href="https://bibleproject.com/podcast/moses-israel-sneh-tree/">View full show notes and images from this episode →</a></p><p>Show Music</p><ul><li>Defender Instrumental by Tents</li><li>Sundown by Aarbor x Aarigod</li><li>Daylight by Jay Someday</li><li>Coniferous by Kupla</li></ul><p>Show produced by Dan Gummel and Tim Mackie.</p><p>Powered and distributed by Simplecast.</p>
|
|
@ -0,0 +1,29 @@
|
|||
<p>SHOW NOTES: </p>
|
||||
|
||||
<p>- All the info you need to START is on our <a href='http://www.thebiblerecap.com'>website</a>!
|
||||
- Join our <a href='https://www.patreon.com/thebiblerecap'>PATREON</a> family for bonus perks!</p>
|
||||
|
||||
<p>- Get your <a href='https://www.theconnextion.com/tlcdgroup/index.cfm'>TBR merch</a></p>
|
||||
|
||||
<p>- <a href='http://thebiblerecap.com/contact'>Show credits</a></p>
|
||||
|
||||
<p>
|
||||
FROM TODAY’S PODCAST:
|
||||
</p>
|
||||
|
||||
<p>- <a href='http://thebiblerecap.com/kneecap'>The Bible Kneecap</a></p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p>SOCIALS:</p>
|
||||
|
||||
<p>The Bible Recap:<a href='https://instagram.com/thebiblerecap'> Instagram</a> |<a href='https://www.facebook.com/thebiblerecap'> Facebook</a> |<a href='https://twitter.com/thebiblerecap'> Twitter</a></p>
|
||||
|
||||
<p>D-Group:<a href='https://instagram.com/mydgroup/'> Instagram</a> |<a href='https://www.facebook.com/ilovemydgroup'> Facebook</a> |<a href='https://mobile.twitter.com/mydgroup'> Twitter</a></p>
|
||||
|
||||
<p>TLC:<a href='https://instagram.com/taraleighcobble'> Instagram</a> |<a href='https://www.facebook.com/taraleighcobble'> Facebook</a> |<a href='https://twitter.com/taraleighcobble'> Twitter</a></p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p>D-GROUP:
|
||||
The Bible Recap is brought to you by<a href='https://www.mydgroup.org/'> D-Group</a> - an international network of discipleship and accountability groups that meet weekly in homes and churches:<a href='https://www.mydgroup.org/map'> Find or start one near you today</a>!</p>
|
|
@ -0,0 +1 @@
|
|||
This is Toby Sumpter with your CrossPolitic Daily News Brief for Tuesday, May 18, 2021. Huge thanks to everyone who attended and watched the Fight Laugh Feast Rally in Rapid City, South Dakota: all the talks were archived for Fight Laugh Feast Club Members in the club portal. Become a club member today so you […]
|
|
@ -0,0 +1 @@
|
|||
<!-- SC_OFF --><div class="md"><p>The guide in archwiki doesn't work.</p> </div><!-- SC_ON -->   submitted by   <a href="https://www.reddit.com/user/Super_Papaya"> /u/Super_Papaya </a> <br/> <span><a href="https://www.reddit.com/r/archlinux/comments/ra0pns/how_to_change_gdm_background/">[link]</a></span>   <span><a href="https://www.reddit.com/r/archlinux/comments/ra0pns/how_to_change_gdm_background/">[comments]</a></span>
|
|
@ -0,0 +1 @@
|
|||
Two Treatises by John Locke Chapter 7 of, our societal status is fluid, this revolver article https://www.revolver.news/2021/04/woke-cancel-culture-lenin-bolshevik-red-terror/ , and more Show Marketing Powered By: Better Three Group Click Here to find out more or go to betterthreegroup.com For Advertising your business email Matt at matt@howtobuildatent.com GAB: @mattwilliams Locals: https://themattwilliamsshow.locals.com/ Telegram: @realmattwilliams
|
|
@ -0,0 +1 @@
|
|||
<table> <tr><td> <a href="https://www.reddit.com/r/unixporn/comments/ru0ih1/i3gaps_my_first_rice/"> <img src="https://preview.redd.it/cuyvfpvm27981.png?width=640&crop=smart&auto=webp&s=6d89af7e9144e5f96e3fc6691f9c37fbc9909b26" alt="[i3-gaps] My first rice" title="[i3-gaps] My first rice" /> </a> </td><td>   submitted by   <a href="https://www.reddit.com/user/VermicelliExtreme317"> /u/VermicelliExtreme317 </a> <br/> <span><a href="https://i.redd.it/cuyvfpvm27981.png">[link]</a></span>   <span><a href="https://www.reddit.com/r/unixporn/comments/ru0ih1/i3gaps_my_first_rice/">[comments]</a></span> </td></tr></table>
|
|
@ -0,0 +1,3 @@
|
|||
<img src="https://media.babylonbee.com/thumbs/article-9505-2-thumb.jpg"> <p>WASHINGTON, D.C.—A tranquil morning at the Democratic Party headquarters this morning was interrupted by a sudden piercing sound: the "Black People Expressing Unapproved Opinions" alarms installed throughout the building.</p>
|
||||
<p>The post <a rel="nofollow" href="https://babylonbee.com/news/democrats-on-high-alert-as-black-woman-thinks-for-herself">Sirens Blaring At Democratic Headquarters As Black Woman Expresses Unapproved Opinion</a> appeared first on <a rel="nofollow" href="https://babylonbee.com">The Babylon Bee</a>.</p>
|
||||
|
|
@ -0,0 +1 @@
|
|||
<!-- SC_OFF --><div class="md"><p>This is a thread for smaller, miscellaneous items that might not warrant a full post on their own.</p> <p><a href="https://www.reddit.com/r/emacs/search?q=Weekly+tips&restrict_sr=on&sort=new&t=all">See this search for previous "Weekly Tips, Tricks, &c." Threads.</a></p> <p>Don't feel constrained in regards to what you post, just keep your post vaguely, generally on the topic of emacs.</p> </div><!-- SC_ON -->   submitted by   <a href="https://www.reddit.com/user/AutoModerator"> /u/AutoModerator </a> <br/> <span><a href="https://www.reddit.com/r/emacs/comments/qvujcj/weekly_tips_tricks_c_thread/">[link]</a></span>   <span><a href="https://www.reddit.com/r/emacs/comments/qvujcj/weekly_tips_tricks_c_thread/">[comments]</a></span>
|
|
@ -0,0 +1 @@
|
|||
<p><img src="https://thumbnails.lbry.com/MOpoduIMUWM" width="480" alt="thumbnail" title="What Programming Language Should You Learn Next" /></p>This video is focused on what programming languages should people learn and what languages might be wasting your time. This is just my personal opinion if you disagree let me know in the comments.<br /><br />Let me know what you think and if there is anything specific you would like to learn about.<br /><br />Epigrams on Programming<br /> http://pu.inf.uni-tuebingen.de/users/klaeren/epigrams.html<br /><br />----------------► Wanna Support Me? ◀︎----------------<br />Github: <br /> https://www.github.com/sponsors/gavinok<br />Patreon: <br /> https://www.patreon.com/gavinfreeborn<br /><br />----------------► Wanna Checkout My Dots? ◀︎----------------<br />Vimrc:<br /> https://github.com/Gavinok/dotvim<br />Vimrc:<br /> https://github.com/Gavinok/emacs.d<br />----------------► Come Join The Community◀︎----------------<br />LBRY:<br /> https://open.lbry.com/@GavinFreeborn:d?r=FVxxdjxLmbpPS5K4EdMsLjBjkxv9eEGs<br />Matrix Space:<br /> https://matrix.to/#/%23gavinfreeborn:matrix.org<br />Discord:<br /> https://discord.gg/JJk5KKU<br /> <br />00:00 Intro<br />...<br />https://www.youtube.com/watch?v=MOpoduIMUWM
|
|
@ -0,0 +1,15 @@
|
|||
|
||||
<div ( . )='http://www.w3.org/1999/xhtml'>
|
||||
<a href='https://yewtu.be/watch?v=EDC9WMeghs4'>
|
||||
<img src='https://yewtu.be/vi/EDC9WMeghs4/mqdefault.jpg'/>
|
||||
</a>
|
||||
<p style='word-break:break-word;white-space:pre-wrap'>This is not a hit piece. I just think that it can be really helpful to evaluate Joel Osteen's extremely popular teaching through the eyes of a teacher who cares an awful lot about representing the Bible properly. We often hear of problems with teachers when someone gathers just the most offensive, problematic or otherwise inflammatory parts of their teachings and evaluates them. I am not doing that today. I'm grabbing a recent, random Joel Osteen sermon to have a "typical" example of his teaching. We will look at how he uses the Bible, what his general teaching style is and how a Christian can evaluate and discern what to accept and reject.
|
||||
|
||||
|
||||
Joel’s full “Let it Go” sermon from 10/31/2021. https://youtu.be/kJ8bUV2eYmE
|
||||
|
||||
In the video I will be referencing my series, How to Find Jesus in the Old Testament, and I highly recommend you check it out. It's been the most spiritually rewarding Bible series I've ever done. https://www.youtube.com/playlist?list=PLZ3iRMLYFlHsHyvMtfgOgSPU6zEnCvxUO
|
||||
|
||||
I'm Mike Winger and my website, with all free content, is https://BibleThinker.org</p>
|
||||
</div>
|
||||
|
|
@ -0,0 +1 @@
|
|||
<!-- SC_OFF --><div class="md"><p>Just saw that a few hours ago Org-transclusion 1.1.1 has been released and is available on ELPA.</p> <p><a href="https://github.com/nobiot/org-transclusion">https://github.com/nobiot/org-transclusion</a></p> <p>A tip of the hat to Nobiot for writing this amazing package.</p> <p>I'd been waiting for the first release before integrating it into my workflow and now I'm out of excuses :).</p> <p>What a wonderful gift to the emacs community to end out a difficult (I would say horrible) year and end it with hope and optimism going into 2022.</p> <p>Thank you Nobiot! Happy New Year to all; wishing that your init.el file be bug free in the coming Year of The Tiger.</p> </div><!-- SC_ON -->   submitted by   <a href="https://www.reddit.com/user/deerpig"> /u/deerpig </a> <br/> <span><a href="https://www.reddit.com/r/emacs/comments/rrzgak/orgtransclusion_111_released/">[link]</a></span>   <span><a href="https://www.reddit.com/r/emacs/comments/rrzgak/orgtransclusion_111_released/">[comments]</a></span>
|
203
var/elfeed/db/data/60/60f2d25a7d933c60ec1f882977f6d5953a39ff1f
Normal file
203
var/elfeed/db/data/60/60f2d25a7d933c60ec1f882977f6d5953a39ff1f
Normal file
|
@ -0,0 +1,203 @@
|
|||
<p>Hello and welcome to another issue of <em>This Week in Rust</em>!
|
||||
<a href="http://rust-lang.org">Rust</a> is a programming language empowering everyone to build reliable and efficient software.
|
||||
This is a weekly summary of its progress and community.
|
||||
Want something mentioned? Tweet us at <a href="https://twitter.com/ThisWeekInRust">@ThisWeekInRust</a> or <a href="https://github.com/rust-lang/this-week-in-rust">send us a pull request</a>.
|
||||
Want to get involved? <a href="https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md">We love contributions</a>.</p>
|
||||
<p><em>This Week in Rust</em> is openly developed <a href="https://github.com/rust-lang/this-week-in-rust">on GitHub</a>.
|
||||
If you find any errors in this week's issue, <a href="https://github.com/rust-lang/this-week-in-rust/pulls">please submit a PR</a>.</p>
|
||||
<h2 id="updates-from-rust-community">Updates from Rust Community</h2>
|
||||
<h3 id="official">Official</h3>
|
||||
<ul>
|
||||
<li><a href="https://blog.rust-lang.org/2021/12/02/Rust-1.57.0.html">Announcing Rust 1.57.0</a></li>
|
||||
</ul>
|
||||
<h3 id="foundation">Foundation</h3>
|
||||
<ul>
|
||||
<li><a href="https://foundation.rust-lang.org/posts/2021-12-06-love-for-rust-at-reinvent/">Love for Rust at re:Invent</a></li>
|
||||
</ul>
|
||||
<h3 id="projecttooling-updates">Project/Tooling Updates</h3>
|
||||
<ul>
|
||||
<li><a href="https://blog.jetbrains.com/rust/2021/12/06/updates-in-intellij-rust-for-2021-3/">Updates in IntelliJ Rust for 2021.3</a></li>
|
||||
<li><a href="https://rust-analyzer.github.io/thisweek/2021/12/06/changelog-106.html">Rust Analyzer Changelog #106</a></li>
|
||||
<li><a href="https://github.com/cloud-hypervisor/cloud-hypervisor/releases/tag/v20.0">cloud-hypervisor v20.0</a></li>
|
||||
<li><a href="https://sixtyfps.io/thisweek/2021-12-06.html">SixtyFPS (GUI crate): Changelog for 5th of December 2021</a></li>
|
||||
<li><a href="https://rust-osdev.com/this-month/2021-11/">This Month in Rust OSDev (November 2021)</a></li>
|
||||
<li><a href="https://thephilbert.io/2021/12/06/gcc-rust-monthly-report-12-november-2021/">GCC Rust Monthly Report #12 November 2021</a></li>
|
||||
<li><a href="https://blog.antoyo.xyz/rustc_codegen_gcc-progress-report-6">rustc_codegen_gcc: Progress Report #6</a></li>
|
||||
<li><a href="https://forum.torproject.net/t/arti-0-0-2-is-released-api-groundwork-refactoring-config-and-optimism/939">Arti 0.0.2 is released: API groundwork, refactoring, config, and optimism</a></li>
|
||||
<li><a href="https://www.zdnet.com/article/rust-takes-a-major-step-forward-as-linuxs-second-official-language/">Rust takes a major step forward as Linux's second official language</a></li>
|
||||
<li><a href="https://www.phoronix.com/scan.php?page=news_item&px=Rust-For-Linux-v2">Updated Rust Code For Linux Kernel Patches Posted</a></li>
|
||||
<li><a href="https://github.com/xmake-io/xmake/wiki/xmake-v2.6.1-released,-Switch-to-Lua5.4-runtime,-Support-Rust-and-Cplusplus-mixed-compilation">xmake v2.6.1 released, Switch to Lua5.4 runtime, Support Rust and Cplusplus mixed compilation</a></li>
|
||||
<li><a href="https://sycamore-rs.netlify.app/news/announcing-v0.7.0">Announcing Sycamore v0.7.0: Client-side hydration + Builder API</a></li>
|
||||
<li><a href="https://www.nushell.sh/blog/2021-12-07-nushell_0_41.html">Nushell 0.41</a></li>
|
||||
<li>[DE] <a href="https://www.heise.de/news/WebAssembly-Wasmer-2-1-ermoeglicht-das-Ausfuehren-von-Rust-Projekten-im-Browser-6283513.html">WebAssembly: Wasmer 2.1 ermöglicht das Ausführen von Rust-Projekten im Browser</a></li>
|
||||
<li>[DE] <a href="https://www.heise.de/news/Programmiersprache-Rust-1-57-Don-t-Panic-6283665.html">Programmiersprache: Rust 1.57 – Don't Panic!</a></li>
|
||||
</ul>
|
||||
<h3 id="observationsthoughts">Observations/Thoughts</h3>
|
||||
<ul>
|
||||
<li><a href="https://blog.yoshuawuyts.com/uninit-read-write/">Uninit read/write</a></li>
|
||||
<li><a href="https://www.ncameron.org/blog/portable-and-interoperable-async-rust/">Portable and interoperable async Rust</a></li>
|
||||
<li><a href="https://aaronerhardt.github.io/blog/posts/gui_speedrun/">Speedrunning GUI development in Rust</a></li>
|
||||
<li><a href="https://codegito.xyz/2021/12/05/cryptography-final-project/">My Cryptography Final Project</a></li>
|
||||
<li><a href="https://zulip.com/case-studies/rust/">Case study: Rust programming language community</a></li>
|
||||
<li><a href="https://aidancully.blogspot.com/2021/12/linear-types-can-help.html">Linear Types Can Help</a></li>
|
||||
<li>[video] <a href="https://talks.osfc.io/osfc2021/talk/JTWYEH/">On Hubris and Humility: developing an OS for robustness in Rust</a> <a href="https://cliffle.com/blog/on-hubris-and-humility/">text version</a></li>
|
||||
</ul>
|
||||
<h3 id="rust-walkthroughs">Rust Walkthroughs</h3>
|
||||
<ul>
|
||||
<li><a href="https://kerkour.com/rust-file-encryption">How to encrypt a file in Rust (Using streaming AEAD encryption)</a></li>
|
||||
<li><a href="https://reltech.substack.com/p/getting-started-with-rust-on-a-raspberry-a88">Getting Started with Rust on a Raspberry Pi Pico (Part 3)</a></li>
|
||||
<li><a href="https://scrabsha.github.io/abcr-issue-0/">A better cargo-readme - Issue 0: Humble Beginning</a></li>
|
||||
<li><a href="https://edger.substack.com/p/how-to-overriding-patch-cargo-dependencies">How to Overriding (Patch) Cargo Dependencies</a></li>
|
||||
<li><a href="https://hugopeters.me/posts/14/">Higher Kinded Types in Rust</a></li>
|
||||
<li><a href="https://vino.dev/blog/node-to-rust-day-1-rustup/">Node to Rust: Day 1 - From nvm to rustup</a></li>
|
||||
<li><a href="https://dev.to/michaelin007/creating-a-web-page-with-actix-web-rust--2agd">Creating a Web Page with Actix-Web (Rust)</a></li>
|
||||
<li>[video] <a href="https://www.youtube.com/watch?v=TQaCyC_tGko">rg3d - live game development #2</a></li>
|
||||
<li>[video] <a href="https://www.youtube.com/watch?v=hJ9IO-nYpjs">1Password Developer Fireside Chat: Ownership & Mutability Patterns in Rust</a></li>
|
||||
<li>[video] [series] <a href="https://www.youtube.com/channel/UCevTibyeBGT1ybiGzROnsfw">Advent of Code in Rust by Lucille Blumire</a></li>
|
||||
<li>[video] [series] <a href="https://www.youtube.com/playlist?list=PL2F_NKy2ueKOpAVPl-c3szUXuwB7K9sDq">Solving Advent of Code 2021 in Rust by Yoshua Wuyts</a></li>
|
||||
<li>[video] [series] <a href="https://www.youtube.com/watch?v=pgD7m02-XnI">Writing a Programming Language (in Rust) 9: Implementing Value References</a></li>
|
||||
</ul>
|
||||
<h3 id="miscellaneous">Miscellaneous</h3>
|
||||
<ul>
|
||||
<li><a href="https://nostarch.com/blog/jon-gjengset-talks-rust">Live Coder Jon Gjengset Gets into the Nitty-Gritty of Rust</a></li>
|
||||
<li><a href="https://aws.amazon.com/about-aws/whats-new/2021/12/aws-sdk-rust-developer-preview/">AWS SDK for Rust (Developer Preview)</a></li>
|
||||
<li>[BR-pt] <a href="https://github.com/luisvonmuller/Esta-Semana-Em-Rust/blob/main/%23419.md">Esta Semana em Rust #419</a></li>
|
||||
</ul>
|
||||
<h2 id="crate-of-the-week">Crate of the Week</h2>
|
||||
<p>This week's crate is <a href="https://crates.io/crates/tap">tap</a>, a library with extension traits to provide suffix-position pipeline behavior.</p>
|
||||
<p>Thanks to <a href="https://users.rust-lang.org/t/crate-of-the-week/2704/988">David Mason</a> for the suggestion!</p>
|
||||
<p><a href="https://users.rust-lang.org/t/crate-of-the-week/2704">Please submit your suggestions and votes for next week</a>!</p>
|
||||
<h2 id="call-for-participation">Call for Participation</h2>
|
||||
<p>Always wanted to contribute to open-source projects but didn't know where to start?
|
||||
Every week we highlight some tasks from the Rust community for you to pick and get started!</p>
|
||||
<p>Some of these tasks may also have mentors available, visit the task page for more information.</p>
|
||||
<p>If you are a Rust project owner and are looking for contributors, please submit tasks <a href="https://users.rust-lang.org/t/twir-call-for-participation/4821">here</a>.</p>
|
||||
<h2 id="updates-from-the-rust-project">Updates from the Rust Project</h2>
|
||||
<p>286 pull requests were <a href="https://github.com/search?q=is%3Apr+org%3Arust-lang+is%3Amerged+merged%3A2021-11-29..2021-12-06">merged in the last week</a></p>
|
||||
<ul>
|
||||
<li><a href="https://github.com/rust-lang/rust/pull/91393">Optimize <code>rustc_lexer</code></a></li>
|
||||
<li><a href="https://github.com/rust-lang/rust/pull/91207">Add support for LLVM coverage mapping format versions 5 and 6</a></li>
|
||||
<li><a href="https://github.com/rust-lang/rust/pull/91284">Add support for riscv64gc-unknown-freebsd</a></li>
|
||||
<li><a href="https://github.com/rust-lang/rust/pull/91367">Fix ICE in <code>check_must_not_suspend_ty()</code></a></li>
|
||||
<li><a href="https://github.com/rust-lang/rust/pull/91488">Fix ICE when <code>yield</code>ing in function returning <code>impl Trait</code></a></li>
|
||||
<li><a href="https://github.com/rust-lang/rust/pull/91450">Don't suggest types whose inner type is erroneous</a></li>
|
||||
<li><a href="https://github.com/rust-lang/rust/pull/91366">Only show notable traits if both types are the same</a></li>
|
||||
<li><a href="https://github.com/rust-lang/rust/pull/91435">Improve diagnostic for missing half of binary operator in <code>if</code> condition</a></li>
|
||||
<li><a href="https://github.com/rust-lang/rust/pull/91298">Improve error message for <code>E0659</code> if the source is not available</a></li>
|
||||
<li><a href="https://github.com/rust-lang/rust/pull/91364">Improve error message for incorrect field accesses through raw pointers</a></li>
|
||||
<li><a href="https://github.com/rust-lang/rust/pull/91346">Add <code>Option::inspect</code> and <code>Result::{inspect, inspect_err}</code></a></li>
|
||||
<li><a href="https://github.com/rust-lang/rust/pull/87054">Add a <code>try_reduce</code> method to the <code>Iterator</code> trait</a></li>
|
||||
<li><a href="https://github.com/rust-lang/rust/pull/88502">Add slice <code>take</code> methods</a></li>
|
||||
<li><a href="https://github.com/rust-lang/rust/pull/91286">Make <code>array::</code>{<code>try_from_fn</code>, <code>try_map</code>} and <code>Iterator::try_find</code> generic over <code>Try</code></a></li>
|
||||
<li><a href="https://github.com/rust-lang/rust/pull/91352">Introduce <code>RawVec::reserve_for_push</code></a></li>
|
||||
<li><a href="https://github.com/rust-lang/rust/pull/91215">Implement <code>VecDeque::retain_mut</code></a></li>
|
||||
<li><a href="https://github.com/rust-lang/libc/pull/2577">libc: Define <code>max_align_t</code> for wasi</a></li>
|
||||
<li><a href="https://github.com/rust-lang/portable-simd/pull/195">portable-simd: Generic <code>core::ops</code> for <code>Simd<T, _></code></a></li>
|
||||
<li><a href="https://github.com/rust-lang/cargo/pull/10165">cargo: Stabilize <code>future-incompat-report</code></a></li>
|
||||
<li><a href="https://github.com/rust-lang/cargo/pull/10133">cargo: Support abbreviating <code>--release</code> as <code>-r</code></a></li>
|
||||
<li><a href="https://github.com/rust-lang/rust-clippy/pull/8074">clippy: Consider <code>NonNull</code> as a pointer type</a></li>
|
||||
<li><a href="https://github.com/rust-lang/rust-clippy/pull/8067">clippy: Escape backslash in <code>single_char_pattern.rs</code></a></li>
|
||||
<li><a href="https://github.com/rust-lang/rust-clippy/pull/7463">clippy: Fix <code>any()</code> not taking reference in <code>search_is_some</code> lint</a></li>
|
||||
<li><a href="https://github.com/rust-lang/rust-clippy/pull/8077">clippy: Fix some false negatives for <code>single_char_pattern</code></a></li>
|
||||
<li><a href="https://github.com/rust-lang/rust-clippy/pull/8066">clippy: Parenthesize blocks in <code>needless_bool</code> suggestion</a></li>
|
||||
<li><a href="https://github.com/rust-lang/rust-clippy/pull/8054">clippy: Upgrade <code>map_flatten</code> to complexity</a></li>
|
||||
<li><a href="https://github.com/rust-lang/rustfmt/pull/5097">rustfmt: Determine when new comment lines are needed for itemized blocks</a></li>
|
||||
</ul>
|
||||
<h3 id="rust-compiler-performance-triage">Rust Compiler Performance Triage</h3>
|
||||
<p>A week of mostly rather small changes with many regressions being hard to diagnose. The largest regression comes from the introduction of a new future (desugaring <code>.await</code> into a call to <code>IntoFuture::into_future</code>). This was deemed acceptable as it only seems to have a negative impact in stress test situations where async/await is used more than one would normally expect. Unfortunately this does mean regressions beat out improvements this week.</p>
|
||||
<p>Triage done by <strong>@rylev</strong>.
|
||||
Revision range: <a href="https://perf.rust-lang.org/?start=1c0287830e0fb3c4007afea2819ba03766da6e9c&end=ecb65b0e170fc5275870c9d0fba7267a57cf35e5&absolute=false&stat=instructions%3Au">1c0287..ecb65b</a></p>
|
||||
<p>3 Regressions, 5 Improvements, 5 Mixed; 3 of them in rollups
|
||||
31 comparisons made in total</p>
|
||||
<p><a href="https://github.com/rust-lang/rustc-perf/blob/master/triage/2021-12-07.md">Full report here</a></p>
|
||||
<h3 id="approved-rfcs"><a href="https://github.com/rust-lang/rfcs/commits/master">Approved RFCs</a></h3>
|
||||
<p>Changes to Rust follow the Rust <a href="https://github.com/rust-lang/rfcs#rust-rfcs">RFC (request for comments) process</a>. These
|
||||
are the RFCs that were approved for implementation this week:</p>
|
||||
<ul>
|
||||
<li><a href="https://github.com/rust-lang/rfcs/commit/69833de7b46a571c6110c9ffc0796aeabde335ff">Static async fn in traits</a></li>
|
||||
</ul>
|
||||
<h3 id="final-comment-period">Final Comment Period</h3>
|
||||
<p>Every week <a href="https://www.rust-lang.org/team.html">the team</a> announces the
|
||||
'final comment period' for RFCs and key PRs which are reaching a
|
||||
decision. Express your opinions now.</p>
|
||||
<h4 id="rfcs"><a href="https://github.com/rust-lang/rfcs/labels/final-comment-period">RFCs</a></h4>
|
||||
<ul>
|
||||
<li><em>No RFCs entered final comment period this week.</em></li>
|
||||
</ul>
|
||||
<h4 id="tracking-issues-prs"><a href="https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3Afinal-comment-period+sort%3Aupdated-desc">Tracking Issues & PRs</a></h4>
|
||||
<ul>
|
||||
<li>[disposition: merge] <a href="https://github.com/rust-lang/rust/pull/90586">Relax priv-in-pub lint on generic bounds and where clauses of trait impls.</a></li>
|
||||
</ul>
|
||||
<h3 id="new-rfcs"><a href="https://github.com/rust-lang/rfcs/pulls">New RFCs</a></h3>
|
||||
<ul>
|
||||
<li><a href="https://github.com/rust-lang/rfcs/pull/3204">RFC: Alignment niches for references types.</a></li>
|
||||
</ul>
|
||||
<h2 id="upcoming-events">Upcoming Events</h2>
|
||||
<p>Rusty Events between 12/01-12/15 🦀</p>
|
||||
<h3 id="online">Online</h3>
|
||||
<ul>
|
||||
<li><a href="https://www.meetup.com/NewSpace-NYC/events/282320805">December 3, 2021 | New York City, NY, US | <strong>Getting started in aerospace with Rust 🦀</strong> | NewSpace NYC</a>.</li>
|
||||
<li><a href="https://berline.rs/2021/12/07/rust-hack-and-learn.html">December 7, 2021 | Berlin, DE | <strong>Rust Hack and Learn</strong> | Berline.rs, a Berlin-local Rust community</a></li>
|
||||
<li><a href="https://www.meetup.com/Buffalo-Rust-Meetup/events/281833990/">December 7, 2021 | Buffalo, NY, US | <strong>First Tuesdays: Buffalo Rust User Group</strong> | Buffalo Rust Meetup</a></li>
|
||||
<li><a href="https://www.meetup.com/the-south-padre-island-reading-group/events/281685234/">December 7, 2021 | South Padre Island, TX, US | <strong>Tuesdays - Book #24 - Rust for Rustaceans - Chapter 1</strong> | Los Gatos Reading Group (South Padre Island)</a></li>
|
||||
<li><a href="https://www.meetup.com/Rust-Los-Angeles/events/281944671">December 8, 2021 | Los Angeles, CA, US | <strong>Introduction to Photogrammetry with Geordon Worley [Virtual] Dec. 2021</strong> | Rust Los Angeles</a></li>
|
||||
<li><a href="https://www.meetup.com/Rust-Los-Angeles/events/281944671/">December 8, 2021 | Los Angeles, CA, US | <strong>Rust Computer Vision Project with Geordon Worley</strong> | Rust Los Angeles</a></li>
|
||||
<li><a href="https://www.meetup.com/Rust-Community-Stuttgart/events/282009864">December 8, 2021 | Stuttgart, DE | <strong>Rust-Meetup</strong> | Rust Community Stuttgart</a></li>
|
||||
<li><a href="https://www.meetup.com/columbus-rs/events/dpkhgryccqbmb/">December 9, 2021 | Columbus, OH, US | <strong>Second Thursdays: Monthly Meetup</strong> | Columbus Rust Society</a></li>
|
||||
<li><a href="https://www.meetup.com/Rust-London-User-Group/events/282343516/">December 9, 2021 | London, UK | <strong>Rust London x TrueLayer Takeover & Christmas Party</strong> | Rust London User Group</a></li>
|
||||
<li><a href="https://www.meetup.com/Rust-Oslo/events/281877640/">December 9, 2021 | Oslo, NO | <strong>Rust Oslo @ Rebel w/Carol (Nichols || Goulding)</strong>| Rust Oslo</a></li>
|
||||
<li><a href="https://www.meetup.com/San-Diego-Rust/events/282433355">December 9, 2021 | San Diego, CA, US | <strong>San Diego Rust December 2021 Tele-Meetup</strong> | San Diego Rust</a></li>
|
||||
<li><a href="https://www.meetup.com/8th-light-university/events/282381279">December 10, 2021 | Chicago, IL, US | <strong>8LU Keynote by Eric Smith - Write Your Game in Rust!</strong> | 8th Light University</a></li>
|
||||
<li><a href="https://www.meetup.com/Rust-Nairobi/events/282377713/">December 11, 2021 | Nairobi, KE | <strong>Rust Catchup 2021</strong> | Rust Nairobi</a></li>
|
||||
<li><a href="https://www.meetup.com/fp-eug/events/282533185">December 13, 2021 | Eugene, OR, US | <strong>Mondays - Book-Club - Rust Programming Language</strong> | Functional Programming - Eugene</a></li>
|
||||
<li><a href="https://www.meetup.com/the-south-padre-island-reading-group/events/282555459/">December 14, 2021 | South Padre Island, TX, US | <strong>Tuesdays - Book #24 - Rust for Rustaceans - Chapter 1 (session 2)</strong> | Los Gatos Reading Group (South Padre Island)</a></li>
|
||||
<li><a href="https://www.meetup.com/Seattle-Rust-Meetup/events/281875277">December 14, 2021 | Seattle, WA, US | <strong>Monthly Meetup</strong> | Seattle Rust Meetup</a></li>
|
||||
</ul>
|
||||
<h3 id="north-america">North America</h3>
|
||||
<ul>
|
||||
<li><a href="https://www.meetup.com/minneapolis-rust-meetup-group/events/282526064/">December 14, 2021 | Minneapolis, MN, US | <strong>First Meetup</strong> | Minneapolis Rust Meetup Group</a></li>
|
||||
<li><a href="https://www.meetup.com/Rust-NYC/events/282478738/">December 14, 2021 | New York, NY, US | <strong>Presentation by Chelsea E. Manning: Rust on Arduino-style microcontrollers</strong> | Rust NYC</a></li>
|
||||
</ul>
|
||||
<h3 id="europe">Europe</h3>
|
||||
<ul>
|
||||
<li><a href="https://rustcon.ru">December 3, 2021 | Moscow, RU | <strong>Rust Con</strong> | RustCon.ru</a></li>
|
||||
<li><a href="https://www.meetup.com/Rust-London-User-Group/events/282343516/">December 9, 2021 | London, UK | <strong>Rust London x TrueLayer Takeover & Christmas Party</strong> | Rust London User Group</a></li>
|
||||
</ul>
|
||||
<p>If you are running a Rust event please add it to the <a href="https://www.google.com/calendar/embed?src=apd9vmbc22egenmtu5l6c5jbfc%40group.calendar.google.com">calendar</a> to get
|
||||
it mentioned here. Please remember to add a link to the event too.
|
||||
Email the <a href="mailto:community-team@rust-lang.org">Rust Community Team</a> for access.</p>
|
||||
<h1 id="rust-jobs">Rust Jobs</h1>
|
||||
<p><strong>DeepSource</strong></p>
|
||||
<ul>
|
||||
<li><a href="https://careers.deepsource.io/o/software-engineer-static-analysis-rust">Software Engineer, Static Analysis - Rust (Bangalore, India)</a></li>
|
||||
</ul>
|
||||
<p><strong>Clear</strong></p>
|
||||
<ul>
|
||||
<li><a href="https://docs.google.com/document/d/1OuG5Ts_6s4eWO6CXGzcbklOweD7qGnOgADnSoPjEa10/edit">Full Stack Developer (Remote)</a></li>
|
||||
</ul>
|
||||
<p><strong>Pixy</strong></p>
|
||||
<ul>
|
||||
<li><a href="https://www.bigeyestudios.com/job-board">Rust Developer Position</a></li>
|
||||
</ul>
|
||||
<p><strong>Bionaut Labs</strong></p>
|
||||
<ul>
|
||||
<li><a href="https://www.indeed.com/viewjob?jk=775772a2587b4a1e">Embedded Software Engineer (Senior) (Los Angeles, CA, US)</a></li>
|
||||
<li><a href="https://www.indeed.com/viewjob?jk=030a274941d1f7ac">Embedded Software Engineer (Junior) (Los Angeles, CA, US)</a></li>
|
||||
</ul>
|
||||
<p><strong>Metawork</strong></p>
|
||||
<ul>
|
||||
<li><a href="https://jobs.ashbyhq.com/metawork/51d61a87-d4b8-4ed2-a49b-abb4b2247b30">Infrastructure Engineer (Remote US)</a></li>
|
||||
<li><a href="https://jobs.ashbyhq.com/metawork/90575f85-de36-461e-a540-fbee126ad186">Platform Engineer (Remote US)</a></li>
|
||||
</ul>
|
||||
<p><em>Tweet us at <a href="https://twitter.com/ThisWeekInRust">@ThisWeekInRust</a> to get your job offers listed here!</em></p>
|
||||
<h1 id="quote-of-the-week">Quote of the Week</h1>
|
||||
<blockquote>
|
||||
<p>v2 of the patch-series "to add support for Rust as a second language to the Linux kernel" was posted to LKML [..]</p>
|
||||
<p>There have been several improvements to the overall Rust support since RFC and v2 described in the linked mail.</p>
|
||||
</blockquote>
|
||||
<p>– <a href="https://twitter.com/kernellogger/status/1467874273582886921?s=20">Thorsten Leemhuis on twitter</a></p>
|
||||
<p>llogiq unanimously suggested and voted that this be our quote for this week.</p>
|
||||
<p><a href="https://users.rust-lang.org/t/twir-quote-of-the-week/328">Please submit quotes and vote for next week!</a></p>
|
||||
<p><em>This Week in Rust is edited by: <a href="https://github.com/nellshamrell">nellshamrell</a>, <a href="https://github.com/llogiq">llogiq</a>, <a href="https://github.com/cdmistman">cdmistman</a>, <a href="https://github.com/ericseppanen">ericseppanen</a>, <a href="https://github.com/extrawurst">extrawurst</a>, <a href="https://github.com/andrewpollack">andrewpollack</a>, <a href="https://github.com/U007D">U007D</a>, <a href="https://github.com/kolharsam">kolharsam</a>, <a href="https://github.com/joelmarcey">joelmarcey</a>, <a href="https://github.com/mariannegoldin">mariannegoldin</a>.</em></p>
|
||||
<p><em>Email list hosting is sponsored by <a href="https://foundation.rust-lang.org/">The Rust Foundation</a></em></p>
|
||||
<p><small><a href="https://www.reddit.com/r/rust/comments/rc84ta/this_week_in_rust_420/">Discuss on r/rust</a></small></p>
|
Loading…
Add table
Add a link
Reference in a new issue