Not sure what happened here.... O.O
This commit is contained in:
parent
34ab43b8f9
commit
0dbc3ead0e
272 changed files with 4767 additions and 12217 deletions
|
@ -1,202 +0,0 @@
|
|||
<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>Updates from Rust Community</h2>
|
||||
<h3>Official</h3>
|
||||
<ul>
|
||||
<li><a href="https://blog.rust-lang.org/inside-rust/2021/12/17/follow-up-on-the-moderation-issue.html">Follow-up on the moderation issue</a></li>
|
||||
</ul>
|
||||
<h3>Foundation</h3>
|
||||
<ul>
|
||||
<li><a href="https://foundation.rust-lang.org/posts/2021-12-15-take-the-state-of-rust-survey/">Take the State of Rust Survey</a></li>
|
||||
<li><a href="https://foundation.rust-lang.org/posts/2021-12-20-member-spotlight-spectral/">Member Spotlight: Spectral</a></li>
|
||||
</ul>
|
||||
<h3>Project/Tooling Updates</h3>
|
||||
<ul>
|
||||
<li><a href="https://zellij.dev/news/multiplayer-sessions/">Zellij 0.23.0 released with new collaboration features</a></li>
|
||||
<li><a href="https://sixtyfps.io/thisweek/2021-12-20.html">SixtyFPS (GUI crate): Changelog for 19th of December 2021</a></li>
|
||||
<li><a href="https://kerkour.com/black-hat-rust-paypal-apple-pay-google-pay/">You can now buy Black Hat Rust with PayPal, Apple Pay & Google Pay</a></li>
|
||||
<li><a href="https://weekly.databend.rs/2021-12-22-databend-weekly/">This week in Databend #21: an elastic and reliable cloud warehouse</a></li>
|
||||
<li><a href="https://www.fluvio.io/news/this-week-in-fluvio-0017/">This week in Fluvio #17: the programmable streaming platform</a></li>
|
||||
<li><a href="https://tokio.rs/blog/2021-12-announcing-tokio-console">Announcing Tokio Console 0.1</a></li>
|
||||
<li><a href="https://rust-analyzer.github.io//thisweek/2021/12/20/changelog-108.html">Rust Analyzer Changelog #108</a></li>
|
||||
<li><a href="https://intellij-rust.github.io/2021/12/20/changelog-162.html">IntelliJ Rust Changelog #162</a></li>
|
||||
<li><a href="https://thephilbert.io/2021/12/20/gcc-rust-in-2021/">GCC Rust in 2021</a></li>
|
||||
</ul>
|
||||
<h3>Observations/Thoughts</h3>
|
||||
<ul>
|
||||
<li><a href="https://tmandry.gitlab.io/blog/posts/2021-12-21-context-capabilities/">Contexts and capabilities in Rust</a></li>
|
||||
<li><a href="https://thenewwazoo.github.io/whining.html">Stop Whining about Rust Hype - A Pro-Rust Rant</a></li>
|
||||
<li><a href="https://blog.reverberate.org/2021/12/18/thread-safety-cpp-rust.html">Thread Safety in C++ and Rust</a></li>
|
||||
<li><a href="https://serokell.io/blog/rust-in-production-astropad">Rust in Production: Astropad</a></li>
|
||||
<li><a href="https://era.co/blog/unbuffered-io-slows-rust-programs">Unbuffered I/O Can Make Your Rust Programs Much Slower</a></li>
|
||||
<li>[video] <a href="https://www.youtube.com/watch?v=1UtklNrB8XA&t=1619s">Safe && Portable Data Structure Design (10 minute lightning talk)</a></li>
|
||||
</ul>
|
||||
<h3>Rust Walkthroughs</h3>
|
||||
<ul>
|
||||
<li><a href="https://noserve.rs/rust-lambdas-macos/">Cross-compiling Rust Lambdas on macOS without Docker</a></li>
|
||||
<li><a href="https://depth-first.com/articles/2021/12/16/a-beginners-guide-to-parsing-in-rust/">A Beginner's Guide to Parsing in Rust</a></li>
|
||||
<li><a href="https://briankung.dev/2021/12/07/building-a-cedict-parser-in-rust-with-nom/">Building a CEDICT parser in Rust with Nom</a></li>
|
||||
<li>[DE] <a href="https://www.heise.de/hintergrund/Ferris-Talk-4-Asynchrone-Programmierung-in-Rust-6299096.html">Ferris Talk #4: Asynchrone Programmierung in Rust</a></li>
|
||||
<li>[ZH] <a href="https://folyd.com/blog/rust-pin-advanced/">「Pin 三部曲」第二部之 《Rust Pin 进阶》</a></li>
|
||||
</ul>
|
||||
<h3>Miscellaneous</h3>
|
||||
<ul>
|
||||
<li><a href="https://docs.google.com/forms/d/e/1FAIpQLSdzWAX_N7rkJlVza73hZuNDCZIzKtinGJv6OjcdfdOpJ5w6Ww/viewform">TypeVille Call for Papers (ends 9th of January 2022)</a></li>
|
||||
<li><a href="https://medium.com/embarkstudios/homegrown-rendering-with-rust-1e39068e56a7">Homegrown rendering with Rust</a></li>
|
||||
<li>[audio] <a href="https://www.se-radio.net/2021/12/episode-490-tim-mcnamara-on-rust-2021-edition/">SE-Radio: Tim McNamara on Rust 2021 Edition</a></li>
|
||||
<li>[video] <a href="https://www.youtube.com/watch?v=zC-r1jzVwh4">Web api benchmarking: Rust (Warp) vs Rust (actix-web)</a></li>
|
||||
<li>[PT] <a href="https://github.com/luisvonmuller/Esta-Semana-Em-Rust/blob/main/%23420.md">Olá e seja bem vindo a outra edição de esta semana em: Rust! #420 (08/12/2021). 🌟</a></li>
|
||||
</ul>
|
||||
<h2>Crate of the Week</h2>
|
||||
<p>This week's crate is <a href="https://github.com/EmbarkStudios/kajiya">kajiya</a>, an experimental real-time global illumination renderer made with Rust and Vulkan.</p>
|
||||
<p>llogiq is pretty pleased with himself for this 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>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>
|
||||
<ul>
|
||||
<li><a href="https://github.com/diesel-rs/diesel/pull/2996">diesel-rs - Documentation improvements</a></li>
|
||||
</ul>
|
||||
<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>Updates from the Rust Project</h2>
|
||||
<p>340 pull requests were <a href="https://github.com/search?q=is%3Apr+org%3Arust-lang+is%3Amerged+merged%3A2021-12-13..2021-12-20">merged in the last week</a></p>
|
||||
<ul>
|
||||
<li><a href="https://github.com/rust-lang/rust/pull/91932">add user seed to <code>-Z randomize-layout</code></a></li>
|
||||
<li><a href="https://github.com/rust-lang/rust/pull/91516">improve suggestion to change struct field to <code>&mut</code></a></li>
|
||||
<li><a href="https://github.com/rust-lang/rust/pull/91820">suggest to specify a target triple when lang item is missing</a></li>
|
||||
<li><a href="https://github.com/rust-lang/rust/pull/90939">tweak errors coming from <code>for</code>-loop, <code>?</code> and <code>.await</code> desugaring</a></li>
|
||||
<li><a href="https://github.com/rust-lang/rust/pull/91818">show the unused type for <code>unused_results</code> lint</a></li>
|
||||
<li><a href="https://github.com/rust-lang/rust/pull/91597">recover on invalid operators <code><></code> and <code><=></code></a></li>
|
||||
<li><a href="https://github.com/rust-lang/rust/pull/91660">perf: manually implement <code>Hash</code> for <code>DefId</code></a></li>
|
||||
<li><a href="https://github.com/rust-lang/rust/pull/92042">enable <code>#[thread_local]</code> for all windows-msvc targets</a></li>
|
||||
<li><a href="https://github.com/rust-lang/hashbrown/pull/301">add entry_ref API to HashMap</a></li>
|
||||
<li></li>
|
||||
<li><a href="https://github.com/rust-lang/rust/pull/91529">add <code>BinaryHeap::try_reserve</code> and <code>BinaryHeap::try_reserve_exact</code></a></li>
|
||||
<li><a href="https://github.com/rust-lang/rust/pull/91947">add <code>io::Error::other</code></a></li>
|
||||
<li><a href="https://github.com/rust-lang/rust/pull/91837">avoid sorting in hash map stable hashing</a></li>
|
||||
<li><a href="https://github.com/rust-lang/rust/pull/91928">constify (most) <code>Option</code> methods</a></li>
|
||||
<li><a href="https://github.com/rust-lang/rust/pull/91918">constify <code>bool::then</code>{,<code>_some</code>}</a></li>
|
||||
<li><a href="https://github.com/rust-lang/rust/pull/91851">make <code>MaybeUninit::zeroed</code> <code>const</code></a></li>
|
||||
<li><a href="https://github.com/rust-lang/rust/pull/91439">mark defaulted <code>PartialEq</code>/<code>PartialOrd</code> methods as const</a></li>
|
||||
<li><a href="https://github.com/rust-lang/rust/pull/91527">optimize <code>vec::retain</code> performance</a></li>
|
||||
<li><a href="https://github.com/rust-lang/rust/pull/91752">readd <code>track_caller</code> to <code>Result::from_residual</code></a></li>
|
||||
<li><a href="https://github.com/rust-lang/rust/pull/90521">stabilize <code>destructuring_assignment</code></a></li>
|
||||
<li><a href="https://github.com/rust-lang/rust/pull/91881">stabilize <code>iter::zip</code></a></li>
|
||||
<li><a href="https://github.com/rust-lang/rust/pull/91728">stabilize <code>asm!</code> and <code>global_asm!</code></a></li>
|
||||
<li><a href="https://github.com/rust-lang/rust/pull/92020">remove <code>P: Unpin</code> bound on <code>impl Stream for Pin</code></a></li>
|
||||
<li><a href="https://github.com/rust-lang/futures-rs/pull/2495">futures: add <code>StreamExt::count</code> method</a></li>
|
||||
<li><a href="https://github.com/rust-lang/futures-rs/pull/2527">futures: limit <code>FuturesUnordered</code> max value of <code>yield_every</code></a></li>
|
||||
<li><a href="https://github.com/rust-lang/cargo/pull/10188">cargo: detect filesystem loop during walking the projects</a></li>
|
||||
<li><a href="https://github.com/rust-lang/cargo/pull/10193">cargo: display alias target on 'cargo help <alias>`</a></li>
|
||||
<li><a href="https://github.com/rust-lang/rust/pull/91905">rustdoc: fix source code page sidebar on mobile</a></li>
|
||||
<li><a href="https://github.com/rust-lang/rust-clippy/pull/7978">clippy: add <code>unnecessary_to_owned</code> lint</a></li>
|
||||
<li><a href="https://github.com/rust-lang/rust-clippy/pull/8146">clippy: don't emit <code>return_self_not_must_use</code> lint if <code>Self</code> already is marked as <code>#[must_use]</code></a></li>
|
||||
<li><a href="https://github.com/rust-lang/rust-clippy/pull/8143">clippy: ensure that <code>return_self_not_must_use</code> is not emitted if the method already has <code>#[must_use]</code></a></li>
|
||||
<li><a href="https://github.com/rust-lang/rust-clippy/pull/8138">clippy: fix <code>SAFETY</code> comment tag casing in <code>undocumented_unsafe_blocks</code></a></li>
|
||||
<li><a href="https://github.com/rust-lang/rustfmt/pull/5090">rustfmt: prevent duplicate comma when formatting struct pattern with ".."</a></li>
|
||||
</ul>
|
||||
<h3>Rust Compiler Performance Triage</h3>
|
||||
<p>Unfortunately a change introduced in <a href="https://github.com/rust-lang/rust/pull/89836">rust-lang/rust#89836</a> has made performance across different compiler artifacts much more variable by embedding compiler version information (including a git commit hash) in demangled symbol names. This means that even if two compiler artifacts are built from the same exact source code (with only the git commit changed), the compiler will have slightly different performance characteristics. This makes comparisons across pull requests virtually impossible. </p>
|
||||
<p>The compiler team is still deciding what to do to handle this, but in the mean time, performance testing is largely broken. This issue is currently being tracked in<a href="https://github.com/rust-lang/rustc-perf/issues/1126">rust-lang/rustc-perf#1126</a>.</p>
|
||||
<p>Triage done by <strong>@rylev</strong>.
|
||||
Revision range: <a href="https://perf.rust-lang.org/?start=404c8471aba60c2d837fa728e7c729a0f52d5830&end=3d57c61a9e04dcd3df633f41142009d6dcad4399&absolute=false&stat=instructions%3Au">404c847..3d57c61</a></p>
|
||||
<p>2 Regressions, 2 Improvements, 23 Mixed; 9 of them in rollups
|
||||
38 comparisons made in total</p>
|
||||
<p><a href="https://github.com/rust-lang/rustc-perf/blob/master/triage/2021-12-21.md">Full report here</a></p>
|
||||
<h3><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/pull/3184">Thread local Cell methods.</a></li>
|
||||
</ul>
|
||||
<h3>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><a href="https://github.com/rust-lang/rfcs/labels/final-comment-period">RFCs</a></h4>
|
||||
<ul>
|
||||
<li><em>No new RFCs entered Final Comment Period this week.</em></li>
|
||||
</ul>
|
||||
<h4><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/90625">Add UnwindSafe to Once</a></li>
|
||||
<li>[disposition: merge] <a href="https://github.com/rust-lang/rust/pull/88858">Allow reverse iteration of lowercase'd/uppercase'd chars</a></li>
|
||||
</ul>
|
||||
<h3><a href="https://github.com/rust-lang/rfcs/pulls">New RFCs</a></h3>
|
||||
<ul>
|
||||
<li><em>No new RFCs were published this week.</em></li>
|
||||
</ul>
|
||||
<h2>Upcoming Events</h2>
|
||||
<p>Rusty Events between 12/22/2021 - 1/15/2022 🦀</p>
|
||||
<h3>Online</h3>
|
||||
<ul>
|
||||
<li><a href="https://www.meetup.com/Rust-Community-Stuttgart/events/ttjjqsyccqbfc/">December 23, 2021 | Stuttgart, DE | <strong>Rust-Meetup</strong> | Rust Community Stuttgart</a></li>
|
||||
<li><a href="https://www.meetup.com/Dallas-Rust/events/jqxqwryccqblc/">December 28, 2021 | Dallas, TX, US | <strong>Dallas Rust - Last Tuesday</strong> | Dallas Rust</a></li>
|
||||
<li><a href="https://www.meetup.com/indyrs/events/qwtdjsydccbhb/">January 5, 2022 | Indianapolis, IN, US | <strong>Indy.rs - with Social Distancing</strong> | Indy Rust</a></li>
|
||||
<li><a href="https://www.meetup.com/rust-noris/events/282344613/">January 6, 2022 | Nürnberg, DE | <strong>Rust Nürnberg online #8</strong>| Rust Nuremberg</a></li>
|
||||
<li><a href="https://www.google.com/calendar/embed?src=apd9vmbc22egenmtu5l6c5jbfc%40group.calendar.google.com">January 8, 2022 | Various cities | <strong>Rust GameDev Monthly Meetup</strong> | Rust GameDev</a></li>
|
||||
<li><a href="https://www.meetup.com/Seattle-Rust-Meetup/events/gskksrydccbpb/">January 11, 2022 | Seattle, WA, US | <strong>Monthly meetup</strong> | Seattle Rust Meetup</a></li>
|
||||
<li><a href="https://www.meetup.com/boulder-elixir-rust/events/zvxcsrydccbqb/">January 12, 2022 | Boulder, CO, US | <strong>Monthly Meetup</strong> | Boulder Elixir and Rust</a></li>
|
||||
<li><a href="https://www.meetup.com/Rust-Los-Angeles/events/282580016/">January 12, 2022 | Los Angeles, CA, US | <strong>Live Coding Session - Mob Programming a Rust Code Kata [Virtual] Jan. 2022</strong> | Rust Los Angeles</a></li>
|
||||
<li><a href="https://www.meetup.com/Rust-Community-Stuttgart/events/gjrtqsydccbqb/">January 12, 2022 | Stuttgart, DE | <strong>Rust-Meetup</strong> | Rust Community Stuttgart</a></li>
|
||||
</ul>
|
||||
<h3>North America</h3>
|
||||
<ul>
|
||||
<li><a href="https://www.meetup.com/rust-atx/events/282756864/">January 6, 2022 | Austin, TX, US | <strong>Rust Lunch</strong> | Rust ATX</a></li>
|
||||
<li><a href="https://www.meetup.com/Rust-ATL/events/lhpkmsydccbqb/">January 12, 2022 | Atlanta, GA, US | <strong>Grab a beer with fellow Rustaceans</strong> | Rust Atlanta</a></li>
|
||||
<li><a href="https://www.meetup.com/columbus-rs/events/dpkhgrydccbrb/">January 13, 2022 | Columbus, OH, US | <strong>Monthly Meeting</strong> | Columbus Rust Society</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>Rust Jobs</h1>
|
||||
<p><strong>Astropad</strong></p>
|
||||
<ul>
|
||||
<li><a href="https://astropad.com/software-engineering-manager/">Software Engineering Manager (Remote North America time zones)</a></li>
|
||||
</ul>
|
||||
<p><strong>Timescale</strong></p>
|
||||
<ul>
|
||||
<li><a href="https://boards.greenhouse.io/timescale/jobs/5542785002">Senior Rust/C/C++ Engineer, Database Toolkit (Remote (UTC-8 to UTC-5)</a></li>
|
||||
</ul>
|
||||
<p><strong>Tangram</strong></p>
|
||||
<ul>
|
||||
<li><a href="https://www.tangram.dev/jobs">Rust Developer (Remote)</a></li>
|
||||
</ul>
|
||||
<p><strong>Kraken</strong></p>
|
||||
<ul>
|
||||
<li><a href="https://jobs.lever.co/kraken/4019a818-4a7b-46ef-9225-c53c7a7f238c">Backend Engineer - Rust - Core Backend (Remote)</a></li>
|
||||
<li><a href="https://jobs.lever.co/kraken/fe1e07f4-6d7c-4f65-9a8f-27cf3b3fd2b1">Backend Engineer, Kraken Futures - Rust (Remote)</a></li>
|
||||
<li><a href="https://jobs.lever.co/kraken/2863623f-13c9-4f50-992d-7c25736a60f9">Senior Rust Engineer - Banking (Remote)</a></li>
|
||||
</ul>
|
||||
<p><strong>Parity Technologies</strong></p>
|
||||
<ul>
|
||||
<li><a href="https://grnh.se/a5a5c0a33us">Rust Core Engineer - Solidity Compiler (Solang) (Remote)</a></li>
|
||||
<li><a href="https://grnh.se/cb272e3b3us">Rust Core Engineer - Smart Contract Platform (Remote)</a></li>
|
||||
<li><a href="https://www.parity.io/jobs">Multiple other Rust / Blockchain Engineering positions</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>Quote of the Week</h1>
|
||||
<blockquote>
|
||||
<p>Important crab-related diagnostics improvement shipping in nightly
|
||||
<a href="https://twitter.com/rustlang">@rustlang</a></p>
|
||||
<p><code>error: Ferris cannot be used as an identifier
|
||||
--> src/main.rs:2:9
|
||||
|
|
||||
2 | let 🦀 = 123;
|
||||
| ^^ help: try using their name instead: `ferris`
|
||||
3 |
|
||||
4 | for i in 0..🦀 {
|
||||
|</code></p>
|
||||
</blockquote>
|
||||
<p>– <a href="https://twitter.com/m_ou_se/status/1471077145258647554">Mara Bos on twitter</a></p>
|
||||
<p>Thanks to <a href="https://users.rust-lang.org/t/twir-quote-of-the-week/328/1147">Julian Wollersberger</a> for the suggestion!</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/rmirzk/this_week_in_rust_422/">Discuss on r/rust</a></small></p>
|
|
@ -1,13 +0,0 @@
|
|||
<p class="text">Everybody is saying it because it’s true. Our nation is fractured into factions. Politics cuts us in half and religion cuts out some and makes others a cut above. Wearing masks turns some into beastly behaviors. Which is one of the problems. We gravitate toward extremes. Facebook knows it; Twitter knows it; and that’s why the bots under Silicon Valley are shaping our culture. <em>Social Dilemma</em> made it clear for those who watched, as Kris and I did.</p>
|
||||
<p class="text">We need voices of reason. We need political analysts and religion columnists who neither paper over our differences nor turn to stridency for the numbers but who can find the issue itself and talk about it intelligently. And carry on a discourse that doesn’t shame or threaten the opposing side but shows respect in disagreement.</p>
|
||||
<p class="text">We also need people who will publicly confess, apologize, repent, repair, reconcile and restore what they were complicit in cracking into factions.</p>
|
||||
<p class="text">What we need is an old-fashioned Christian idea called grace.</p>
|
||||
<p class="text">We now have all of this in Kirsten Powers wonderful new book, <em><strong><a href="https://amzn.to/3nFxTqU" class="">Saving Grace: Speak Your Truth, Stay Centered, and Learn to Coexist with People Who Drive You Nuts</a></strong></em>.</p>
|
||||
<p class="text">Those of you who read me, knowing that I don’t enter into political discourse very often for reasons already mentioned, may not know her. She’s a political analyst and columnist on both <em>CNN </em>and on <em>USA Today</em>. I have read her for years because she is what I like most in political commentary: clear-minded, fiercely so at times, yet reasonable and logical. Over the years I have occasionally written to her to express my appreciation.</p>
|
||||
<p class="text">My appreciation is now over the top with this book. No idea or doctrine in Christianity is more emphatic than grace, even if it has at times ...</p><p class="more"><a href="https://www.christianitytoday.com/scot-mcknight/2021/november/what-we-need-is-saving-grace-in-public-discussion.html">Continue reading</a>...</p>
|
||||
<p><br /><a href="https://rss.beaconads.com/click.php?z=1289806&k=c779018782158d93282944b4f7dd4d03&a=190514&c=99540848" target="_blank"><img src="https://rss.beaconads.com/img.php?z=1289806&k=c779018782158d93282944b4f7dd4d03&a=190514&c=99540848" border="0" alt="" /></a></p>
|
||||
|
||||
10
|
||||
|
||||
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue