|
|
planet.gnu.org.rss10.xml - sfeed_tests - sfeed tests and RSS and Atom files |
|
|
 |
git clone git://git.codemadness.org/sfeed_tests (git://git.codemadness.org) |
|
|
 |
Log |
|
|
 |
Files |
|
|
 |
Refs |
|
|
 |
README |
|
|
 |
LICENSE |
|
|
|
--- |
|
|
|
planet.gnu.org.rss10.xml (225436B) |
|
|
|
--- |
|
|
|
1 <?xml version="1.0"?> |
|
|
|
2 <rdf:RDF |
|
|
|
3 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" |
|
|
|
4 xmlns:dc="http://purl.org/dc/elements/1.1/" |
|
|
|
5 xmlns:foaf="http://xmlns.com/foaf/0.1/" |
|
|
|
6 xmlns:content="http://purl.org/rss/1.0/modules/content/" |
|
|
|
7 xmlns="http://purl.org/rss/1.0/" |
|
|
|
8 > |
|
|
|
9 <channel rdf:about="https://planet.gnu.org/"> |
|
|
|
10 <title>Planet GNU</title> |
|
|
|
11 <link>https://planet.gnu.org/</link> |
|
|
|
12 <description>Planet GNU - https://planet.gnu.org/</description> |
|
|
|
13 |
|
|
|
14 <items> |
|
|
|
15 <rdf:Seq> |
|
|
|
16 <rdf:li rdf:resource="https://anastasis.lu/en/news/news/2021-09.html"/> |
|
|
|
17 <rdf:li rdf:resource="http://jemarch.net/pokology-03102019.html"/> |
|
|
|
18 <rdf:li rdf:resource="http://savannah.gnu.org/forum/forum.php?forum_id=10044"/> |
|
|
|
19 <rdf:li rdf:resource="http://www.fsf.org/news/a-wake-up-call-for-iphone-users-its-time-to-go"/> |
|
|
|
20 <rdf:li rdf:resource="http://www.fsf.org/news/fsf-job-opportunity-outreach-and-communications-coordinator"/> |
|
|
|
21 <rdf:li rdf:resource="http://savannah.gnu.org/forum/forum.php?forum_id=10043"/> |
|
|
|
22 <rdf:li rdf:resource="http://www.fsf.org/blogs/community/august-gnu-spotlight-with-mike-gerwitz-13-new-gnu-releases"/> |
|
|
|
23 <rdf:li rdf:resource="http://www.fsf.org/blogs/licensing/FSF-copyright-handling"/> |
|
|
|
24 <rdf:li rdf:resource="https://taler.net/en/news/2021-09.html"/> |
|
|
|
25 <rdf:li rdf:resource="http://savannah.gnu.org/forum/forum.php?forum_id=10040"/> |
|
|
|
26 <rdf:li rdf:resource="http://savannah.gnu.org/forum/forum.php?forum_id=10039"/> |
|
|
|
27 <rdf:li rdf:resource="http://www.fsf.org/blogs/licensing/meeting-every-friday-help-us-update-the-free-software-directory"/> |
|
|
|
28 <rdf:li rdf:resource="https://anastasis.lu/en/news/news/2021-08.html"/> |
|
|
|
29 <rdf:li rdf:resource="http://meanmicio.org/?p=2399"/> |
|
|
|
30 <rdf:li rdf:resource="http://savannah.gnu.org/forum/forum.php?forum_id=10037"/> |
|
|
|
31 <rdf:li rdf:resource="tag:parabolagnulinux.org,2021-08-12:/news/talkingparabola-merged-in-main-iso-and-installation-medium-with-installer/"/> |
|
|
|
32 <rdf:li rdf:resource="https://taler.net/en/news/2021-08.html"/> |
|
|
|
33 <rdf:li rdf:resource="https://gnunet.org/en/news/2021-08-0.15.0.html"/> |
|
|
|
34 <rdf:li rdf:resource="http://www.fsf.org/blogs/community/the-threat-of-software-patents-persists"/> |
|
|
|
35 <rdf:li rdf:resource="http://www.fsf.org/blogs/community/july-gnu-spotlight-with-mike-gerwitz-fifteen-new-gnu-releases"/> |
|
|
|
36 <rdf:li rdf:resource="http://savannah.gnu.org/forum/forum.php?forum_id=10034"/> |
|
|
|
37 <rdf:li rdf:resource="https://guix.gnu.org/blog/2021/taming-the-stat-storm-with-a-loader-cache/"/> |
|
|
|
38 <rdf:li rdf:resource="http://savannah.gnu.org/forum/forum.php?forum_id=10032"/> |
|
|
|
39 <rdf:li rdf:resource="http://savannah.gnu.org/forum/forum.php?forum_id=10031"/> |
|
|
|
40 <rdf:li rdf:resource="http://savannah.gnu.org/forum/forum.php?forum_id=10029"/> |
|
|
|
41 <rdf:li rdf:resource="http://www.fsf.org/news/fsf-job-opportunity-operations-assistant-1"/> |
|
|
|
42 <rdf:li rdf:resource="http://savannah.gnu.org/forum/forum.php?forum_id=10028"/> |
|
|
|
43 <rdf:li rdf:resource="http://savannah.gnu.org/forum/forum.php?forum_id=10027"/> |
|
|
|
44 <rdf:li rdf:resource="http://savannah.gnu.org/forum/forum.php?forum_id=10023"/> |
|
|
|
45 <rdf:li rdf:resource="http://meanmicio.org/?p=2373"/> |
|
|
|
46 <rdf:li rdf:resource="http://www.fsf.org/events/freedomladder-20210805-irc"/> |
|
|
|
47 <rdf:li rdf:resource="http://www.fsf.org/events/freedomladder-20210729-irc"/> |
|
|
|
48 <rdf:li rdf:resource="http://www.fsf.org/events/freedomladder-20210722-irc"/> |
|
|
|
49 <rdf:li rdf:resource="http://www.fsf.org/events/freedomladder-20210715-irc"/> |
|
|
|
50 <rdf:li rdf:resource="http://savannah.gnu.org/forum/forum.php?forum_id=10022"/> |
|
|
|
51 <rdf:li rdf:resource="tag:parabolagnulinux.org,2021-07-07:/news/from-arch-sorting-out-old-password-hashes/"/> |
|
|
|
52 <rdf:li rdf:resource="http://savannah.gnu.org/forum/forum.php?forum_id=10020"/> |
|
|
|
53 <rdf:li rdf:resource="http://www.fsf.org/news/apply-to-be-the-fsfs-next-executive-director"/> |
|
|
|
54 <rdf:li rdf:resource="http://www.fsf.org/news/fsf-takes-next-step-in-commitment-to-improving-board-governance"/> |
|
|
|
55 <rdf:li rdf:resource="tag:dustycloud.org,2021-06-28:/blog/nonbinary-trans-femme/"/> |
|
|
|
56 <rdf:li rdf:resource="http://savannah.gnu.org/forum/forum.php?forum_id=10015"/> |
|
|
|
57 <rdf:li rdf:resource="http://meanmicio.org/?p=2319"/> |
|
|
|
58 <rdf:li rdf:resource="http://savannah.gnu.org/forum/forum.php?forum_id=10014"/> |
|
|
|
59 <rdf:li rdf:resource="http://savannah.gnu.org/forum/forum.php?forum_id=10013"/> |
|
|
|
60 <rdf:li rdf:resource="http://savannah.gnu.org/forum/forum.php?forum_id=10012"/> |
|
|
|
61 <rdf:li rdf:resource="https://taler.net/en/news/2021-07.html"/> |
|
|
|
62 <rdf:li rdf:resource="https://guix.gnu.org/blog/2021/substitutes-now-also-available-from-bordeauxguixgnuorg/"/> |
|
|
|
63 <rdf:li rdf:resource="http://savannah.gnu.org/forum/forum.php?forum_id=10011"/> |
|
|
|
64 <rdf:li rdf:resource="https://taler.net/en/news/2021-06.html"/> |
|
|
|
65 <rdf:li rdf:resource="https://guix.gnu.org/blog/2021/reproducible-data-processing-pipelines/"/> |
|
|
|
66 <rdf:li rdf:resource="http://savannah.gnu.org/forum/forum.php?forum_id=10008"/> |
|
|
|
67 <rdf:li rdf:resource="http://meanmicio.org/?p=2308"/> |
|
|
|
68 <rdf:li rdf:resource="http://savannah.gnu.org/forum/forum.php?forum_id=10007"/> |
|
|
|
69 <rdf:li rdf:resource="http://savannah.gnu.org/forum/forum.php?forum_id=10006"/> |
|
|
|
70 <rdf:li rdf:resource="http://savannah.gnu.org/forum/forum.php?forum_id=10004"/> |
|
|
|
71 <rdf:li rdf:resource="http://meanmicio.org/?p=2288"/> |
|
|
|
72 <rdf:li rdf:resource="http://savannah.gnu.org/forum/forum.php?forum_id=10002"/> |
|
|
|
73 <rdf:li rdf:resource="http://savannah.gnu.org/forum/forum.php?forum_id=10001"/> |
|
|
|
74 <rdf:li rdf:resource="http://www.fsf.org/events/community-meeting-on-the-future-of-our-irc-presence"/> |
|
|
|
75 <rdf:li rdf:resource="http://savannah.gnu.org/forum/forum.php?forum_id=9999"/> |
|
|
|
76 </rdf:Seq> |
|
|
|
77 </items> |
|
|
|
78 </channel> |
|
|
|
79 |
|
|
|
80 |
|
|
|
81 <item rdf:about="https://anastasis.lu/en/news/news/2021-09.html"> |
|
|
|
82 <title>GNU Anastasis: GNU Anastasis v0.1.0 released</title> |
|
|
|
83 <link>https://anastasis.lu/en/news/news/2021-09.html</link> |
|
|
|
84 <content:encoded><article> |
|
|
|
85 GNU Anastasis is a Free Software protocol and implementation that allows users to securely deposit core secrets with an open set of escrow providers and to recover these secrets if their original copies are lost. |
|
|
|
86 </article></content:encoded> |
|
|
|
87 <dc:date>2021-09-07T22:00:00+00:00</dc:date> |
|
|
|
88 <dc:creator>GNU Anastasis</dc:creator> |
|
|
|
89 </item> |
|
|
|
90 <item rdf:about="http://jemarch.net/pokology-03102019.html"> |
|
|
|
91 <title>Applied Pokology: Array boundaries and closures in Poke</title> |
|
|
|
92 <link>http://jemarch.net/pokology-03102019.html</link> |
|
|
|
93 <content:encoded>Poke arrays are rather peculiar. One of their seemingly |
|
|
|
94 bizarre characteristics is the fact that the expressions |
|
|
|
95 calculating their boundaries (when they are bounded) evaluate |
|
|
|
96 in their own lexical environment, which is captured. In other |
|
|
|
97 words: the expressions denoting the boundaries of Poke arrays |
|
|
|
98 conform closures. Also, the way they evaluate may be |
|
|
|
99 surprising. This is no capricious.</content:encoded> |
|
|
|
100 <dc:date>2021-09-05T22:05:53+00:00</dc:date> |
|
|
|
101 <dc:creator>Applied Pokology</dc:creator> |
|
|
|
102 </item> |
|
|
|
103 <item rdf:about="http://savannah.gnu.org/forum/forum.php?forum_id=10044"> |
|
|
|
104 <title>gzip @ Savannah: gzip-1.11 released [stable]</title> |
|
|
|
105 <link>http://savannah.gnu.org/forum/forum.php?forum_id=10044</link> |
|
|
|
106 <content:encoded><blockquote class="verbatim"><p> This is to announce gzip-1.11, a stable release.<br /> |
|
|
|
107 <br /> |
|
|
|
108 There have been 43 commits by 5 people in the 2.7(!) years since 1.10.<br /> |
|
|
|
109 <br /> |
|
|
|
110 See the NEWS below for a brief summary.<br /> |
|
|
|
111 <br /> |
|
|
|
112 Thanks to everyone who has contributed!<br /> |
|
|
|
113 The following people contributed changes to this release:<br /> |
|
|
|
114 <br /> |
|
|
|
115 Bjarni Ingi Gislason (1)<br /> |
|
|
|
116 Dmitry V. Levin (1)<br /> |
|
|
|
117 Ilya Leoshkevich (8)<br /> |
|
|
|
118 Jim Meyering (20)<br /> |
|
|
|
119 Paul Eggert (13)<br /> |
|
|
|
120 <br /> |
|
|
|
121 Jim [on behalf of the gzip maintainers]<br /> |
|
|
|
122 ==================================================================<br /> |
|
|
|
123 <br /> |
|
|
|
124 Here is the GNU gzip home page:<br /> |
|
|
|
125 http://gnu.org/s/gzip/<br /> |
|
|
|
126 <br /> |
|
|
|
127 For a summary of changes and contributors, see:<br /> |
|
|
|
128 http://git.sv.gnu.org/gitweb/?p=gzip.git;a=shortlog;h=v1.11<br /> |
|
|
|
129 or run this command from a git-cloned gzip directory:<br /> |
|
|
|
130 git shortlog v1.10..v1.11<br /> |
|
|
|
131 <br /> |
|
|
|
132 To summarize the 2581 gnulib-related changes, run these commands<br /> |
|
|
|
133 from a git-cloned gzip directory:<br /> |
|
|
|
134 git checkout v1.11<br /> |
|
|
|
135 git submodule summary v1.10<br /> |
|
|
|
136 <br /> |
|
|
|
137 ==================================================================<br /> |
|
|
|
138 Here are the compressed sources:<br /> |
|
|
|
139 https://ftp.gnu.org/gnu/gzip/gzip-1.11.tar.gz (1.2MB)<br /> |
|
|
|
140 https://ftp.gnu.org/gnu/gzip/gzip-1.11.tar.xz (788KB)<br /> |
|
|
|
141 <br /> |
|
|
|
142 Here are the GPG detached signatures[*]:<br /> |
|
|
|
143 https://ftp.gnu.org/gnu/gzip/gzip-1.11.tar.gz.sig<br /> |
|
|
|
144 https://ftp.gnu.org/gnu/gzip/gzip-1.11.tar.xz.sig<br /> |
|
|
|
145 <br /> |
|
|
|
146 Use a mirror for higher download bandwidth:<br /> |
|
|
|
147 https://www.gnu.org/order/ftp.html<br /> |
|
|
|
148 <br /> |
|
|
|
149 Here are SHA1 and SHA256 checksums:<br /> |
|
|
|
150 ee2d3f44d8b370db7090b4c3250132cd62b38ec6 gzip-1.11.tar.gz<br /> |
|
|
|
151 PooODEW60wCTQdzhfXFTbExlXZMTA5AhznVUomzVDtk gzip-1.11.tar.gz<br /> |
|
|
|
152 adf4964893a45a211a888f8943c939f2794d86d4 gzip-1.11.tar.xz<br /> |
|
|
|
153 m5qV1o/cuTaEmk1vrai/hobN31i5smycQontDJKneQc gzip-1.11.tar.xz<br /> |
|
|
|
154 <br /> |
|
|
|
155 The SHA256 checksum is base64 encoded, instead of the<br /> |
|
|
|
156 hexadecimal encoding that most checksum tools default to.<br /> |
|
|
|
157 <br /> |
|
|
|
158 [*] Use a .sig file to verify that the corresponding file (without the<br /> |
|
|
|
159 .sig suffix) is intact. First, be sure to download both the .sig file<br /> |
|
|
|
160 and the corresponding tarball. Then, run a command like this:<br /> |
|
|
|
161 <br /> |
|
|
|
162 gpg --verify gzip-1.11.tar.gz.sig<br /> |
|
|
|
163 <br /> |
|
|
|
164 If that command fails because you don't have the required public key,<br /> |
|
|
|
165 then run this command to import it:<br /> |
|
|
|
166 <br /> |
|
|
|
167 gpg --keyserver keys.gnupg.net --recv-keys 7FD9FCCB000BEEEE<br /> |
|
|
|
168 <br /> |
|
|
|
169 and rerun the 'gpg --verify' command.<br /> |
|
|
|
170 <br /> |
|
|
|
171 This release was bootstrapped with the following tools:<br /> |
|
|
|
172 Autoconf 2.71<br /> |
|
|
|
173 Automake 1.16d<br /> |
|
|
|
174 Gnulib v0.1-4886-g93280a4bd<br /> |
|
|
|
175 <br /> |
|
|
|
176 NEWS<br /> |
|
|
|
177 <br /> |
|
|
|
178 * Noteworthy changes in release 1.11 (2021-09-03) [stable]<br /> |
|
|
|
179 <br /> |
|
|
|
180 ** Performance improvements<br /> |
|
|
|
181 <br /> |
|
|
|
182 IBM Z platforms now support hardware-accelerated deflation.<br /> |
|
|
|
183 </p></blockquote></content:encoded> |
|
|
|
184 <dc:date>2021-09-03T15:00:02+00:00</dc:date> |
|
|
|
185 <dc:creator>Jim Meyering</dc:creator> |
|
|
|
186 </item> |
|
|
|
187 <item rdf:about="http://www.fsf.org/news/a-wake-up-call-for-iphone-users-its-time-to-go"> |
|
|
|
188 <title>FSF News: A wake-up call for iPhone users -- it's time to go</title> |
|
|
|
189 <link>http://www.fsf.org/news/a-wake-up-call-for-iphone-users-its-time-to-go</link> |
|
|
|
190 |
|
|
|
191 <dc:date>2021-09-02T20:45:00+00:00</dc:date> |
|
|
|
192 <dc:creator>FSF News</dc:creator> |
|
|
|
193 </item> |
|
|
|
194 <item rdf:about="http://www.fsf.org/news/fsf-job-opportunity-outreach-and-communications-coordinator"> |
|
|
|
195 <title>FSF News: FSF job opportunity: Outreach and communications coordinator</title> |
|
|
|
196 <link>http://www.fsf.org/news/fsf-job-opportunity-outreach-and-communications-coordinator</link> |
|
|
|
197 |
|
|
|
198 <dc:date>2021-09-02T20:19:24+00:00</dc:date> |
|
|
|
199 <dc:creator>FSF News</dc:creator> |
|
|
|
200 </item> |
|
|
|
201 <item rdf:about="http://savannah.gnu.org/forum/forum.php?forum_id=10043"> |
|
|
|
202 <title>gdbm @ Savannah: Version 1.21</title> |
|
|
|
203 <link>http://savannah.gnu.org/forum/forum.php?forum_id=10043</link> |
|
|
|
204 <content:encoded><p><a href="https://ftp.gnu.org/gnu/gdbm/gdbm-1.21.tar.gz">Version 1.21</a> is available for download. This version introduces an important new feature: <a href="https://www.gnu.org.ua/software/gdbm/manual/Crash-Tolerance.html">Crash tolerance</a>, brought to gdbm by Terence Kelly.<br /> |
|
|
|
205 </p></content:encoded> |
|
|
|
206 <dc:date>2021-09-02T14:28:17+00:00</dc:date> |
|
|
|
207 <dc:creator>Sergey Poznyakoff</dc:creator> |
|
|
|
208 </item> |
|
|
|
209 <item rdf:about="http://www.fsf.org/blogs/community/august-gnu-spotlight-with-mike-gerwitz-13-new-gnu-releases"> |
|
|
|
210 <title>FSF Blogs: August GNU Spotlight with Mike Gerwitz: 13 new GNU releases!</title> |
|
|
|
211 <link>http://www.fsf.org/blogs/community/august-gnu-spotlight-with-mike-gerwitz-13-new-gnu-releases</link> |
|
|
|
212 <content:encoded>13 new GNU releases in the last month (as of August 29, 2021):</content:encoded> |
|
|
|
213 <dc:date>2021-09-01T16:47:42+00:00</dc:date> |
|
|
|
214 <dc:creator>FSF Blogs</dc:creator> |
|
|
|
215 </item> |
|
|
|
216 <item rdf:about="http://www.fsf.org/blogs/licensing/FSF-copyright-handling"> |
|
|
|
217 <title>FSF Blogs: FSF copyright handling: A basis for distribution, licensing and enforcement</title> |
|
|
|
218 <link>http://www.fsf.org/blogs/licensing/FSF-copyright-handling</link> |
|
|
|
219 |
|
|
|
220 <dc:date>2021-08-30T21:31:26+00:00</dc:date> |
|
|
|
221 <dc:creator>FSF Blogs</dc:creator> |
|
|
|
222 </item> |
|
|
|
223 <item rdf:about="https://taler.net/en/news/2021-09.html"> |
|
|
|
224 <title>GNU Taler news: GNU Taler v0.8 released</title> |
|
|
|
225 <link>https://taler.net/en/news/2021-09.html</link> |
|
|
|
226 <content:encoded><article> |
|
|
|
227 We are happy to announce the release of GNU Taler v0.8. |
|
|
|
228 </article></content:encoded> |
|
|
|
229 <dc:date>2021-08-23T22:00:00+00:00</dc:date> |
|
|
|
230 <dc:creator>GNU Taler news</dc:creator> |
|
|
|
231 </item> |
|
|
|
232 <item rdf:about="http://savannah.gnu.org/forum/forum.php?forum_id=10040"> |
|
|
|
233 <title>health @ Savannah: MyGNUHealth maintenance release 1.0.4 is out!</title> |
|
|
|
234 <link>http://savannah.gnu.org/forum/forum.php?forum_id=10040</link> |
|
|
|
235 <content:encoded><p>Dear community |
|
|
|
236 <br /> |
|
|
|
237 </p> |
|
|
|
238 <p>I am pleased to announce the maintanance release 1.0.4 from MyGNUHealth, the GNUHealth Personal Health Record. |
|
|
|
239 <br /> |
|
|
|
240 </p> |
|
|
|
241 <p>It fixes plotting issues when matplotlib uses unsorted records or dup batch inputs. |
|
|
|
242 <br /> |
|
|
|
243 </p> |
|
|
|
244 <p>You can see the Changelog at GNU Savannah mercurial server. |
|
|
|
245 <br /> |
|
|
|
246 </p> |
|
|
|
247 <p>The package is at GNU.org, the Python Package Index (PyPi) and different GNU/Linux distributions. |
|
|
|
248 <br /> |
|
|
|
249 </p> |
|
|
|
250 <p>Happy and healthy hacking! |
|
|
|
251 <br /> |
|
|
|
252 Luis |
|
|
|
253 <br /> |
|
|
|
254 </p> |
|
|
|
255 <p>-- |
|
|
|
256 <br /> |
|
|
|
257 Dr. Luis Falcon, MD, MSc |
|
|
|
258 <br /> |
|
|
|
259 President, GNU Solidario |
|
|
|
260 <br /> |
|
|
|
261 Advancing Social Medicine |
|
|
|
262 <br /> |
|
|
|
263 <a href="http://www.gnuhealth.org">http://www.gnuhealth.org</a><br /> |
|
|
|
264 </p></content:encoded> |
|
|
|
265 <dc:date>2021-08-22T21:41:29+00:00</dc:date> |
|
|
|
266 <dc:creator>Luis Falcon</dc:creator> |
|
|
|
267 </item> |
|
|
|
268 <item rdf:about="http://savannah.gnu.org/forum/forum.php?forum_id=10039"> |
|
|
|
269 <title>parallel @ Savannah: GNU Parallel 20210822 ('Kabul') released</title> |
|
|
|
270 <link>http://savannah.gnu.org/forum/forum.php?forum_id=10039</link> |
|
|
|
271 <content:encoded><p>GNU Parallel 20210822 ('Kabul') has been released. It is available for download at: lbry://@GnuParallel:4 |
|
|
|
272 <br /> |
|
|
|
273 </p> |
|
|
|
274 <p>Quote of the month: |
|
|
|
275 <br /> |
|
|
|
276 </p> |
|
|
|
277 <p> Safe to say, @GnuParallel was a life changer during my PhD! It helped |
|
|
|
278 <br /> |
|
|
|
279 me optimise so many of my tasks and analyses. |
|
|
|
280 <br /> |
|
|
|
281 -- Parice Brandies @PariceBrandies@twitter |
|
|
|
282 <br /> |
|
|
|
283 </p> |
|
|
|
284 <p>New in this release: |
|
|
|
285 <br /> |
|
|
|
286 </p> |
|
|
|
287 <ul> |
|
|
|
288 <li>--ctag/--ctagstring colors the tag in different colors for each job. |
|
|
|
289 </li> |
|
|
|
290 <li>You can use unit prefixes (k, m, g, etc) with -n -N -L. |
|
|
|
291 </li> |
|
|
|
292 <li>Bug fixes and man page updates. |
|
|
|
293 </li> |
|
|
|
294 </ul> |
|
|
|
295 |
|
|
|
296 <p>News about GNU Parallel: |
|
|
|
297 <br /> |
|
|
|
298 </p> |
|
|
|
299 <ul> |
|
|
|
300 <li>Parallelising jobs with GNU parallel <a href="https://blog.ronin.cloud/gnu-parallel/">https://blog.ronin.cloud/gnu-parallel/</a> |
|
|
|
301 </li> |
|
|
|
302 <li>Use multiple CPU Cores with your Linux commands - awk, sed, bzip2, grep, wc, etc. <a href="https://cdmana.com/2021/07/20210728132344693t.html">https://cdmana.com/2021/07/20210728132344693t.html</a> |
|
|
|
303 </li> |
|
|
|
304 <li>How to execute commands in parallel in Linux <a href="https://net2.com/how-to-execute-commands-in-parallel-in-linux/">https://net2.com/how-to-execute-commands-in-parallel-in-linux/</a> |
|
|
|
305 </li> |
|
|
|
306 </ul> |
|
|
|
307 |
|
|
|
308 <p>Get the book: GNU Parallel 2018 <a href="http://www.lulu.com/shop/ole-tange/gnu-parallel-2018/paperback/product-23558902.html">http://www.lulu.com/shop/ole-tange/gnu-parallel-2018/paperback/product-23558902.html</a> |
|
|
|
309 <br /> |
|
|
|
310 </p> |
|
|
|
311 <p>GNU Parallel - For people who live life in the parallel lane. |
|
|
|
312 <br /> |
|
|
|
313 </p> |
|
|
|
314 <p>If you like GNU Parallel record a video testimonial: Say who you are, what you use GNU Parallel for, how it helps you, and what you like most about it. Include a command that uses GNU Parallel if you feel like it. |
|
|
|
315 <br /> |
|
|
|
316 </p> |
|
|
|
317 |
|
|
|
318 <h2>About GNU Parallel</h2> |
|
|
|
319 |
|
|
|
320 <p>GNU Parallel is a shell tool for executing jobs in parallel using one or more computers. A job can be a single command or a small script that has to be run for each of the lines in the input. The typical input is a list of files, a list of hosts, a list of users, a list of URLs, or a list of tables. A job can also be a command that reads from a pipe. GNU Parallel can then split the input and pipe it into commands in parallel. |
|
|
|
321 <br /> |
|
|
|
322 </p> |
|
|
|
323 <p>If you use xargs and tee today you will find GNU Parallel very easy to use as GNU Parallel is written to have the same options as xargs. If you write loops in shell, you will find GNU Parallel may be able to replace most of the loops and make them run faster by running several jobs in parallel. GNU Parallel can even replace nested loops. |
|
|
|
324 <br /> |
|
|
|
325 </p> |
|
|
|
326 <p>GNU Parallel makes sure output from the commands is the same output as you would get had you run the commands sequentially. This makes it possible to use output from GNU Parallel as input for other programs. |
|
|
|
327 <br /> |
|
|
|
328 </p> |
|
|
|
329 <p>For example you can run this to convert all jpeg files into png and gif files and have a progress bar: |
|
|
|
330 <br /> |
|
|
|
331 </p> |
|
|
|
332 <p> parallel --bar convert {1} {1.}.{2} ::: *.jpg ::: png gif |
|
|
|
333 <br /> |
|
|
|
334 </p> |
|
|
|
335 <p>Or you can generate big, medium, and small thumbnails of all jpeg files in sub dirs: |
|
|
|
336 <br /> |
|
|
|
337 </p> |
|
|
|
338 <p> find . -name '*.jpg' | |
|
|
|
339 <br /> |
|
|
|
340 parallel convert -geometry {2} {1} {1//}/thumb{2}_{1/} :::: - ::: 50 100 200 |
|
|
|
341 <br /> |
|
|
|
342 </p> |
|
|
|
343 <p>You can find more about GNU Parallel at: <a href="http://www.gnu.org/s/parallel/">http://www.gnu.org/s/parallel/</a> |
|
|
|
344 <br /> |
|
|
|
345 </p> |
|
|
|
346 <p>You can install GNU Parallel in just 10 seconds with: |
|
|
|
347 <br /> |
|
|
|
348 </p> |
|
|
|
349 <p> $ (wget -O - pi.dk/3 || lynx -source pi.dk/3 || curl pi.dk/3/ || \ |
|
|
|
350 <br /> |
|
|
|
351 fetch -o - <a href="http://pi.dk/3">http://pi.dk/3</a> ) &gt; install.sh |
|
|
|
352 <br /> |
|
|
|
353 $ sha1sum install.sh | grep c82233e7da3166308632ac8c34f850c0 |
|
|
|
354 <br /> |
|
|
|
355 12345678 c82233e7 da316630 8632ac8c 34f850c0 |
|
|
|
356 <br /> |
|
|
|
357 $ md5sum install.sh | grep ae3d7aac5e15cf3dfc87046cfc5918d2 |
|
|
|
358 <br /> |
|
|
|
359 ae3d7aac 5e15cf3d fc87046c fc5918d2 |
|
|
|
360 <br /> |
|
|
|
361 $ sha512sum install.sh | grep dfc00d823137271a6d96225cea9e89f533ff6c81f |
|
|
|
362 <br /> |
|
|
|
363 9c5198d5 31a3b755 b7910ece 3a42d206 c804694d fc00d823 137271a6 d96225ce |
|
|
|
364 <br /> |
|
|
|
365 a9e89f53 3ff6c81f f52b298b ef9fb613 2d3f9ccd 0e2c7bd3 c35978b5 79acb5ca |
|
|
|
366 <br /> |
|
|
|
367 $ bash install.sh |
|
|
|
368 <br /> |
|
|
|
369 </p> |
|
|
|
370 <p>Watch the intro video on <a href="http://www.youtube.com/playlist?list=PL284C9FF2488BC6D1">http://www.youtube.com/playlist?list=PL284C9FF2488BC6D1</a> |
|
|
|
371 <br /> |
|
|
|
372 </p> |
|
|
|
373 <p>Walk through the tutorial (man parallel_tutorial). Your command line will love you for it. |
|
|
|
374 <br /> |
|
|
|
375 </p> |
|
|
|
376 <p>When using programs that use GNU Parallel to process data for publication please cite: |
|
|
|
377 <br /> |
|
|
|
378 </p> |
|
|
|
379 <p>O. Tange (2018): GNU Parallel 2018, March 2018, <a href="https://doi.org/10.5281/zenodo.1146014">https://doi.org/10.5281/zenodo.1146014</a>. |
|
|
|
380 <br /> |
|
|
|
381 </p> |
|
|
|
382 <p>If you like GNU Parallel: |
|
|
|
383 <br /> |
|
|
|
384 </p> |
|
|
|
385 <ul> |
|
|
|
386 <li>Give a demo at your local user group/team/colleagues |
|
|
|
387 </li> |
|
|
|
388 <li>Post the intro videos on Reddit/Diaspora*/forums/blogs/ Identi.ca/Google+/Twitter/Facebook/Linkedin/mailing lists |
|
|
|
389 </li> |
|
|
|
390 <li>Get the merchandise <a href="https://gnuparallel.threadless.com/designs/gnu-parallel">https://gnuparallel.threadless.com/designs/gnu-parallel</a> |
|
|
|
391 </li> |
|
|
|
392 <li>Request or write a review for your favourite blog or magazine |
|
|
|
393 </li> |
|
|
|
394 <li>Request or build a package for your favourite distribution (if it is not already there) |
|
|
|
395 </li> |
|
|
|
396 <li>Invite me for your next conference |
|
|
|
397 </li> |
|
|
|
398 </ul> |
|
|
|
399 <p>If you use programs that use GNU Parallel for research: |
|
|
|
400 <br /> |
|
|
|
401 </p> |
|
|
|
402 <ul> |
|
|
|
403 <li>Please cite GNU Parallel in you publications (use --citation) |
|
|
|
404 </li> |
|
|
|
405 </ul> |
|
|
|
406 <p>If GNU Parallel saves you money: |
|
|
|
407 <br /> |
|
|
|
408 </p> |
|
|
|
409 <ul> |
|
|
|
410 <li>(Have your company) donate to FSF <a href="https://my.fsf.org/donate/">https://my.fsf.org/donate/</a> |
|
|
|
411 </li> |
|
|
|
412 </ul> |
|
|
|
413 |
|
|
|
414 <h2>About GNU SQL</h2> |
|
|
|
415 |
|
|
|
416 <p>GNU sql aims to give a simple, unified interface for accessing databases through all the different databases' command line clients. So far the focus has been on giving a common way to specify login information (protocol, username, password, hostname, and port number), size (database and table size), and running queries. |
|
|
|
417 <br /> |
|
|
|
418 </p> |
|
|
|
419 <p>The database is addressed using a DBURL. If commands are left out you will get that database's interactive shell. |
|
|
|
420 <br /> |
|
|
|
421 </p> |
|
|
|
422 <p>When using GNU SQL for a publication please cite: |
|
|
|
423 <br /> |
|
|
|
424 </p> |
|
|
|
425 <p>O. Tange (2011): GNU SQL - A Command Line Tool for Accessing Different Databases Using DBURLs, ;login: The USENIX Magazine, April 2011:29-32. |
|
|
|
426 <br /> |
|
|
|
427 </p> |
|
|
|
428 |
|
|
|
429 <h2>About GNU Niceload</h2> |
|
|
|
430 |
|
|
|
431 <p>GNU niceload slows down a program when the computer load average (or other system activity) is above a certain limit. When the limit is reached the program will be suspended for some time. If the limit is a soft limit the program will be allowed to run for short amounts of time before being suspended again. If the limit is a hard limit the program will only be allowed to run when the system is below the limit.<br /> |
|
|
|
432 </p></content:encoded> |
|
|
|
433 <dc:date>2021-08-22T20:02:32+00:00</dc:date> |
|
|
|
434 <dc:creator>Ole Tange</dc:creator> |
|
|
|
435 </item> |
|
|
|
436 <item rdf:about="http://www.fsf.org/blogs/licensing/meeting-every-friday-help-us-update-the-free-software-directory"> |
|
|
|
437 <title>FSF Blogs: Meeting every Friday: Help us update the Free Software Directory</title> |
|
|
|
438 <link>http://www.fsf.org/blogs/licensing/meeting-every-friday-help-us-update-the-free-software-directory</link> |
|
|
|
439 |
|
|
|
440 <dc:date>2021-08-20T17:26:21+00:00</dc:date> |
|
|
|
441 <dc:creator>FSF Blogs</dc:creator> |
|
|
|
442 </item> |
|
|
|
443 <item rdf:about="https://anastasis.lu/en/news/news/2021-08.html"> |
|
|
|
444 <title>GNU Anastasis: Anastasis becomes a GNU package</title> |
|
|
|
445 <link>https://anastasis.lu/en/news/news/2021-08.html</link> |
|
|
|
446 <content:encoded><article> |
|
|
|
447 Anastasis is now officially a GNU package. |
|
|
|
448 </article></content:encoded> |
|
|
|
449 <dc:date>2021-08-15T22:00:00+00:00</dc:date> |
|
|
|
450 <dc:creator>GNU Anastasis</dc:creator> |
|
|
|
451 </item> |
|
|
|
452 <item rdf:about="http://meanmicio.org/?p=2399"> |
|
|
|
453 <title>GNU Health: GNU Health emergency response in Haiti</title> |
|
|
|
454 <link>https://meanmicio.org/2021/08/15/gnu-health-emergency-response-in-haiti/</link> |
|
|
|
455 <content:encoded><p>Yesterday, yet another devastating earthquake hit the southern area of Haiti. </p> |
|
|
|
456 |
|
|
|
457 |
|
|
|
458 |
|
|
|
459 <p>Immediately knowing about the earthquake, we contacted our representative in Haiti, <strong>Pierre Michel</strong> <strong>Augustin</strong>, and started an emergency humanitarian response in coordination with our team in the country . </p> |
|
|
|
460 |
|
|
|
461 |
|
|
|
462 |
|
|
|
463 <p>Haiti suffers from recurrent <strong>natural disasters</strong> (hurricanes, earthquakes). In the last years, Haiti has also been a victim of <strong>structural poverty and civil unrest.</strong> Haitians are strong, resilient, noble people. Haiti is the land of the free and the brave (see my post “<em><a href="https://meanmicio.org/2019/04/12/my-trip-to-haiti-the-land-of-the-free-and-the-brave/">My trip to Haiti, the land of the Free and the Brave</a></em>” ), yet it seems like the <strong>world has forgotten about Hait</strong>i.</p> |
|
|
|
464 |
|
|
|
465 |
|
|
|
466 |
|
|
|
467 <p><strong>GNU Solidario</strong> emergency response campaign in Haiti: <a href="https://www.gnusolidario.org/haiti.html">https://www.gnusolidario.org/haiti.html</a> </p> |
|
|
|
468 |
|
|
|
469 |
|
|
|
470 |
|
|
|
471 <figure class="wp-block-image size-large is-style-default"><a href="https://meanmicio.files.wordpress.com/2021/08/gnusolidario_haiti_earthquake_campaign.png"><img alt="" class="wp-image-2402" src="https://meanmicio.files.wordpress.com/2021/08/gnusolidario_haiti_earthquake_campaign.png?w=781" /></a><figcaption>Archive picture (credit: UN Photo/Marco Dormino).</figcaption></figure> |
|
|
|
472 |
|
|
|
473 |
|
|
|
474 |
|
|
|
475 <p>We need emergency response now, but we also need to work on Social Medicine, and tackle the socioeconomic determinants that are the root cause of the structural poverty in Haiti. Only then, our Haitians brothers and sisters will be able to recover the dignity that they deserve, and grow in prosperity. We need to create the conditions, working the local community in the country to strengthen the public health and education system. <a href="https://www.gnuhealth.org">GNU Health</a> is part of this program. </p> |
|
|
|
476 |
|
|
|
477 |
|
|
|
478 |
|
|
|
479 <p>Our local representative, engineer Pierre Michel Augustin, has been working in the localization of GNU Health, and by the end of 2021, we will have the GNU Health node fully operational in Limbé. The Haiti GNU Health office will provide training and support to the local and regional health professionals and institutions.</p> |
|
|
|
480 |
|
|
|
481 |
|
|
|
482 |
|
|
|
483 <figure class="wp-block-image size-large is-style-default"><a href="https://meanmicio.files.wordpress.com/2021/08/gnu_health_social_medicine.png"><img alt="" class="wp-image-2404" src="https://meanmicio.files.wordpress.com/2021/08/gnu_health_social_medicine.png?w=1024" /></a><figcaption>The GNU Health project focuses on helping health professionals delivering Social Medicine and health informatics.</figcaption></figure> |
|
|
|
484 |
|
|
|
485 |
|
|
|
486 |
|
|
|
487 <p>Natural disasters have a profound impact in the short, medium and long period in any nation. The situation gets much worse when they hit impoverished nations. So, in the short term, we will put all the effort to tackle this emergency and save lives. For the medium and long term, we will continue the GNU Health node in Haiti and building the GNU Health Federation in the country, in cooperation with the local team, academic and health institutions. </p> |
|
|
|
488 |
|
|
|
489 |
|
|
|
490 |
|
|
|
491 <p>Creating local capacity is key to make the project sustainable. Resources will be dedicated to build the infrastructure (hardware, network..), but the main focus and effort will be on building local capacity, and training the local team to make them independent and build a sustainable and ethical model.</p> |
|
|
|
492 |
|
|
|
493 |
|
|
|
494 |
|
|
|
495 <figure class="wp-block-image size-large is-style-default"><a href="https://meanmicio.files.wordpress.com/2021/08/gnu-health-haiti-help-twitter.png"><img alt="" class="wp-image-2406" src="https://meanmicio.files.wordpress.com/2021/08/gnu-health-haiti-help-twitter.png?w=1024" /></a><figcaption>Visit <a href="https://www.gnusolidario.org/haiti.html">https://www.gnusolidario.org/haiti.html </a>to support our mission in Haiti</figcaption></figure> |
|
|
|
496 |
|
|
|
497 |
|
|
|
498 |
|
|
|
499 <p>In the end, technology is just a medium, and <strong>GNU Health is a social project </strong>that uses really cool Free/Libre technology<strong> </strong>and open science, for the betterment of our societies.</p> |
|
|
|
500 |
|
|
|
501 |
|
|
|
502 |
|
|
|
503 <p>Please consider helping GNU Solidario humanitarian campaign in Haiti, by visiting the following link:</p> |
|
|
|
504 |
|
|
|
505 |
|
|
|
506 |
|
|
|
507 <p><a href="https://www.gnusolidario.org/haiti.html">https://www.gnusolidario.org/haiti.html</a></p> |
|
|
|
508 |
|
|
|
509 |
|
|
|
510 |
|
|
|
511 <p></p> |
|
|
|
512 |
|
|
|
513 |
|
|
|
514 |
|
|
|
515 <p><strong>About GNU Solidario:</strong></p> |
|
|
|
516 |
|
|
|
517 |
|
|
|
518 |
|
|
|
519 <p><strong>GNU Solidario</strong> is a non-profit humanitarian organization focused on Social Medicine. We have missions around the globe, and our projects has been adopted by health institutions, multilateral organizations and national public health systems around the world.</p> |
|
|
|
520 |
|
|
|
521 |
|
|
|
522 |
|
|
|
523 <p>GNU Solidario is the organization behind <a href="https://www.gnuhealth.org">GNU Health</a>, the award winning Free / Libre digital health ecosystem, that provides a Hospital Management System, a Lab Information System, a Personal Health Record and a distributed, Federated health network.</p> |
|
|
|
524 |
|
|
|
525 |
|
|
|
526 |
|
|
|
527 <p>GNU Health is a <strong>GNU official project</strong> ( see <a href="https://www.gnu.org">www.g</a><a href="http://www.gnu.org">nu.org</a>), licensed under the GNU General Public License, GPL v3+ </p></content:encoded> |
|
|
|
528 <dc:date>2021-08-15T13:26:03+00:00</dc:date> |
|
|
|
529 <dc:creator>Luis Falcon</dc:creator> |
|
|
|
530 </item> |
|
|
|
531 <item rdf:about="http://savannah.gnu.org/forum/forum.php?forum_id=10037"> |
|
|
|
532 <title>grep @ Savannah: grep-3.7 released [stable]</title> |
|
|
|
533 <link>http://savannah.gnu.org/forum/forum.php?forum_id=10037</link> |
|
|
|
534 <content:encoded><blockquote class="verbatim"><p> This is to announce grep-3.7, a stable release.<br /> |
|
|
|
535 <br /> |
|
|
|
536 There have been 33 commits by 6 people in the 40 weeks since 3.6.<br /> |
|
|
|
537 <br /> |
|
|
|
538 See the NEWS below for a brief summary.<br /> |
|
|
|
539 <br /> |
|
|
|
540 Thanks to everyone who has contributed!<br /> |
|
|
|
541 The following people contributed changes to this release:<br /> |
|
|
|
542 <br /> |
|
|
|
543 Helge Kreutzmann (1)<br /> |
|
|
|
544 Jim Meyering (15)<br /> |
|
|
|
545 Kevin Locke (2)<br /> |
|
|
|
546 Marek Suppa (1)<br /> |
|
|
|
547 Mateusz Okulus (1)<br /> |
|
|
|
548 Paul Eggert (13)<br /> |
|
|
|
549 <br /> |
|
|
|
550 There were also 855 changes via the gnulib submodule.<br /> |
|
|
|
551 ==================================================================<br /> |
|
|
|
552 Here is the GNU grep home page:<br /> |
|
|
|
553 http://gnu.org/s/grep/<br /> |
|
|
|
554 <br /> |
|
|
|
555 Here are the compressed sources:<br /> |
|
|
|
556 https://ftp.gnu.org/gnu/grep/grep-3.7.tar.gz (2.6MB)<br /> |
|
|
|
557 https://ftp.gnu.org/gnu/grep/grep-3.7.tar.xz (1.6MB)<br /> |
|
|
|
558 <br /> |
|
|
|
559 Here are the GPG detached signatures[*]:<br /> |
|
|
|
560 https://ftp.gnu.org/gnu/grep/grep-3.7.tar.gz.sig<br /> |
|
|
|
561 https://ftp.gnu.org/gnu/grep/grep-3.7.tar.xz.sig<br /> |
|
|
|
562 <br /> |
|
|
|
563 Use a mirror for higher download bandwidth:<br /> |
|
|
|
564 https://www.gnu.org/order/ftp.html<br /> |
|
|
|
565 <br /> |
|
|
|
566 Here are the SHA1 and SHA256 checksums:<br /> |
|
|
|
567 <br /> |
|
|
|
568 5359ea0105cedfa21a63c89b22e0d7b41b016a40 grep-3.7.tar.gz<br /> |
|
|
|
569 wisM8tT2u+WZyQI4foBYmQ4e7pmu8zOiA4KeX9Pbs0I grep-3.7.tar.gz<br /> |
|
|
|
570 4d56da85e468e4012c81533a22052014a4c98b17 grep-3.7.tar.xz<br /> |
|
|
|
571 XBDaMSRgrschmE1dgyRtJFIOxDjdSNerWgXbwNbWgjw grep-3.7.tar.xz<br /> |
|
|
|
572 <br /> |
|
|
|
573 The SHA256 checksum is base64 encoded, instead of the<br /> |
|
|
|
574 hexadecimal encoding that most checksum tools default to.<br /> |
|
|
|
575 <br /> |
|
|
|
576 [*] Use a .sig file to verify that the corresponding file (without the<br /> |
|
|
|
577 .sig suffix) is intact. First, be sure to download both the .sig file<br /> |
|
|
|
578 and the corresponding tarball. Then, run a command like this:<br /> |
|
|
|
579 <br /> |
|
|
|
580 gpg --verify grep-3.7.tar.gz.sig<br /> |
|
|
|
581 <br /> |
|
|
|
582 If that command fails because you don't have the required public key,<br /> |
|
|
|
583 then run this command to import it:<br /> |
|
|
|
584 <br /> |
|
|
|
585 gpg --keyserver keys.gnupg.net --recv-keys 7FD9FCCB000BEEEE<br /> |
|
|
|
586 <br /> |
|
|
|
587 and rerun the 'gpg --verify' command.<br /> |
|
|
|
588 <br /> |
|
|
|
589 This release was bootstrapped with the following tools:<br /> |
|
|
|
590 Autoconf 2.71<br /> |
|
|
|
591 Automake 1.16d<br /> |
|
|
|
592 Gnulib v0.1-4847-g1cb09be022<br /> |
|
|
|
593 <br /> |
|
|
|
594 ===============================<br /> |
|
|
|
595 NEWS<br /> |
|
|
|
596 <br /> |
|
|
|
597 * Noteworthy changes in release 3.7 (2021-08-14) [stable]<br /> |
|
|
|
598 <br /> |
|
|
|
599 ** Changes in behavior<br /> |
|
|
|
600 <br /> |
|
|
|
601 Use of the --unix-byte-offsets (-u) option now evokes a warning.<br /> |
|
|
|
602 Since 3.1, this Windows-only option has had no effect.<br /> |
|
|
|
603 <br /> |
|
|
|
604 ** Bug fixes<br /> |
|
|
|
605 <br /> |
|
|
|
606 Preprocessing N patterns would take at least O(N^2) time when too many<br /> |
|
|
|
607 patterns hashed to too few buckets. This now takes seconds, not days:<br /> |
|
|
|
608 : | grep -Ff &lt;(seq 6400000 | tr 0-9 A-J)<br /> |
|
|
|
609 [Bug#44754 introduced in grep 3.5]<br /> |
|
|
|
610 </p></blockquote></content:encoded> |
|
|
|
611 <dc:date>2021-08-14T20:12:52+00:00</dc:date> |
|
|
|
612 <dc:creator>Jim Meyering</dc:creator> |
|
|
|
613 </item> |
|
|
|
614 <item rdf:about="tag:parabolagnulinux.org,2021-08-12:/news/talkingparabola-merged-in-main-iso-and-installation-medium-with-installer/"> |
|
|
|
615 <title>Parabola GNU/Linux-libre: TalkingParabola merged in main ISO and installation medium with installer</title> |
|
|
|
616 <link>https://parabolagnulinux.org/news/talkingparabola-merged-in-main-iso-and-installation-medium-with-installer/</link> |
|
|
|
617 <content:encoded><p>Last year <a href="https://www.archlinux.org/news/accessible-installation-medium/">Arch integrated the features from the TalkingArch project into archiso</a> and some months ago <a href="https://archlinux.org/news/installation-medium-with-installer/">they added an installer into their installation medium</a>. As a result, and with some delay, TalkingParabola was deprecated and we added these features to our ISOs too. They are available in out <a href="https://www.parabola.nu/download/">download page</a> as well.</p> |
|
|
|
618 <p>Note that although the OpenRC LXDE ISO has the speech boot option, this only works for CLI. Screen reader support will be added in the future for the GUI and the current installer will be replaced with one based in <a href="https://sourceforge.net/projects/revenge-installer/">Zen Installer</a>.</p></content:encoded> |
|
|
|
619 <dc:date>2021-08-12T05:43:05+00:00</dc:date> |
|
|
|
620 <dc:creator>David P.</dc:creator> |
|
|
|
621 </item> |
|
|
|
622 <item rdf:about="https://taler.net/en/news/2021-08.html"> |
|
|
|
623 <title>GNU Taler news: Code Blau GmbH deploys first external Taler auditor</title> |
|
|
|
624 <link>https://taler.net/en/news/2021-08.html</link> |
|
|
|
625 <content:encoded><article> |
|
|
|
626 We received a grant from NLnet foundation with the goal to qualify Code Blau GmbH to act as an external auditor for GNU Taler. To do this, we created a guide that describes how to deploy a Taler auditor and then practiced the steps using the existing Taler exchange deployment at BFH. Code Blau wrote a report detailing all the steps taken. Finally, we have created a draft of the kind of business agreement that Code Blau would enter with banks operating the Taler payment system. We thank CodeBlau for their work, and NLnet and the European Commission's Horizion 2020 NGI initiative for funding this work. |
|
|
|
627 </article></content:encoded> |
|
|
|
628 <dc:date>2021-08-07T22:00:00+00:00</dc:date> |
|
|
|
629 <dc:creator>GNU Taler news</dc:creator> |
|
|
|
630 </item> |
|
|
|
631 <item rdf:about="https://gnunet.org/en/news/2021-08-0.15.0.html"> |
|
|
|
632 <title>GNUnet News: GNUnet 0.15.0</title> |
|
|
|
633 <link>https://gnunet.org/en/news/2021-08-0.15.0.html</link> |
|
|
|
634 <content:encoded><article id="newspost-content"> |
|
|
|
635 <h1> |
|
|
|
636 GNUnet 0.15.0 released |
|
|
|
637 </h1> |
|
|
|
638 <p> |
|
|
|
639 We are pleased to announce the release of GNUnet 0.15.0. |
|
|
|
640 <br /> |
|
|
|
641 This is a new major release. It breaks protocol compatibility with the 0.14.x versions. |
|
|
|
642 Please be aware that Git master is thus henceforth |
|
|
|
643 <b> |
|
|
|
644 INCOMPATIBLE |
|
|
|
645 </b> |
|
|
|
646 with |
|
|
|
647 the 0.14.x GNUnet network, and interactions between old and new peers |
|
|
|
648 will result in issues. 0.14.x peers will be able to communicate with Git |
|
|
|
649 master or 0.14.x peers, but some services - in particular GNS - will not be compatible. |
|
|
|
650 <br /> |
|
|
|
651 The MESSENGER service goes out of experimental to be used by |
|
|
|
652 libraries and applications as dependency. It handles decentralized |
|
|
|
653 messaging in flexible groups by using the CADET service and messages |
|
|
|
654 can be signed with your ego from the IDENTITY service. The service |
|
|
|
655 is still in an early stage, so its protocol (currently version 0.1) |
|
|
|
656 will likely adapt or change in future releases to some degree. |
|
|
|
657 <br /> |
|
|
|
658 In terms of usability, users should be aware that there are still |
|
|
|
659 <b> |
|
|
|
660 a number of known open issues |
|
|
|
661 </b> |
|
|
|
662 in particular with respect to ease |
|
|
|
663 of use, but also some critical privacy issues especially for mobile users. |
|
|
|
664 Also, the nascent network is tiny and thus unlikely to |
|
|
|
665 provide good anonymity or extensive amounts of interesting information. |
|
|
|
666 As a result, the 0.15.0 release is still |
|
|
|
667 <b> |
|
|
|
668 only suitable for early adopters |
|
|
|
669 with some reasonable pain tolerance |
|
|
|
670 </b> |
|
|
|
671 . |
|
|
|
672 </p> |
|
|
|
673 <h4> |
|
|
|
674 Download links |
|
|
|
675 </h4> |
|
|
|
676 <ul> |
|
|
|
677 <li> |
|
|
|
678 <a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.15.0.tar.gz"> |
|
|
|
679 gnunet-0.15.0.tar.gz |
|
|
|
680 </a> |
|
|
|
681 ( |
|
|
|
682 <a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.15.0.tar.gz.sig"> |
|
|
|
683 signature |
|
|
|
684 </a> |
|
|
|
685 ) |
|
|
|
686 </li> |
|
|
|
687 <li> |
|
|
|
688 <a href="http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.15.0.tar.gz"> |
|
|
|
689 gnunet-gtk-0.15.0.tar.gz |
|
|
|
690 </a> |
|
|
|
691 ( |
|
|
|
692 <a href="http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.15.0.tar.gz.sig"> |
|
|
|
693 signature |
|
|
|
694 </a> |
|
|
|
695 ) |
|
|
|
696 </li> |
|
|
|
697 <li> |
|
|
|
698 <a href="http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.15.0.tar.gz"> |
|
|
|
699 gnunet-fuse-0.15.0.tar.gz |
|
|
|
700 </a> |
|
|
|
701 ( |
|
|
|
702 <a href="http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.15.0.tar.gz.sig"> |
|
|
|
703 signature |
|
|
|
704 </a> |
|
|
|
705 ) |
|
|
|
706 </li> |
|
|
|
707 </ul> |
|
|
|
708 <p> |
|
|
|
709 The GPG key used to sign is: |
|
|
|
710 <a href="https://gnunet.org/~schanzen/3D11063C10F98D14BD24D1470B0998EF86F59B6A"> |
|
|
|
711 3D11063C10F98D14BD24D1470B0998EF86F59B6A |
|
|
|
712 </a> |
|
|
|
713 </p> |
|
|
|
714 <p> |
|
|
|
715 Note that due to mirror synchronization, not all links might be functional |
|
|
|
716 early after the release. For direct access try |
|
|
|
717 <a href="http://ftp.gnu.org/gnu/gnunet/"> |
|
|
|
718 http://ftp.gnu.org/gnu/gnunet/ |
|
|
|
719 </a> |
|
|
|
720 </p> |
|
|
|
721 <h4> |
|
|
|
722 Noteworthy changes in 0.15.0 (since 0.14.1) |
|
|
|
723 </h4> |
|
|
|
724 <ul> |
|
|
|
725 <li> |
|
|
|
726 <tt> |
|
|
|
727 GNS |
|
|
|
728 </tt> |
|
|
|
729 : |
|
|
|
730 <ul> |
|
|
|
731 <li> |
|
|
|
732 First-come-first-served GNUnet top-level domain ".pin" zone key and website updated a. |
|
|
|
733 <a href="https://fcfs.gnunet.org/"> |
|
|
|
734 Register here. |
|
|
|
735 </a> |
|
|
|
736 <a href="https://bugs.gnunet.org/view.php?id=6832"> |
|
|
|
737 #6832 |
|
|
|
738 </a> |
|
|
|
739 </li> |
|
|
|
740 <li> |
|
|
|
741 New |
|
|
|
742 <a href="https://lsd.gnunet.org/lsd0001/#name-edkey"> |
|
|
|
743 EDKEY zone keys |
|
|
|
744 </a> |
|
|
|
745 . |
|
|
|
746 </li> |
|
|
|
747 </ul> |
|
|
|
748 </li> |
|
|
|
749 <li> |
|
|
|
750 <tt> |
|
|
|
751 SCALARPRODUCT |
|
|
|
752 </tt> |
|
|
|
753 : Crypto ported to libsodium improving performance. |
|
|
|
754 <a href="https://bugs.gnunet.org/view.php?id=6818"> |
|
|
|
755 #6818 |
|
|
|
756 </a> |
|
|
|
757 </li> |
|
|
|
758 <li> |
|
|
|
759 <tt> |
|
|
|
760 RECLAIM |
|
|
|
761 </tt> |
|
|
|
762 : Added support for |
|
|
|
763 <a class="link" href="https://github.com/Fraunhofer-AISEC/libpabc"> |
|
|
|
764 BBS+ blind signature credentials |
|
|
|
765 </a> |
|
|
|
766 for selective disclosure. |
|
|
|
767 </li> |
|
|
|
768 <li> |
|
|
|
769 <tt> |
|
|
|
770 UTIL |
|
|
|
771 </tt> |
|
|
|
772 : |
|
|
|
773 <ul> |
|
|
|
774 <li> |
|
|
|
775 Swap gnunet-config's default behaviour for the rewrite flag. |
|
|
|
776 </li> |
|
|
|
777 <li> |
|
|
|
778 Config file is not not always written |
|
|
|
779 </li> |
|
|
|
780 <li> |
|
|
|
781 Introduced new TIME helper functions |
|
|
|
782 </li> |
|
|
|
783 </ul> |
|
|
|
784 </li> |
|
|
|
785 <li> |
|
|
|
786 <tt> |
|
|
|
787 SETU |
|
|
|
788 </tt> |
|
|
|
789 : Implemented set union subsystem along with technical specification |
|
|
|
790 <a href="https://lsd.gnunet.org/lsd0003/"> |
|
|
|
791 LSD0003 |
|
|
|
792 </a> |
|
|
|
793 . |
|
|
|
794 </li> |
|
|
|
795 <li> |
|
|
|
796 <tt> |
|
|
|
797 MESSENGER |
|
|
|
798 </tt> |
|
|
|
799 : New messenger component moved out of experimental. |
|
|
|
800 </li> |
|
|
|
801 </ul> |
|
|
|
802 <p> |
|
|
|
803 A detailed list of changes can be found in the |
|
|
|
804 <a href="https://git.gnunet.org/gnunet.git/tree/ChangeLog"> |
|
|
|
805 ChangeLog |
|
|
|
806 </a> |
|
|
|
807 and |
|
|
|
808 the |
|
|
|
809 <a href="https://bugs.gnunet.org/changelog_page.php?project_id=13"> |
|
|
|
810 bug tracker |
|
|
|
811 </a> |
|
|
|
812 . |
|
|
|
813 </p> |
|
|
|
814 <h4> |
|
|
|
815 Known Issues |
|
|
|
816 </h4> |
|
|
|
817 <ul> |
|
|
|
818 <li> |
|
|
|
819 There are known major design issues in the TRANSPORT, ATS and CORE subsystems which will need to be addressed in the future to achieve acceptable usability, performance and security. |
|
|
|
820 </li> |
|
|
|
821 <li> |
|
|
|
822 There are known moderate implementation limitations in CADET that negatively impact performance. |
|
|
|
823 </li> |
|
|
|
824 <li> |
|
|
|
825 There are known moderate design issues in FS that also impact usability and performance. |
|
|
|
826 </li> |
|
|
|
827 <li> |
|
|
|
828 There are minor implementation limitations in SET that create unnecessary attack surface for availability. |
|
|
|
829 </li> |
|
|
|
830 <li> |
|
|
|
831 The RPS subsystem remains experimental. |
|
|
|
832 </li> |
|
|
|
833 <li> |
|
|
|
834 Some high-level tests in the test-suite fail non-deterministically due to the low-level TRANSPORT issues. |
|
|
|
835 </li> |
|
|
|
836 </ul> |
|
|
|
837 <p> |
|
|
|
838 In addition to this list, you may also want to consult our bug tracker at |
|
|
|
839 <a href="https://bugs.gnunet.org/"> |
|
|
|
840 bugs.gnunet.org |
|
|
|
841 </a> |
|
|
|
842 which lists about 190 more specific issues. |
|
|
|
843 </p> |
|
|
|
844 <h4> |
|
|
|
845 Thanks |
|
|
|
846 </h4> |
|
|
|
847 <p> |
|
|
|
848 This release was the work of many people. The following people contributed code and were thus easily identified: |
|
|
|
849 Christian Grothoff, Daniel Golle, Alessio Vanni, Thien-Thi Nguyen, Elias Summermatter, t3sserakt, TheJackiMonster and Martin Schanzenbach. |
|
|
|
850 </p> |
|
|
|
851 </article></content:encoded> |
|
|
|
852 <dc:date>2021-08-07T22:00:00+00:00</dc:date> |
|
|
|
853 <dc:creator>GNUnet News</dc:creator> |
|
|
|
854 </item> |
|
|
|
855 <item rdf:about="http://www.fsf.org/blogs/community/the-threat-of-software-patents-persists"> |
|
|
|
856 <title>FSF Blogs: The threat of software patents persists</title> |
|
|
|
857 <link>http://www.fsf.org/blogs/community/the-threat-of-software-patents-persists</link> |
|
|
|
858 |
|
|
|
859 <dc:date>2021-08-05T14:40:00+00:00</dc:date> |
|
|
|
860 <dc:creator>FSF Blogs</dc:creator> |
|
|
|
861 </item> |
|
|
|
862 <item rdf:about="http://www.fsf.org/blogs/community/july-gnu-spotlight-with-mike-gerwitz-fifteen-new-gnu-releases"> |
|
|
|
863 <title>FSF Blogs: July GNU Spotlight with Mike Gerwitz: Fifteen new GNU releases!</title> |
|
|
|
864 <link>http://www.fsf.org/blogs/community/july-gnu-spotlight-with-mike-gerwitz-fifteen-new-gnu-releases</link> |
|
|
|
865 <content:encoded>15 new GNU releases in the last month (as of July 26, 2021):</content:encoded> |
|
|
|
866 <dc:date>2021-08-05T14:39:59+00:00</dc:date> |
|
|
|
867 <dc:creator>FSF Blogs</dc:creator> |
|
|
|
868 </item> |
|
|
|
869 <item rdf:about="http://savannah.gnu.org/forum/forum.php?forum_id=10034"> |
|
|
|
870 <title>mailutils @ Savannah: Version 3.13</title> |
|
|
|
871 <link>http://savannah.gnu.org/forum/forum.php?forum_id=10034</link> |
|
|
|
872 <content:encoded><p>Version 3.13 of GNU mailutils is [https://ftp.gnu.org/gnu/mailutils/mailutils-3.13.tar.gz available for download. |
|
|
|
873 <br /> |
|
|
|
874 </p> |
|
|
|
875 <p>New in this version: |
|
|
|
876 <br /> |
|
|
|
877 </p> |
|
|
|
878 <ul> |
|
|
|
879 <li>Improved mailbox locking. |
|
|
|
880 </li> |
|
|
|
881 <li>Changes in the 'locking' configuration statement. |
|
|
|
882 </li> |
|
|
|
883 <li>Important changes in <strong>mail</strong> utility. |
|
|
|
884 </li> |
|
|
|
885 </ul></content:encoded> |
|
|
|
886 <dc:date>2021-08-05T11:46:54+00:00</dc:date> |
|
|
|
887 <dc:creator>Sergey Poznyakoff</dc:creator> |
|
|
|
888 </item> |
|
|
|
889 <item rdf:about="https://guix.gnu.org/blog/2021/taming-the-stat-storm-with-a-loader-cache/"> |
|
|
|
890 <title>GNU Guix: Taming the ‘stat’ storm with a loader cache</title> |
|
|
|
891 <link>https://guix.gnu.org/blog/2021/taming-the-stat-storm-with-a-loader-cache/</link> |
|
|
|
892 <content:encoded><p>It was one of these days where some of us on IRC were rehashing that old |
|
|
|
893 problem—that application startup in Guix causes a |
|
|
|
894 “<a href="https://linux.die.net/man/2/stat"><code>stat</code></a> storm”—and lamenting the |
|
|
|
895 lack of a solution when suddenly, Ricardo |
|
|
|
896 <a href="https://logs.guix.gnu.org/guix/2020-11-24.log#183934">proposes</a> what, |
|
|
|
897 in hindsight, looks like an obvious solution: “maybe we could use a |
|
|
|
898 per-application ld cache?”. A moment where collective thinking exceeds |
|
|
|
899 the sum of our individual thoughts. The result is one of the many |
|
|
|
900 features that made it in the <code>core-updates</code> branch, slated to be merged |
|
|
|
901 in the coming weeks, one that reduces application startup time.</p><h1>ELF files and their dependencies</h1><p>Before going into detail, let’s look at what those “<code>stat</code> storms” look |
|
|
|
902 like and where they come from. Loading an |
|
|
|
903 <a href="https://en.wikipedia.org/wiki/Executable_and_Linkable_Format">ELF</a> |
|
|
|
904 executable involves loading the shared libraries (the <code>.so</code> files, for |
|
|
|
905 “shared objects”) it depends on, recursively. This is the job of the |
|
|
|
906 <em>loader</em> (or <em>dynamic linker</em>), <code>ld.so</code>, which is part of the GNU C |
|
|
|
907 Library (glibc) package. What shared libraries an executable like that |
|
|
|
908 of Emacs depends on? The <code>ldd</code> command answers that question:</p><pre><code>$ ldd $(type -P .emacs-27.2-real) |
|
|
|
909 linux-vdso.so.1 (0x00007fff565bb000) |
|
|
|
910 libtiff.so.5 =&gt; /gnu/store/l1wwr5c34593gqxvp34qbwdkaf7xhdbd-libtiff-4.2.0/lib/libtiff.so.5 (0x00007fd5aa2b1000) |
|
|
|
911 libjpeg.so.62 =&gt; /gnu/store/5khkwz9g6vza1n4z8xlmdrwhazz7m8wp-libjpeg-turbo-2.0.5/lib/libjpeg.so.62 (0x00007fd5aa219000) |
|
|
|
912 libpng16.so.16 =&gt; /gnu/store/3x2kak8abb6z2klch72kfff2qxzv00pj-libpng-1.6.37/lib/libpng16.so.16 (0x00007fd5aa1e4000) |
|
|
|
913 libz.so.1 =&gt; /gnu/store/rykm237xkmq7rl1p0nwass01p090p88x-zlib-1.2.11/lib/libz.so.1 (0x00007fd5aa1c2000) |
|
|
|
914 libgif.so.7 =&gt; /gnu/store/bpw826hypzlnl4gr6d0v8m63dd0k8waw-giflib-5.2.1/lib/libgif.so.7 (0x00007fd5aa1b8000) |
|
|
|
915 libXpm.so.4 =&gt; /gnu/store/jgdsl6whyimkz4hxsp2vrl77338kpl0i-libxpm-3.5.13/lib/libXpm.so.4 (0x00007fd5aa1a4000) |
|
|
|
916 […] |
|
|
|
917 $ ldd $(type -P .emacs-27.2-real) | wc -l |
|
|
|
918 89</code></pre><p>(If you’re wondering why we’re looking at <code>.emacs-27.2-real</code> rather than |
|
|
|
919 <code>emacs-27.2</code>, it’s because in Guix the latter is a tiny shell wrapper |
|
|
|
920 around the former.)</p><p>To load a graphical program like Emacs, the loader needs to load more |
|
|
|
921 than 80 shared libraries! Each is in its own <code>/gnu/store</code> sub-directory |
|
|
|
922 in Guix, one directory per package.</p><p>But how does <code>ld.so</code> know where to find these libraries in the first |
|
|
|
923 place? In Guix, during the link phase that produces an ELF file |
|
|
|
924 (executable or shared library), we tell the |
|
|
|
925 <a href="https://en.wikipedia.org/wiki/Linker_%28computing%29">linker</a> to |
|
|
|
926 populate the <code>RUNPATH</code> entry of the ELF file with the list of |
|
|
|
927 directories where its dependencies may be found. This is done by |
|
|
|
928 passing |
|
|
|
929 <a href="https://sourceware.org/binutils/docs/ld/Options.html#index-_002drpath_003ddir"><code>-rpath</code></a> |
|
|
|
930 options to the linker, which Guix’s <a href="https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/ld-wrapper.in">“linker |
|
|
|
931 wrapper”</a> |
|
|
|
932 takes care of. The <code>RUNPATH</code> is the <em>run-time library search path</em>: |
|
|
|
933 it’s a colon-separated list of directories where <code>ld.so</code> will look for |
|
|
|
934 shared libraries when it loads an ELF file. We can look at the |
|
|
|
935 <code>RUNPATH</code> of our Emacs executable like this:</p><pre><code>$ objdump -x $(type -P .emacs-27.2-real) | grep RUNPATH |
|
|
|
936 RUNPATH /gnu/store/fa6wj5bxkj5ll1d7292a70knmyl7a0cr-glibc-2.31/lib:/gnu/store/01b4w3m6mp55y531kyi1g8shh722kwqm-gcc-7.5.0-lib/lib:/gnu/store/l1wwr5c34593gqxvp34qbwdkaf7xhdbd-libtiff-4.2.0/lib:/gnu/store/5khkwz9g6vza1n4z8xlmdrwhazz7m8wp-libjpeg-turbo-2.0.5/lib:[…]</code></pre><p>This <code>RUNPATH</code> has 39 entries, which roughly corresponds to the number |
|
|
|
937 of direct dependencies of the executable—dependencies are listed as |
|
|
|
938 <code>NEEDED</code> entries in the ELF file:</p><pre><code>$ objdump -x $(type -P .emacs-27.2-real) | grep NEED | head |
|
|
|
939 NEEDED libtiff.so.5 |
|
|
|
940 NEEDED libjpeg.so.62 |
|
|
|
941 NEEDED libpng16.so.16 |
|
|
|
942 NEEDED libz.so.1 |
|
|
|
943 NEEDED libgif.so.7 |
|
|
|
944 NEEDED libXpm.so.4 |
|
|
|
945 NEEDED libgtk-3.so.0 |
|
|
|
946 NEEDED libgdk-3.so.0 |
|
|
|
947 NEEDED libpangocairo-1.0.so.0 |
|
|
|
948 NEEDED libpango-1.0.so.0 |
|
|
|
949 $ objdump -x $(type -P .emacs-27.2-real) | grep NEED | wc -l |
|
|
|
950 52</code></pre><p>(Some of these <code>.so</code> files live in the same directory, which is why |
|
|
|
951 there are more <code>NEEDED</code> entries than directories in the <code>RUNPATH</code>.)</p><p>A system such as Debian that follows the <a href="https://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard">file system hierarchy |
|
|
|
952 standard</a> |
|
|
|
953 (FHS), where all libraries are in <code>/lib</code> or <code>/usr/lib</code>, does not have to |
|
|
|
954 bother with <code>RUNPATH</code>: all <code>.so</code> files are known to be found in one of |
|
|
|
955 these two “standard” locations. Anyway, let’s get back to our initial |
|
|
|
956 topic: the “<code>stat</code> storm”.</p><h1>Walking search paths</h1><p>As you can guess, when we run Emacs, the loader first needs to locate |
|
|
|
957 and load the 80+ shared libraries it depends on. That’s where things |
|
|
|
958 get pretty inefficient: the loader will search each <code>.so</code> file Emacs |
|
|
|
959 depends on in one of the 39 directories listed in its <code>RUNPATH</code>. |
|
|
|
960 Likewise, when it finally finds <code>libgtk-3.so</code>, it’ll look for its |
|
|
|
961 dependencies in each of the directories in its <code>RUNPATH</code>. We can see |
|
|
|
962 that at play by tracing system calls with the |
|
|
|
963 <a href="https://strace.io/"><code>strace</code></a> command:</p><pre><code>$ strace -c emacs --version |
|
|
|
964 GNU Emacs 27.2 |
|
|
|
965 Copyright (C) 2021 Free Software Foundation, Inc. |
|
|
|
966 GNU Emacs comes with ABSOLUTELY NO WARRANTY. |
|
|
|
967 You may redistribute copies of GNU Emacs |
|
|
|
968 under the terms of the GNU General Public License. |
|
|
|
969 For more information about these matters, see the file named COPYING. |
|
|
|
970 % time seconds usecs/call calls errors syscall |
|
|
|
971 ------ ----------- ----------- --------- --------- ---------------- |
|
|
|
972 55.46 0.006629 3 1851 1742 openat |
|
|
|
973 16.06 0.001919 4 422 mmap |
|
|
|
974 11.46 0.001370 2 501 477 stat |
|
|
|
975 4.79 0.000573 4 122 mprotect |
|
|
|
976 3.84 0.000459 4 111 read |
|
|
|
977 2.45 0.000293 2 109 fstat |
|
|
|
978 2.34 0.000280 2 111 close |
|
|
|
979 […] |
|
|
|
980 ------ ----------- ----------- --------- --------- ---------------- |
|
|
|
981 100.00 0.011952 3 3325 2227 total</code></pre><p>For this simple <code>emacs --version</code> command, the loader and <code>emacs</code> probed |
|
|
|
982 for more than 2,200 files, with the |
|
|
|
983 <a href="https://linux.die.net/man/2/openat"><code>openat</code></a> and |
|
|
|
984 <a href="https://linux.die.net/man/2/stat"><code>stat</code></a> system calls, and most of |
|
|
|
985 these probes were unsuccessful (counted as “errors” here, meaning that |
|
|
|
986 the call returned an error). The fraction of “erroneous” system calls |
|
|
|
987 is no less than 67% (2,227 over 3,325). We can see the desperate search |
|
|
|
988 of <code>.so</code> files by looking at individual calls:</p><pre><code>$ strace -e openat,stat emacs --version |
|
|
|
989 […] |
|
|
|
990 openat(AT_FDCWD, "/gnu/store/fa6wj5bxkj5ll1d7292a70knmyl7a0cr-glibc-2.31/lib/libpng16.so.16", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) |
|
|
|
991 openat(AT_FDCWD, "/gnu/store/01b4w3m6mp55y531kyi1g8shh722kwqm-gcc-7.5.0-lib/lib/libpng16.so.16", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) |
|
|
|
992 openat(AT_FDCWD, "/gnu/store/l1wwr5c34593gqxvp34qbwdkaf7xhdbd-libtiff-4.2.0/lib/libpng16.so.16", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) |
|
|
|
993 openat(AT_FDCWD, "/gnu/store/5khkwz9g6vza1n4z8xlmdrwhazz7m8wp-libjpeg-turbo-2.0.5/lib/libpng16.so.16", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) |
|
|
|
994 openat(AT_FDCWD, "/gnu/store/3x2kak8abb6z2klch72kfff2qxzv00pj-libpng-1.6.37/lib/tls/haswell/x86_64/libpng16.so.16", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) |
|
|
|
995 stat("/gnu/store/3x2kak8abb6z2klch72kfff2qxzv00pj-libpng-1.6.37/lib/tls/haswell/x86_64", 0x7ffe428a1c70) = -1 ENOENT (No such file or directory) |
|
|
|
996 openat(AT_FDCWD, "/gnu/store/3x2kak8abb6z2klch72kfff2qxzv00pj-libpng-1.6.37/lib/tls/haswell/libpng16.so.16", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) |
|
|
|
997 stat("/gnu/store/3x2kak8abb6z2klch72kfff2qxzv00pj-libpng-1.6.37/lib/tls/haswell", 0x7ffe428a1c70) = -1 ENOENT (No such file or directory) |
|
|
|
998 openat(AT_FDCWD, "/gnu/store/3x2kak8abb6z2klch72kfff2qxzv00pj-libpng-1.6.37/lib/tls/x86_64/libpng16.so.16", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) |
|
|
|
999 stat("/gnu/store/3x2kak8abb6z2klch72kfff2qxzv00pj-libpng-1.6.37/lib/tls/x86_64", 0x7ffe428a1c70) = -1 ENOENT (No such file or directory) |
|
|
|
1000 openat(AT_FDCWD, "/gnu/store/3x2kak8abb6z2klch72kfff2qxzv00pj-libpng-1.6.37/lib/tls/libpng16.so.16", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) |
|
|
|
1001 stat("/gnu/store/3x2kak8abb6z2klch72kfff2qxzv00pj-libpng-1.6.37/lib/tls", 0x7ffe428a1c70) = -1 ENOENT (No such file or directory) |
|
|
|
1002 openat(AT_FDCWD, "/gnu/store/3x2kak8abb6z2klch72kfff2qxzv00pj-libpng-1.6.37/lib/haswell/x86_64/libpng16.so.16", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) |
|
|
|
1003 stat("/gnu/store/3x2kak8abb6z2klch72kfff2qxzv00pj-libpng-1.6.37/lib/haswell/x86_64", 0x7ffe428a1c70) = -1 ENOENT (No such file or directory) |
|
|
|
1004 openat(AT_FDCWD, "/gnu/store/3x2kak8abb6z2klch72kfff2qxzv00pj-libpng-1.6.37/lib/haswell/libpng16.so.16", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) |
|
|
|
1005 stat("/gnu/store/3x2kak8abb6z2klch72kfff2qxzv00pj-libpng-1.6.37/lib/haswell", 0x7ffe428a1c70) = -1 ENOENT (No such file or directory) |
|
|
|
1006 openat(AT_FDCWD, "/gnu/store/3x2kak8abb6z2klch72kfff2qxzv00pj-libpng-1.6.37/lib/x86_64/libpng16.so.16", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) |
|
|
|
1007 stat("/gnu/store/3x2kak8abb6z2klch72kfff2qxzv00pj-libpng-1.6.37/lib/x86_64", 0x7ffe428a1c70) = -1 ENOENT (No such file or directory) |
|
|
|
1008 openat(AT_FDCWD, "/gnu/store/3x2kak8abb6z2klch72kfff2qxzv00pj-libpng-1.6.37/lib/libpng16.so.16", O_RDONLY|O_CLOEXEC) = 3 |
|
|
|
1009 […]</code></pre><p>Above is the sequence where we see <code>ld.so</code> look for <code>libpng16.so.16</code>, |
|
|
|
1010 searching in locations where we <em>know</em> it’s not going to find it. A bit |
|
|
|
1011 ridiculous. How does this affect performance? The impact is small in |
|
|
|
1012 the most favorable case—on a hot cache, with fast solid state device |
|
|
|
1013 (SSD) storage. But it likely has a visible effect in other cases—on a |
|
|
|
1014 cold cache, with a slower spinning hard disk drive (HDD), on a network |
|
|
|
1015 file system (NFS).</p><h1>Enter the per-package loader cache</h1><p>The idea that Ricardo submitted, using a loader cache, makes a lot of |
|
|
|
1016 sense: we know from the start that <code>libpng.so</code> may only be found in |
|
|
|
1017 <code>/gnu/store/…-libpng-1.6.37</code>, no need to look elsewhere. In fact, it’s |
|
|
|
1018 not new: glibc has had such a cache “forever”; it’s the |
|
|
|
1019 <code>/etc/ld.so.cache</code> file you can see on FHS distros and which is |
|
|
|
1020 typically created by running |
|
|
|
1021 <a href="https://linux.die.net/man/8/ldconfig"><code>ldconfig</code></a> when a package has |
|
|
|
1022 been installed. Roughly, the cache maps library <code>SONAME</code>s, such as |
|
|
|
1023 <code>libpng16.so.16</code>, to their file name on disk, say |
|
|
|
1024 <code>/usr/lib/libpng16.so.16</code>.</p><p>The problem is that this cache is inherently system-wide: it assumes |
|
|
|
1025 that there is only <em>one</em> <code>libpng16.so</code> on the system; any binary that |
|
|
|
1026 depends on <code>libpng16.so</code> will load it from its one and only location. |
|
|
|
1027 This models perfectly matches the FHS, but it’s at odds with the |
|
|
|
1028 flexibility offered by Guix, where several variants or versions of the |
|
|
|
1029 library can coexist on the system, used by different applications. |
|
|
|
1030 That’s the reason why Guix and other non-FHS distros such as NixOS or |
|
|
|
1031 GoboLinux typically <a href="https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/base.scm?id=a92dfbce30777de6ca05031e275410cf9f56c84c#n716">turn |
|
|
|
1032 off</a> |
|
|
|
1033 that feature altogether… and pay the cost of those <code>stat</code> storms.</p><p>The insight we gained on that Tuesday evening IRC conversation is that |
|
|
|
1034 we could <em>adapt</em> glibc’s loader cache to our setting: instead of a |
|
|
|
1035 system-wide cache, we’d have a <em>per-application loader cache</em>. As one |
|
|
|
1036 of the last package <a href="https://guix.gnu.org/manual/en/html_node/Build-Phases.html">build |
|
|
|
1037 phases</a>, |
|
|
|
1038 we’d run <code>ldconfig</code> to create <code>etc/ld.so.cache</code> within that package’s |
|
|
|
1039 <code>/gnu/store</code> sub-directory. We then need to modify the loader so it |
|
|
|
1040 would look for <code>${ORIGIN}/../etc/ld.so.cache</code> instead of |
|
|
|
1041 <code>/etc/ld.so.cache</code>, where <code>${ORIGIN}</code> is the location of the ELF file |
|
|
|
1042 being loaded. A discussion of these changes is <a href="https://issues.guix.gnu.org/44899">in the issue |
|
|
|
1043 tracker</a>; you can see <a href="https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/patches/glibc-dl-cache.patch?h=core-updates&amp;id=0236013cd0fc86ff4a042885c735e3f36a7f5c25">the glibc |
|
|
|
1044 patch</a> |
|
|
|
1045 and the new <a href="https://git.savannah.gnu.org/cgit/guix.git/tree/guix/build/gnu-build-system.scm?h=core-updates&amp;id=0236013cd0fc86ff4a042885c735e3f36a7f5c25#n735"><code>make-dynamic-linker-cache</code> build |
|
|
|
1046 phase</a>. |
|
|
|
1047 In short, the <code>make-dynamic-linker-cache</code> phase computes the set of |
|
|
|
1048 direct and indirect dependencies of an ELF file using the |
|
|
|
1049 <a href="https://git.savannah.gnu.org/cgit/guix.git/tree/guix/build/gremlin.scm?id=0236013cd0fc86ff4a042885c735e3f36a7f5c25#n265"><code>file-needed/recursive</code></a> |
|
|
|
1050 procedure and derives from that the library search path, creates a |
|
|
|
1051 temporary <code>ld.so.conf</code> file containing this search path for use by |
|
|
|
1052 <code>ldconfig</code>, and finally runs <code>ldconfig</code> to actually build the cache.</p><p>How does this play out in practice? Let’s try an <code>emacs</code> build that |
|
|
|
1053 uses this new loader cache:</p><pre><code>$ strace -c /gnu/store/ijgcbf790z4x2mkjx2ha893hhmqrj29j-emacs-27.2/bin/emacs --version |
|
|
|
1054 GNU Emacs 27.2 |
|
|
|
1055 Copyright (C) 2021 Free Software Foundation, Inc. |
|
|
|
1056 GNU Emacs comes with ABSOLUTELY NO WARRANTY. |
|
|
|
1057 You may redistribute copies of GNU Emacs |
|
|
|
1058 under the terms of the GNU General Public License. |
|
|
|
1059 For more information about these matters, see the file named COPYING. |
|
|
|
1060 % time seconds usecs/call calls errors syscall |
|
|
|
1061 ------ ----------- ----------- --------- --------- ---------------- |
|
|
|
1062 28.68 0.002909 26 110 13 openat |
|
|
|
1063 25.13 0.002549 26 96 read |
|
|
|
1064 20.41 0.002070 4 418 mmap |
|
|
|
1065 9.34 0.000947 10 90 pread64 |
|
|
|
1066 6.60 0.000669 5 123 mprotect |
|
|
|
1067 4.12 0.000418 3 107 1 newfstatat |
|
|
|
1068 2.19 0.000222 2 99 close |
|
|
|
1069 […] |
|
|
|
1070 ------ ----------- ----------- --------- --------- ---------------- |
|
|
|
1071 100.00 0.010144 8 1128 24 total</code></pre><p>Compared to what we have above, the total number of system calls has |
|
|
|
1072 been divided by 3, and the fraction of erroneous system calls goes from |
|
|
|
1073 67% to 0.2%. Quite a difference! We count on you, dear users, to <a href="https://guix.gnu.org/en/contact">let |
|
|
|
1074 us know</a> how this impacts load time for |
|
|
|
1075 you.</p><h1>Flexibility without <code>stat</code> storms</h1><p>With <a href="https://www.gnu.org/software/stow">GNU Stow</a> in the 1990s, and |
|
|
|
1076 then Nix, Guix, and other distros, the benefits of flexible file layouts |
|
|
|
1077 rather than the rigid Unix-inherited FHS have been demonstrated—nowadays |
|
|
|
1078 I see it as an antidote to opaque and bloated application bundles à la |
|
|
|
1079 Docker. Luckily, few of our system tools have FHS assumptions baked in, |
|
|
|
1080 probably in large part thanks to GNU’s insistence on a <a href="https://www.gnu.org/prep/standards/html_node/Directory-Variables.html">rigorous |
|
|
|
1081 installation directory |
|
|
|
1082 categorization</a> |
|
|
|
1083 in the early days rather than hard-coded directory names. The loader |
|
|
|
1084 cache is one of the few exceptions. Adapting it to a non-FHS context is |
|
|
|
1085 fruitful for Guix and for the other distros and packaging tools in a |
|
|
|
1086 similar situation; perhaps it could become an option in glibc proper?</p><p>This is not the end of <code>stat</code> storms, though. Interpreters and language |
|
|
|
1087 run-time systems rely on search paths—<code>GUILE_LOAD_PATH</code> for Guile, |
|
|
|
1088 <code>PYTHONPATH</code> for Python, <code>OCAMLPATH</code> for OCaml, etc.—and are equally |
|
|
|
1089 prone to stormy application startups. Unlike ELF, they do not have a |
|
|
|
1090 mechanism akin to <code>RUNPATH</code>, let alone a run-time search path cache. We |
|
|
|
1091 have yet to find ways to address these.</p><h4>About GNU Guix</h4><p><a href="https://guix.gnu.org">GNU Guix</a> is a transactional package manager and |
|
|
|
1092 an advanced distribution of the GNU system that <a href="https://www.gnu.org/distros/free-system-distribution-guidelines.html">respects user |
|
|
|
1093 freedom</a>. |
|
|
|
1094 Guix can be used on top of any system running the Hurd or the Linux |
|
|
|
1095 kernel, or it can be used as a standalone operating system distribution |
|
|
|
1096 for i686, x86_64, ARMv7, AArch64 and POWER9 machines.</p><p>In addition to standard package management features, Guix supports |
|
|
|
1097 transactional upgrades and roll-backs, unprivileged package management, |
|
|
|
1098 per-user profiles, and garbage collection. When used as a standalone |
|
|
|
1099 GNU/Linux distribution, Guix offers a declarative, stateless approach to |
|
|
|
1100 operating system configuration management. Guix is highly customizable |
|
|
|
1101 and hackable through <a href="https://www.gnu.org/software/guile">Guile</a> |
|
|
|
1102 programming interfaces and extensions to the |
|
|
|
1103 <a href="http://schemers.org">Scheme</a> language.</p></content:encoded> |
|
|
|
1104 <dc:date>2021-08-02T15:00:00+00:00</dc:date> |
|
|
|
1105 <dc:creator>Ludovic Courtès</dc:creator> |
|
|
|
1106 </item> |
|
|
|
1107 <item rdf:about="http://savannah.gnu.org/forum/forum.php?forum_id=10032"> |
|
|
|
1108 <title>libc @ Savannah: The GNU C Library version 2.34 is now available</title> |
|
|
|
1109 <link>http://savannah.gnu.org/forum/forum.php?forum_id=10032</link> |
|
|
|
1110 <content:encoded><p>The GNU C Library |
|
|
|
1111 <br /> |
|
|
|
1112 ================= |
|
|
|
1113 <br /> |
|
|
|
1114 </p> |
|
|
|
1115 <p>The GNU C Library version 2.34 is now available. |
|
|
|
1116 <br /> |
|
|
|
1117 </p> |
|
|
|
1118 <p>The GNU C Library is used as <strong>the</strong> C library in the GNU system and |
|
|
|
1119 <br /> |
|
|
|
1120 in GNU/Linux systems, as well as many other systems that use Linux |
|
|
|
1121 <br /> |
|
|
|
1122 as the kernel. |
|
|
|
1123 <br /> |
|
|
|
1124 </p> |
|
|
|
1125 <p>The GNU C Library is primarily designed to be a portable |
|
|
|
1126 <br /> |
|
|
|
1127 and high performance C library. It follows all relevant |
|
|
|
1128 <br /> |
|
|
|
1129 standards including ISO C11 and POSIX.1-2017. It is also |
|
|
|
1130 <br /> |
|
|
|
1131 internationalized and has one of the most complete |
|
|
|
1132 <br /> |
|
|
|
1133 internationalization interfaces known. |
|
|
|
1134 <br /> |
|
|
|
1135 </p> |
|
|
|
1136 <p>The GNU C Library webpage is at <a href="http://www.gnu.org/software/libc/">http://www.gnu.org/software/libc/</a> |
|
|
|
1137 <br /> |
|
|
|
1138 </p> |
|
|
|
1139 <p>Packages for the 2.34 release may be downloaded from: |
|
|
|
1140 <br /> |
|
|
|
1141 <a href="http://ftpmirror.gnu.org/libc/">http://ftpmirror.gnu.org/libc/</a> |
|
|
|
1142 <br /> |
|
|
|
1143 <a href="http://ftp.gnu.org/gnu/libc/">http://ftp.gnu.org/gnu/libc/</a> |
|
|
|
1144 <br /> |
|
|
|
1145 </p> |
|
|
|
1146 <p>The mirror list is at <a href="http://www.gnu.org/order/ftp.html">http://www.gnu.org/order/ftp.html</a> |
|
|
|
1147 <br /> |
|
|
|
1148 </p> |
|
|
|
1149 <p>NEWS for version 2.34 |
|
|
|
1150 <br /> |
|
|
|
1151 ===================== |
|
|
|
1152 <br /> |
|
|
|
1153 </p> |
|
|
|
1154 <p>Major new features: |
|
|
|
1155 <br /> |
|
|
|
1156 </p> |
|
|
|
1157 <ul> |
|
|
|
1158 <li>In order to support smoother in-place-upgrades and to simplify |
|
|
|
1159 </li> |
|
|
|
1160 </ul><p> the implementation of the runtime all functionality formerly |
|
|
|
1161 <br /> |
|
|
|
1162 implemented in the libraries libpthread, libdl, libutil, libanl has |
|
|
|
1163 <br /> |
|
|
|
1164 been integrated into libc. New applications do not need to link with |
|
|
|
1165 <br /> |
|
|
|
1166 -lpthread, -ldl, -lutil, -lanl anymore. For backwards compatibility, |
|
|
|
1167 <br /> |
|
|
|
1168 empty static archives libpthread.a, libdl.a, libutil.a, libanl.a are |
|
|
|
1169 <br /> |
|
|
|
1170 provided, so that the linker options keep working. Applications which |
|
|
|
1171 <br /> |
|
|
|
1172 have been linked against glibc 2.33 or earlier continue to load the |
|
|
|
1173 <br /> |
|
|
|
1174 corresponding shared objects (which are now empty). The integration |
|
|
|
1175 <br /> |
|
|
|
1176 of those libraries into libc means that additional symbols become |
|
|
|
1177 <br /> |
|
|
|
1178 available by default. This can cause applications that contain weak |
|
|
|
1179 <br /> |
|
|
|
1180 references to take unexpected code paths that would only have been |
|
|
|
1181 <br /> |
|
|
|
1182 used in previous glibc versions when e.g. preloading libpthread.so.0, |
|
|
|
1183 <br /> |
|
|
|
1184 potentially exposing application bugs. |
|
|
|
1185 <br /> |
|
|
|
1186 </p> |
|
|
|
1187 <ul> |
|
|
|
1188 <li>When _DYNAMIC_STACK_SIZE_SOURCE or _GNU_SOURCE are defined, |
|
|
|
1189 </li> |
|
|
|
1190 </ul><p> PTHREAD_STACK_MIN is no longer constant and is redefined to |
|
|
|
1191 <br /> |
|
|
|
1192 sysconf(_SC_THREAD_STACK_MIN). This supports dynamic sized register |
|
|
|
1193 <br /> |
|
|
|
1194 sets for modern architectural features like Arm SVE. |
|
|
|
1195 <br /> |
|
|
|
1196 </p> |
|
|
|
1197 <ul> |
|
|
|
1198 <li>Add _SC_MINSIGSTKSZ and _SC_SIGSTKSZ. When _DYNAMIC_STACK_SIZE_SOURCE |
|
|
|
1199 </li> |
|
|
|
1200 </ul><p> or _GNU_SOURCE are defined, MINSIGSTKSZ and SIGSTKSZ are no longer |
|
|
|
1201 <br /> |
|
|
|
1202 constant on Linux. MINSIGSTKSZ is redefined to sysconf(_SC_MINSIGSTKSZ) |
|
|
|
1203 <br /> |
|
|
|
1204 and SIGSTKSZ is redefined to sysconf (_SC_SIGSTKSZ). This supports |
|
|
|
1205 <br /> |
|
|
|
1206 dynamic sized register sets for modern architectural features like |
|
|
|
1207 <br /> |
|
|
|
1208 Arm SVE. |
|
|
|
1209 <br /> |
|
|
|
1210 </p> |
|
|
|
1211 <ul> |
|
|
|
1212 <li>The dynamic linker implements the --list-diagnostics option, printing |
|
|
|
1213 </li> |
|
|
|
1214 </ul><p> a dump of information related to IFUNC resolver operation and |
|
|
|
1215 <br /> |
|
|
|
1216 glibc-hwcaps subdirectory selection. |
|
|
|
1217 <br /> |
|
|
|
1218 </p> |
|
|
|
1219 <ul> |
|
|
|
1220 <li>On Linux, the function execveat has been added. It operates similar to |
|
|
|
1221 </li> |
|
|
|
1222 </ul><p> execve and it is is already used to implement fexecve without requiring |
|
|
|
1223 <br /> |
|
|
|
1224 /proc to be mounted. However, different than fexecve, if the syscall is not |
|
|
|
1225 <br /> |
|
|
|
1226 supported by the kernel an error is returned instead of trying a fallback. |
|
|
|
1227 <br /> |
|
|
|
1228 </p> |
|
|
|
1229 <ul> |
|
|
|
1230 <li>The ISO C2X function timespec_getres has been added. |
|
|
|
1231 </li> |
|
|
|
1232 </ul> |
|
|
|
1233 <ul> |
|
|
|
1234 <li>The feature test macro <em>_STDC_WANT_IEC_60559_EXT_</em>, from draft ISO |
|
|
|
1235 </li> |
|
|
|
1236 </ul><p> C2X, is supported to enable declarations of functions defined in Annex F |
|
|
|
1237 <br /> |
|
|
|
1238 of C2X. Those declarations are also enabled when |
|
|
|
1239 <br /> |
|
|
|
1240 <em>_STDC_WANT_IEC_60559_BFP_EXT_</em>, as specified in TS 18661-1, is |
|
|
|
1241 <br /> |
|
|
|
1242 defined, and when _GNU_SOURCE is defined. |
|
|
|
1243 <br /> |
|
|
|
1244 </p> |
|
|
|
1245 <ul> |
|
|
|
1246 <li>On powerpc64*, glibc can now be compiled without scv support using the |
|
|
|
1247 </li> |
|
|
|
1248 </ul><p> --disable-scv configure option. |
|
|
|
1249 <br /> |
|
|
|
1250 </p> |
|
|
|
1251 <ul> |
|
|
|
1252 <li>Add support for 64-bit time_t on configurations like x86 where time_t |
|
|
|
1253 </li> |
|
|
|
1254 </ul><p> is traditionally 32-bit. Although time_t still defaults to 32-bit on |
|
|
|
1255 <br /> |
|
|
|
1256 these configurations, this default may change in future versions. |
|
|
|
1257 <br /> |
|
|
|
1258 This is enabled with the _TIME_BITS preprocessor macro set to 64 and is |
|
|
|
1259 <br /> |
|
|
|
1260 only supported when LFS (_FILE_OFFSET_BITS=64) is also enabled. It is |
|
|
|
1261 <br /> |
|
|
|
1262 only enabled for Linux and the full support requires a minimum kernel |
|
|
|
1263 <br /> |
|
|
|
1264 version of 5.1. |
|
|
|
1265 <br /> |
|
|
|
1266 </p> |
|
|
|
1267 <ul> |
|
|
|
1268 <li>The main gconv-modules file in glibc now contains only a small set of |
|
|
|
1269 </li> |
|
|
|
1270 </ul><p> essential converter modules and the rest have been moved into a supplementary |
|
|
|
1271 <br /> |
|
|
|
1272 configuration file gconv-modules-extra.conf in the gconv-modules.d directory |
|
|
|
1273 <br /> |
|
|
|
1274 in the same GCONV_PATH. Similarly, external converter modules directories |
|
|
|
1275 <br /> |
|
|
|
1276 may have supplementary configuration files in a gconv-modules.d directory |
|
|
|
1277 <br /> |
|
|
|
1278 with names ending with .conf to logically classify the converter modules in |
|
|
|
1279 <br /> |
|
|
|
1280 that directory. |
|
|
|
1281 <br /> |
|
|
|
1282 </p> |
|
|
|
1283 <ul> |
|
|
|
1284 <li>On Linux, a new tunable, glibc.pthread.stack_cache_size, can be used |
|
|
|
1285 </li> |
|
|
|
1286 </ul><p> to configure the size of the thread stack cache. |
|
|
|
1287 <br /> |
|
|
|
1288 </p> |
|
|
|
1289 <ul> |
|
|
|
1290 <li>The function _Fork has been added as an async-signal-safe fork replacement |
|
|
|
1291 </li> |
|
|
|
1292 </ul><p> since Austin Group issue 62 droped the async-signal-safe requirement for |
|
|
|
1293 <br /> |
|
|
|
1294 fork (and it will be included in the future POSIX standard). The new _Fork |
|
|
|
1295 <br /> |
|
|
|
1296 function does not run any atfork function neither resets any internal state |
|
|
|
1297 <br /> |
|
|
|
1298 or lock (such as the malloc one), and only sets up a minimal state required |
|
|
|
1299 <br /> |
|
|
|
1300 to call async-signal-safe functions (such as raise or execve). This function |
|
|
|
1301 <br /> |
|
|
|
1302 is currently a GNU extension. |
|
|
|
1303 <br /> |
|
|
|
1304 </p> |
|
|
|
1305 <ul> |
|
|
|
1306 <li>On Linux, the close_range function has been added. It allows efficiently |
|
|
|
1307 </li> |
|
|
|
1308 </ul><p> closing a range of file descriptors on recent kernels (version 5.9). |
|
|
|
1309 <br /> |
|
|
|
1310 </p> |
|
|
|
1311 <ul> |
|
|
|
1312 <li>The function closefrom has been added. It closes all file descriptors |
|
|
|
1313 </li> |
|
|
|
1314 </ul><p> greater than or equal to a given integer. This function is a GNU extension, |
|
|
|
1315 <br /> |
|
|
|
1316 although it is also present in other systems. |
|
|
|
1317 <br /> |
|
|
|
1318 </p> |
|
|
|
1319 <ul> |
|
|
|
1320 <li>The posix_spawn_file_actions_addclosefrom_np function has been added, |
|
|
|
1321 </li> |
|
|
|
1322 </ul><p> enabling posix_spawn and posix_spawnp to close all file descriptors greater |
|
|
|
1323 <br /> |
|
|
|
1324 than or equal to a given integer. This function is a GNU extension, |
|
|
|
1325 <br /> |
|
|
|
1326 although Solaris also provides a similar function. |
|
|
|
1327 <br /> |
|
|
|
1328 </p> |
|
|
|
1329 <p>Deprecated and removed features, and other changes affecting compatibility: |
|
|
|
1330 <br /> |
|
|
|
1331 </p> |
|
|
|
1332 <ul> |
|
|
|
1333 <li>The function pthread_mutex_consistent_np has been deprecated; programs |
|
|
|
1334 </li> |
|
|
|
1335 </ul><p> should use the equivalent standard function pthread_mutex_consistent |
|
|
|
1336 <br /> |
|
|
|
1337 instead. |
|
|
|
1338 <br /> |
|
|
|
1339 </p> |
|
|
|
1340 <ul> |
|
|
|
1341 <li>The function pthread_mutexattr_getrobust_np has been deprecated; |
|
|
|
1342 </li> |
|
|
|
1343 </ul><p> programs should use the equivalent standard function |
|
|
|
1344 <br /> |
|
|
|
1345 pthread_mutexattr_getrobust instead. |
|
|
|
1346 <br /> |
|
|
|
1347 </p> |
|
|
|
1348 <ul> |
|
|
|
1349 <li>The function pthread_mutexattr_setrobust_np has been deprecated; |
|
|
|
1350 </li> |
|
|
|
1351 </ul><p> programs should use the equivalent standard function |
|
|
|
1352 <br /> |
|
|
|
1353 pthread_mutexattr_setrobust instead. |
|
|
|
1354 <br /> |
|
|
|
1355 </p> |
|
|
|
1356 <ul> |
|
|
|
1357 <li>The function pthread_yield has been deprecated; programs should use |
|
|
|
1358 </li> |
|
|
|
1359 </ul><p> the equivalent standard function sched_yield instead. |
|
|
|
1360 <br /> |
|
|
|
1361 </p> |
|
|
|
1362 <ul> |
|
|
|
1363 <li>The function inet_neta declared in &lt;arpa/inet.h&gt; has been deprecated. |
|
|
|
1364 </li> |
|
|
|
1365 </ul> |
|
|
|
1366 <ul> |
|
|
|
1367 <li>Various rarely-used functions declared in &lt;resolv.h&gt; and |
|
|
|
1368 </li> |
|
|
|
1369 </ul><p> &lt;arpa/nameser.h&gt; have been deprecated. Applications are encouraged to |
|
|
|
1370 <br /> |
|
|
|
1371 use dedicated DNS processing libraries if applicable. For &lt;resolv.h&gt;, |
|
|
|
1372 <br /> |
|
|
|
1373 this affects the functions dn_count_labels, fp_nquery, fp_query, |
|
|
|
1374 <br /> |
|
|
|
1375 fp_resstat, hostalias, loc_aton, loc_ntoa, p_cdname, p_cdnname, |
|
|
|
1376 <br /> |
|
|
|
1377 p_class, p_fqname, p_fqnname, p_option, p_query, p_rcode, p_time, |
|
|
|
1378 <br /> |
|
|
|
1379 p_type, putlong, putshort, res_hostalias, res_isourserver, |
|
|
|
1380 <br /> |
|
|
|
1381 res_nameinquery, res_queriesmatch, res_randomid, sym_ntop, sym_ntos, |
|
|
|
1382 <br /> |
|
|
|
1383 sym_ston. For &lt;arpa/nameser.h&gt;, the functions ns_datetosecs, |
|
|
|
1384 <br /> |
|
|
|
1385 ns_format_ttl, ns_makecanon, ns_parse_ttl, ns_samedomain, ns_samename, |
|
|
|
1386 <br /> |
|
|
|
1387 ns_sprintrr, ns_sprintrrf, ns_subdomain have been deprecated. |
|
|
|
1388 <br /> |
|
|
|
1389 </p> |
|
|
|
1390 <ul> |
|
|
|
1391 <li>Various symbols previously defined in libresolv have been moved to libc |
|
|
|
1392 </li> |
|
|
|
1393 </ul><p> in order to prepare for libresolv moving entirely into libc (see earlier |
|
|
|
1394 <br /> |
|
|
|
1395 entry for merging libraries into libc). The symbols __dn_comp, |
|
|
|
1396 <br /> |
|
|
|
1397 __dn_expand, __dn_skipname, __res_dnok, __res_hnok, __res_mailok, |
|
|
|
1398 <br /> |
|
|
|
1399 __res_mkquery, __res_nmkquery, __res_nquery, __res_nquerydomain, |
|
|
|
1400 <br /> |
|
|
|
1401 __res_nsearch, __res_nsend, __res_ownok, __res_query, __res_querydomain, |
|
|
|
1402 <br /> |
|
|
|
1403 __res_search, __res_send formerly in libresolv have been renamed and no |
|
|
|
1404 <br /> |
|
|
|
1405 longer have a __ prefix. They are now available in libc. |
|
|
|
1406 <br /> |
|
|
|
1407 </p> |
|
|
|
1408 <ul> |
|
|
|
1409 <li>The pthread cancellation handler is now installed with SA_RESTART and |
|
|
|
1410 </li> |
|
|
|
1411 </ul><p> pthread_cancel will always send the internal SIGCANCEL on a cancellation |
|
|
|
1412 <br /> |
|
|
|
1413 request. It should not be visible to applications since the cancellation |
|
|
|
1414 <br /> |
|
|
|
1415 handler should either act upon cancellation (if asynchronous cancellation |
|
|
|
1416 <br /> |
|
|
|
1417 is enabled) or ignore the cancellation internal signal. However there are |
|
|
|
1418 <br /> |
|
|
|
1419 buggy kernel interfaces (for instance some CIFS versions) that could still |
|
|
|
1420 <br /> |
|
|
|
1421 see a spurious EINTR error when cancellation interrupts a blocking syscall. |
|
|
|
1422 <br /> |
|
|
|
1423 </p> |
|
|
|
1424 <ul> |
|
|
|
1425 <li>Previously, glibc installed its various shared objects under versioned |
|
|
|
1426 </li> |
|
|
|
1427 </ul><p> file names such as libc-2.33.so. The ABI sonames (e.g., libc.so.6) |
|
|
|
1428 <br /> |
|
|
|
1429 were provided as symbolic links. Starting with glibc 2.34, the shared |
|
|
|
1430 <br /> |
|
|
|
1431 objects are installed under their ABI sonames directly, without |
|
|
|
1432 <br /> |
|
|
|
1433 symbolic links. This increases compatibility with distribution |
|
|
|
1434 <br /> |
|
|
|
1435 package managers that delete removed files late during the package |
|
|
|
1436 <br /> |
|
|
|
1437 upgrade or downgrade process. |
|
|
|
1438 <br /> |
|
|
|
1439 </p> |
|
|
|
1440 <ul> |
|
|
|
1441 <li>The symbols mallwatch and tr_break are now deprecated and no longer used in |
|
|
|
1442 </li> |
|
|
|
1443 </ul><p> mtrace. Similar functionality can be achieved by using conditional |
|
|
|
1444 <br /> |
|
|
|
1445 breakpoints within mtrace functions from within gdb. |
|
|
|
1446 <br /> |
|
|
|
1447 </p> |
|
|
|
1448 <ul> |
|
|
|
1449 <li>The __morecore and __after_morecore_hook malloc hooks and the default |
|
|
|
1450 </li> |
|
|
|
1451 </ul><p> implementation __default_morecore have been removed from the API. Existing |
|
|
|
1452 <br /> |
|
|
|
1453 applications will continue to link against these symbols but the interfaces |
|
|
|
1454 <br /> |
|
|
|
1455 no longer have any effect on malloc. |
|
|
|
1456 <br /> |
|
|
|
1457 </p> |
|
|
|
1458 <ul> |
|
|
|
1459 <li>Debugging features in malloc such as the MALLOC_CHECK_ environment variable |
|
|
|
1460 </li> |
|
|
|
1461 </ul><p> (or the glibc.malloc.check tunable), mtrace() and mcheck() have now been |
|
|
|
1462 <br /> |
|
|
|
1463 disabled by default in the main C library. Users looking to use these |
|
|
|
1464 <br /> |
|
|
|
1465 features now need to preload a new debugging DSO libc_malloc_debug.so to get |
|
|
|
1466 <br /> |
|
|
|
1467 this functionality back. |
|
|
|
1468 <br /> |
|
|
|
1469 </p> |
|
|
|
1470 <ul> |
|
|
|
1471 <li>The deprecated functions malloc_get_state and malloc_set_state have been |
|
|
|
1472 </li> |
|
|
|
1473 </ul><p> moved from the core C library into libc_malloc_debug.so. Legacy applications |
|
|
|
1474 <br /> |
|
|
|
1475 that still use these functions will now need to preload libc_malloc_debug.so |
|
|
|
1476 <br /> |
|
|
|
1477 in their environment using the LD_PRELOAD environment variable. |
|
|
|
1478 <br /> |
|
|
|
1479 </p> |
|
|
|
1480 <ul> |
|
|
|
1481 <li>The deprecated memory allocation hooks __malloc_hook, __realloc_hook, |
|
|
|
1482 </li> |
|
|
|
1483 </ul><p> __memalign_hook and __free_hook are now removed from the API. Compatibility |
|
|
|
1484 <br /> |
|
|
|
1485 symbols are present to support legacy programs but new applications can no |
|
|
|
1486 <br /> |
|
|
|
1487 longer link to these symbols. These hooks no longer have any effect on glibc |
|
|
|
1488 <br /> |
|
|
|
1489 functionality. The malloc debugging DSO libc_malloc_debug.so currently |
|
|
|
1490 <br /> |
|
|
|
1491 supports hooks and can be preloaded to get this functionality back for older |
|
|
|
1492 <br /> |
|
|
|
1493 programs. However this is a transitional measure and may be removed in a |
|
|
|
1494 <br /> |
|
|
|
1495 future release of the GNU C Library. Users may port away from these hooks by |
|
|
|
1496 <br /> |
|
|
|
1497 writing and preloading their own malloc interposition library. |
|
|
|
1498 <br /> |
|
|
|
1499 </p> |
|
|
|
1500 <p>Changes to build and runtime requirements: |
|
|
|
1501 <br /> |
|
|
|
1502 </p> |
|
|
|
1503 <ul> |
|
|
|
1504 <li>On Linux, the shm_open, sem_open, and related functions now expect the |
|
|
|
1505 </li> |
|
|
|
1506 </ul><p> file shared memory file system to be mounted at /dev/shm. These functions |
|
|
|
1507 <br /> |
|
|
|
1508 no longer search among the system's mount points for a suitable |
|
|
|
1509 <br /> |
|
|
|
1510 replacement if /dev/shm is not available. |
|
|
|
1511 <br /> |
|
|
|
1512 </p> |
|
|
|
1513 <p>Security related changes: |
|
|
|
1514 <br /> |
|
|
|
1515 </p> |
|
|
|
1516 <p> CVE-2021-27645: The nameserver caching daemon (nscd), when processing |
|
|
|
1517 <br /> |
|
|
|
1518 a request for netgroup lookup, may crash due to a double-free, |
|
|
|
1519 <br /> |
|
|
|
1520 potentially resulting in degraded service or Denial of Service on the |
|
|
|
1521 <br /> |
|
|
|
1522 local system. Reported by Chris Schanzle. |
|
|
|
1523 <br /> |
|
|
|
1524 </p> |
|
|
|
1525 <p> CVE-2021-33574: The mq_notify function has a potential use-after-free |
|
|
|
1526 <br /> |
|
|
|
1527 issue when using a notification type of SIGEV_THREAD and a thread |
|
|
|
1528 <br /> |
|
|
|
1529 attribute with a non-default affinity mask. |
|
|
|
1530 <br /> |
|
|
|
1531 </p> |
|
|
|
1532 <p> CVE-2021-35942: The wordexp function may overflow the positional |
|
|
|
1533 <br /> |
|
|
|
1534 parameter number when processing the expansion resulting in a crash. |
|
|
|
1535 <br /> |
|
|
|
1536 Reported by Philippe Antoine. |
|
|
|
1537 <br /> |
|
|
|
1538 </p> |
|
|
|
1539 <p>The following bugs are resolved with this release: |
|
|
|
1540 <br /> |
|
|
|
1541 </p> |
|
|
|
1542 <p> [4737] libc: fork is not async-signal-safe |
|
|
|
1543 <br /> |
|
|
|
1544 [5781] math: Slow dbl-64 sin/cos/sincos for special values |
|
|
|
1545 <br /> |
|
|
|
1546 [10353] libc: Methods for deleting all file descriptors greater than |
|
|
|
1547 <br /> |
|
|
|
1548 given integer (closefrom) |
|
|
|
1549 <br /> |
|
|
|
1550 [14185] glob: fnmatch() fails when '*' wildcard is applied on the file |
|
|
|
1551 <br /> |
|
|
|
1552 name containing multi-byte character(s) |
|
|
|
1553 <br /> |
|
|
|
1554 [14469] math: Inaccurate j0f function |
|
|
|
1555 <br /> |
|
|
|
1556 [14470] math: Inaccurate j1f function |
|
|
|
1557 <br /> |
|
|
|
1558 [14471] math: Inaccurate y0f function |
|
|
|
1559 <br /> |
|
|
|
1560 [14472] math: Inaccurate y1f function |
|
|
|
1561 <br /> |
|
|
|
1562 [14744] nptl: kill -32 $pid or kill -33 $pid on a process cancels a |
|
|
|
1563 <br /> |
|
|
|
1564 random thread |
|
|
|
1565 <br /> |
|
|
|
1566 [15271] dynamic-link: dlmopen()ed shared library with LM_ID_NEWLM |
|
|
|
1567 <br /> |
|
|
|
1568 crashes if it fails dlsym() twice |
|
|
|
1569 <br /> |
|
|
|
1570 [15648] nptl: multiple definition of `__lll_lock_wait_private' |
|
|
|
1571 <br /> |
|
|
|
1572 [16063] nptl: Provide a pthread_once variant in libc directly |
|
|
|
1573 <br /> |
|
|
|
1574 [17144] libc: syslog is not thread-safe if NO_SIGPIPE is not defined |
|
|
|
1575 <br /> |
|
|
|
1576 [17145] libc: syslog with LOG_CONS leaks console file descriptor |
|
|
|
1577 <br /> |
|
|
|
1578 [17183] manual: description of ENTRY struct in &lt;search.h&gt; in glibc |
|
|
|
1579 <br /> |
|
|
|
1580 manual is incorrect |
|
|
|
1581 <br /> |
|
|
|
1582 [18435] nptl: pthread_once hangs when init routine throws an exception |
|
|
|
1583 <br /> |
|
|
|
1584 [18524] nptl: Missing calloc error checking in |
|
|
|
1585 <br /> |
|
|
|
1586 __cxa_thread_atexit_impl |
|
|
|
1587 <br /> |
|
|
|
1588 [19329] dynamic-link: dl-tls.c assert failure at concurrent |
|
|
|
1589 <br /> |
|
|
|
1590 pthread_create and dlopen |
|
|
|
1591 <br /> |
|
|
|
1592 [19366] nptl: returning from a thread should disable cancellation |
|
|
|
1593 <br /> |
|
|
|
1594 [19511] nptl: 8MB memory leak in pthread_create in case of failure |
|
|
|
1595 <br /> |
|
|
|
1596 when non-root user changes priority |
|
|
|
1597 <br /> |
|
|
|
1598 [20802] dynamic-link: getauxval NULL pointer dereference after static |
|
|
|
1599 <br /> |
|
|
|
1600 dlopen |
|
|
|
1601 <br /> |
|
|
|
1602 [20813] nptl: pthread_exit is inconsistent between libc and libpthread |
|
|
|
1603 <br /> |
|
|
|
1604 [22057] malloc: malloc_usable_size is broken with mcheck |
|
|
|
1605 <br /> |
|
|
|
1606 [22668] locale: LC_COLLATE: the last character of ellipsis is not |
|
|
|
1607 <br /> |
|
|
|
1608 ordered correctly |
|
|
|
1609 <br /> |
|
|
|
1610 [23323] libc: [RFE] CSU startup hardening. |
|
|
|
1611 <br /> |
|
|
|
1612 [23328] malloc: Remove malloc hooks and ensure related APIs return no |
|
|
|
1613 <br /> |
|
|
|
1614 data. |
|
|
|
1615 <br /> |
|
|
|
1616 [23462] dynamic-link: Static binary with dynamic string tokens ($LIB, |
|
|
|
1617 <br /> |
|
|
|
1618 $PLATFORM, $ORIGIN) crashes |
|
|
|
1619 <br /> |
|
|
|
1620 [23489] libc: "gcc -lmcheck" aborts on free when using posix_memalign |
|
|
|
1621 <br /> |
|
|
|
1622 [23554] nptl: pthread_getattr_np reports wrong stack size with |
|
|
|
1623 <br /> |
|
|
|
1624 MULTI_PAGE_ALIASING |
|
|
|
1625 <br /> |
|
|
|
1626 [24106] libc: Bash interpreter in ldd script is taken from host |
|
|
|
1627 <br /> |
|
|
|
1628 [24773] dynamic-link: dlerror in an secondary namespace does not use |
|
|
|
1629 <br /> |
|
|
|
1630 the right free implementation |
|
|
|
1631 <br /> |
|
|
|
1632 [25036] localedata: Update collation order for Swedish |
|
|
|
1633 <br /> |
|
|
|
1634 [25383] libc: where_is_shmfs/__shm_directory/SHM_GET_NAME may cause |
|
|
|
1635 <br /> |
|
|
|
1636 shm_open to pick wrong directory |
|
|
|
1637 <br /> |
|
|
|
1638 [25680] dynamic-link: ifuncmain9picstatic and ifuncmain9picstatic |
|
|
|
1639 <br /> |
|
|
|
1640 crash in IFUNC resolver due to stack canary (--enable-stack- |
|
|
|
1641 <br /> |
|
|
|
1642 protector=all) |
|
|
|
1643 <br /> |
|
|
|
1644 [26874] build: -Warray-bounds in _IO_wdefault_doallocate |
|
|
|
1645 <br /> |
|
|
|
1646 [26983] math: [x86_64] x86_64 tgamma has too large ULP error |
|
|
|
1647 <br /> |
|
|
|
1648 [27111] dynamic-link: pthread_create and tls access use link_map |
|
|
|
1649 <br /> |
|
|
|
1650 objects that may be concurrently freed by dlclose |
|
|
|
1651 <br /> |
|
|
|
1652 [27132] malloc: memusagestat is linked to system librt, leading to |
|
|
|
1653 <br /> |
|
|
|
1654 undefined symbols on major version upgrade |
|
|
|
1655 <br /> |
|
|
|
1656 [27136] dynamic-link: dtv setup at thread creation may leave an entry |
|
|
|
1657 <br /> |
|
|
|
1658 uninitialized |
|
|
|
1659 <br /> |
|
|
|
1660 [27249] libc: libSegFault.so does not output signal number properly |
|
|
|
1661 <br /> |
|
|
|
1662 [27304] nptl: pthread_cond_destroy does not pass private flag to futex |
|
|
|
1663 <br /> |
|
|
|
1664 system calls |
|
|
|
1665 <br /> |
|
|
|
1666 [27318] dynamic-link: glibc fails to load binaries when built with |
|
|
|
1667 <br /> |
|
|
|
1668 -march=sandybridge: CPU ISA level is lower than required |
|
|
|
1669 <br /> |
|
|
|
1670 [27343] nss: initgroups() SIGSEGVs when called on a system without |
|
|
|
1671 <br /> |
|
|
|
1672 nsswich.conf (in a chroot) |
|
|
|
1673 <br /> |
|
|
|
1674 [27346] dynamic-link: x86: PTWRITE feature check is missing |
|
|
|
1675 <br /> |
|
|
|
1676 [27389] network: NSS chroot hardening causes regressions in chroot |
|
|
|
1677 <br /> |
|
|
|
1678 deployments |
|
|
|
1679 <br /> |
|
|
|
1680 [27403] dynamic-link: aarch64: tlsdesc htab is not freed on dlclose |
|
|
|
1681 <br /> |
|
|
|
1682 [27444] libc: sysconf reports unsupported option (-1) for |
|
|
|
1683 <br /> |
|
|
|
1684 _SC_LEVEL1_ICACHE_LINESIZE on X86 since v2.33 |
|
|
|
1685 <br /> |
|
|
|
1686 [27462] nscd: double-free in nscd (CVE-2021-27645) |
|
|
|
1687 <br /> |
|
|
|
1688 [27468] malloc: aarch64: realloc crash with heap tagging: FAIL: |
|
|
|
1689 <br /> |
|
|
|
1690 malloc/tst-malloc-thread-fail |
|
|
|
1691 <br /> |
|
|
|
1692 [27498] dynamic-link: __dl_iterate_phdr lacks unwinding information |
|
|
|
1693 <br /> |
|
|
|
1694 [27511] libc: S390 memmove assumes Vector Facility when MIE Facility 3 |
|
|
|
1695 <br /> |
|
|
|
1696 is present |
|
|
|
1697 <br /> |
|
|
|
1698 [27522] glob: glob, glob64 incorrectly marked as __THROW |
|
|
|
1699 <br /> |
|
|
|
1700 [27555] dynamic-link: Static tests fail with --enable-stack- |
|
|
|
1701 <br /> |
|
|
|
1702 protector=all |
|
|
|
1703 <br /> |
|
|
|
1704 [27559] libc: fstat(AT_FDCWD) succeeds (it shouldn't) and returns |
|
|
|
1705 <br /> |
|
|
|
1706 information for the current directory |
|
|
|
1707 <br /> |
|
|
|
1708 [27577] dynamic-link: elf/ld.so --help doesn't work |
|
|
|
1709 <br /> |
|
|
|
1710 [27605] libc: tunables can't control xsave/xsavec selection in |
|
|
|
1711 <br /> |
|
|
|
1712 dl_runtime_resolve_* |
|
|
|
1713 <br /> |
|
|
|
1714 [27623] libc: powerpc: Missing registers in sc[v] clobbers list |
|
|
|
1715 <br /> |
|
|
|
1716 [27645] libc: [linux] sysconf(_SC_NPROCESSOR...) breaks down on |
|
|
|
1717 <br /> |
|
|
|
1718 containers |
|
|
|
1719 <br /> |
|
|
|
1720 [27646] dynamic-link: Linker error for non-existing NSS symbols (e.g. |
|
|
|
1721 <br /> |
|
|
|
1722 _nss_files_getcanonname_r) from within a dlmopen namespace. |
|
|
|
1723 <br /> |
|
|
|
1724 [27648] libc: FAIL: misc/tst-select |
|
|
|
1725 <br /> |
|
|
|
1726 [27650] stdio: vfscanf returns too early if a match is longer than |
|
|
|
1727 <br /> |
|
|
|
1728 INT_MAX |
|
|
|
1729 <br /> |
|
|
|
1730 [27651] libc: Performance regression after updating to 2.33 |
|
|
|
1731 <br /> |
|
|
|
1732 [27655] string: Wrong size calculation in string/test-strnlen.c |
|
|
|
1733 <br /> |
|
|
|
1734 [27706] libc: select fails to update timeout on error |
|
|
|
1735 <br /> |
|
|
|
1736 [27709] libc: arm: FAIL: debug/tst-longjmp_chk2 |
|
|
|
1737 <br /> |
|
|
|
1738 [27721] dynamic-link: x86: ld_audit ignores bind now for TLSDESC and |
|
|
|
1739 <br /> |
|
|
|
1740 tries resolving them lazily |
|
|
|
1741 <br /> |
|
|
|
1742 [27744] nptl: Support different libpthread/ld.so load orders in |
|
|
|
1743 <br /> |
|
|
|
1744 libthread_db |
|
|
|
1745 <br /> |
|
|
|
1746 [27749] libc: Data race __run_exit_handlers |
|
|
|
1747 <br /> |
|
|
|
1748 [27761] libc: getconf: Segmentation fault when passing '-vq' as |
|
|
|
1749 <br /> |
|
|
|
1750 argument |
|
|
|
1751 <br /> |
|
|
|
1752 [27832] nss: makedb.c:797:7: error: 'writev' specified size 4294967295 |
|
|
|
1753 <br /> |
|
|
|
1754 exceeds maximum object size 2147483647 |
|
|
|
1755 <br /> |
|
|
|
1756 [27870] malloc: MALLOC_CHECK_ causes realloc(valid_ptr, TOO_LARGE) to |
|
|
|
1757 <br /> |
|
|
|
1758 not set ENOMEM |
|
|
|
1759 <br /> |
|
|
|
1760 [27872] build: Obsolete configure option --enable-stackguard- |
|
|
|
1761 <br /> |
|
|
|
1762 randomization |
|
|
|
1763 <br /> |
|
|
|
1764 [27873] build: tst-cpu-features-cpuinfo fail when building on AMD cpu |
|
|
|
1765 <br /> |
|
|
|
1766 [27882] localedata: Use U+00AF MACRON in more EBCDIC charsets |
|
|
|
1767 <br /> |
|
|
|
1768 [27892] libc: powerpc: scv ABI error handling fails to check |
|
|
|
1769 <br /> |
|
|
|
1770 IS_ERR_VALUE |
|
|
|
1771 <br /> |
|
|
|
1772 [27896] nptl: mq_notify does not handle separately allocated thread |
|
|
|
1773 <br /> |
|
|
|
1774 attributes (CVE-2021-33574) |
|
|
|
1775 <br /> |
|
|
|
1776 [27901] libc: TEST_STACK_ALIGN doesn't work |
|
|
|
1777 <br /> |
|
|
|
1778 [27902] libc: The x86-64 clone wrapper fails to align child stack |
|
|
|
1779 <br /> |
|
|
|
1780 [27914] nptl: Install SIGSETXID handler with SA_ONSTACK |
|
|
|
1781 <br /> |
|
|
|
1782 [27939] libc: aarch64: clone does not align the stack |
|
|
|
1783 <br /> |
|
|
|
1784 [27968] libc: s390x: clone does not align the stack |
|
|
|
1785 <br /> |
|
|
|
1786 [28011] libc: Wild read in wordexp (parse_param) (CVE-2021-35942) |
|
|
|
1787 <br /> |
|
|
|
1788 [28024] string: s390(31bit): Wrong result of memchr (MEMCHR_Z900_G5) |
|
|
|
1789 <br /> |
|
|
|
1790 with n &gt;= 0x80000000 |
|
|
|
1791 <br /> |
|
|
|
1792 [28028] malloc: malloc: tcache shutdown sequence does not work if the |
|
|
|
1793 <br /> |
|
|
|
1794 thread never allocated anything |
|
|
|
1795 <br /> |
|
|
|
1796 [28033] libc: Need to check RTM_ALWAYS_ABORT for RTM |
|
|
|
1797 <br /> |
|
|
|
1798 [28064] string: x86_64:wcslen implementation list has wcsnlen |
|
|
|
1799 <br /> |
|
|
|
1800 [28067] libc: FAIL: posix/tst-spawn5 |
|
|
|
1801 <br /> |
|
|
|
1802 [28068] malloc: FAIL: malloc/tst-mallocalign1-mcheck |
|
|
|
1803 <br /> |
|
|
|
1804 [28071] time: clock_gettime, gettimeofday, time lost vDSO acceleration |
|
|
|
1805 <br /> |
|
|
|
1806 on older kernels |
|
|
|
1807 <br /> |
|
|
|
1808 [28075] nis: Out-of-bounds static buffer read in nis_local_domain |
|
|
|
1809 <br /> |
|
|
|
1810 [28089] build: tst-tls20 fails when linker defaults to --as-needed |
|
|
|
1811 <br /> |
|
|
|
1812 [28090] build: elf/tst-cpu-features-cpuinfo-static fails on certain |
|
|
|
1813 <br /> |
|
|
|
1814 AMD64 cpus |
|
|
|
1815 <br /> |
|
|
|
1816 [28091] network: ns_name_skip may return 0 for domain names without |
|
|
|
1817 <br /> |
|
|
|
1818 terminator |
|
|
|
1819 <br /> |
|
|
|
1820 </p> |
|
|
|
1821 <p>Release Notes |
|
|
|
1822 <br /> |
|
|
|
1823 ============= |
|
|
|
1824 <br /> |
|
|
|
1825 </p> |
|
|
|
1826 <p><a href="https://sourceware.org/glibc/wiki/Release/2.34">https://sourceware.org/glibc/wiki/Release/2.34</a> |
|
|
|
1827 <br /> |
|
|
|
1828 </p> |
|
|
|
1829 <p>Contributors |
|
|
|
1830 <br /> |
|
|
|
1831 ============ |
|
|
|
1832 <br /> |
|
|
|
1833 </p> |
|
|
|
1834 <p>This release was made possible by the contributions of many people. |
|
|
|
1835 <br /> |
|
|
|
1836 The maintainers are grateful to everyone who has contributed |
|
|
|
1837 <br /> |
|
|
|
1838 changes or bug reports. These include: |
|
|
|
1839 <br /> |
|
|
|
1840 </p> |
|
|
|
1841 <p>Adhemerval Zanella |
|
|
|
1842 <br /> |
|
|
|
1843 Alejandro Colomar \(man-pages\) |
|
|
|
1844 <br /> |
|
|
|
1845 Alexandra Hájková |
|
|
|
1846 <br /> |
|
|
|
1847 Alice Xu |
|
|
|
1848 <br /> |
|
|
|
1849 Alyssa Ross |
|
|
|
1850 <br /> |
|
|
|
1851 Andreas Roeseler |
|
|
|
1852 <br /> |
|
|
|
1853 Andreas Schwab |
|
|
|
1854 <br /> |
|
|
|
1855 Anton Blanchard |
|
|
|
1856 <br /> |
|
|
|
1857 Arjun Shankar |
|
|
|
1858 <br /> |
|
|
|
1859 Armin Brauns |
|
|
|
1860 <br /> |
|
|
|
1861 Bruno Haible |
|
|
|
1862 <br /> |
|
|
|
1863 Carlos O'Donell |
|
|
|
1864 <br /> |
|
|
|
1865 Cooper Qu |
|
|
|
1866 <br /> |
|
|
|
1867 DJ Delorie |
|
|
|
1868 <br /> |
|
|
|
1869 Dan Raymond |
|
|
|
1870 <br /> |
|
|
|
1871 Darius Rad |
|
|
|
1872 <br /> |
|
|
|
1873 David Hughes |
|
|
|
1874 <br /> |
|
|
|
1875 Fangrui Song |
|
|
|
1876 <br /> |
|
|
|
1877 Florian Weimer |
|
|
|
1878 <br /> |
|
|
|
1879 H.J. Lu |
|
|
|
1880 <br /> |
|
|
|
1881 Hanataka Shinya |
|
|
|
1882 <br /> |
|
|
|
1883 Hugo Gabriel Eyherabide |
|
|
|
1884 <br /> |
|
|
|
1885 Jakub Jelinek |
|
|
|
1886 <br /> |
|
|
|
1887 JeffyChen |
|
|
|
1888 <br /> |
|
|
|
1889 John David Anglin |
|
|
|
1890 <br /> |
|
|
|
1891 Joseph Myers |
|
|
|
1892 <br /> |
|
|
|
1893 Khem Raj |
|
|
|
1894 <br /> |
|
|
|
1895 Lirong Yuan |
|
|
|
1896 <br /> |
|
|
|
1897 Lucas A. M. Magalhaes |
|
|
|
1898 <br /> |
|
|
|
1899 Lukasz Majewski |
|
|
|
1900 <br /> |
|
|
|
1901 Maninder Singh |
|
|
|
1902 <br /> |
|
|
|
1903 Mark Harris |
|
|
|
1904 <br /> |
|
|
|
1905 Martin Sebor |
|
|
|
1906 <br /> |
|
|
|
1907 Matheus Castanho |
|
|
|
1908 <br /> |
|
|
|
1909 Michal Nazarewicz |
|
|
|
1910 <br /> |
|
|
|
1911 Mike Hommey |
|
|
|
1912 <br /> |
|
|
|
1913 Naohiro Tamura |
|
|
|
1914 <br /> |
|
|
|
1915 Nicholas Piggin |
|
|
|
1916 <br /> |
|
|
|
1917 Noah Goldstein |
|
|
|
1918 <br /> |
|
|
|
1919 Paul Eggert |
|
|
|
1920 <br /> |
|
|
|
1921 Paul Zimmermann |
|
|
|
1922 <br /> |
|
|
|
1923 Pedro Franco de Carvalho |
|
|
|
1924 <br /> |
|
|
|
1925 Raoni Fassina Firmino |
|
|
|
1926 <br /> |
|
|
|
1927 Raphael Moreira Zinsly |
|
|
|
1928 <br /> |
|
|
|
1929 Romain GEISSLER |
|
|
|
1930 <br /> |
|
|
|
1931 Sajan Karumanchi |
|
|
|
1932 <br /> |
|
|
|
1933 Samuel Thibault |
|
|
|
1934 <br /> |
|
|
|
1935 Sebastian Rasmussen |
|
|
|
1936 <br /> |
|
|
|
1937 Sergei Trofimovich |
|
|
|
1938 <br /> |
|
|
|
1939 Shen-Ta Hsieh |
|
|
|
1940 <br /> |
|
|
|
1941 Siddhesh Poyarekar |
|
|
|
1942 <br /> |
|
|
|
1943 Stafford Horne |
|
|
|
1944 <br /> |
|
|
|
1945 Stefan Liebler |
|
|
|
1946 <br /> |
|
|
|
1947 Sunil K Pandey |
|
|
|
1948 <br /> |
|
|
|
1949 Szabolcs Nagy |
|
|
|
1950 <br /> |
|
|
|
1951 Tulio Magno Quites Machado Filho |
|
|
|
1952 <br /> |
|
|
|
1953 Vineet Gupta |
|
|
|
1954 <br /> |
|
|
|
1955 Vitaly Buka |
|
|
|
1956 <br /> |
|
|
|
1957 Vitaly Chikunov |
|
|
|
1958 <br /> |
|
|
|
1959 Wilco Dijkstra |
|
|
|
1960 <br /> |
|
|
|
1961 Xeonacid |
|
|
|
1962 <br /> |
|
|
|
1963 Xiaoming Ni |
|
|
|
1964 <br /> |
|
|
|
1965 Yang Xu |
|
|
|
1966 <br /> |
|
|
|
1967 liuhongt |
|
|
|
1968 <br /> |
|
|
|
1969 noah |
|
|
|
1970 <br /> |
|
|
|
1971 Érico Nogueira<br /> |
|
|
|
1972 </p></content:encoded> |
|
|
|
1973 <dc:date>2021-08-02T03:57:01+00:00</dc:date> |
|
|
|
1974 <dc:creator>Carlos O'Donell</dc:creator> |
|
|
|
1975 </item> |
|
|
|
1976 <item rdf:about="http://savannah.gnu.org/forum/forum.php?forum_id=10031"> |
|
|
|
1977 <title>diffutils @ Savannah: diffutils-3.8 released [stable]</title> |
|
|
|
1978 <link>http://savannah.gnu.org/forum/forum.php?forum_id=10031</link> |
|
|
|
1979 <content:encoded><blockquote class="verbatim"><p> This is to announce diffutils-3.8, a stable release.<br /> |
|
|
|
1980 <br /> |
|
|
|
1981 There have been 47 commits by 5 people in the 2.6 years since 3.7.<br /> |
|
|
|
1982 <br /> |
|
|
|
1983 See the NEWS below for a brief summary.<br /> |
|
|
|
1984 <br /> |
|
|
|
1985 Thanks to everyone who has contributed!<br /> |
|
|
|
1986 The following people contributed changes to this release:<br /> |
|
|
|
1987 <br /> |
|
|
|
1988 Bruno Haible (2)<br /> |
|
|
|
1989 Dave Odell (1)<br /> |
|
|
|
1990 Jim Meyering (23)<br /> |
|
|
|
1991 KO Myung-Hun (1)<br /> |
|
|
|
1992 Paul Eggert (20)<br /> |
|
|
|
1993 <br /> |
|
|
|
1994 Jim [on behalf of the diffutils maintainers]<br /> |
|
|
|
1995 ==================================================================<br /> |
|
|
|
1996 <br /> |
|
|
|
1997 Here is the GNU diffutils home page:<br /> |
|
|
|
1998 http://gnu.org/s/diffutils/<br /> |
|
|
|
1999 <br /> |
|
|
|
2000 For a summary of changes and contributors, see:<br /> |
|
|
|
2001 http://git.sv.gnu.org/gitweb/?p=diffutils.git;a=shortlog;h=v3.8<br /> |
|
|
|
2002 or run this command from a git-cloned diffutils directory:<br /> |
|
|
|
2003 git shortlog v3.7..v3.8<br /> |
|
|
|
2004 <br /> |
|
|
|
2005 To summarize the 2453 gnulib-related changes, run these commands<br /> |
|
|
|
2006 from a git-cloned diffutils directory:<br /> |
|
|
|
2007 git checkout v3.8<br /> |
|
|
|
2008 git submodule summary v3.7<br /> |
|
|
|
2009 <br /> |
|
|
|
2010 Here are the compressed sources and a GPG detached signature[*]:<br /> |
|
|
|
2011 https://ftp.gnu.org/gnu/diffutils/diffutils-3.8.tar.xz<br /> |
|
|
|
2012 https://ftp.gnu.org/gnu/diffutils/diffutils-3.8.tar.xz.sig<br /> |
|
|
|
2013 <br /> |
|
|
|
2014 Use a mirror for higher download bandwidth:<br /> |
|
|
|
2015 https://ftpmirror.gnu.org/diffutils/diffutils-3.8.tar.xz<br /> |
|
|
|
2016 https://ftpmirror.gnu.org/diffutils/diffutils-3.8.tar.xz.sig<br /> |
|
|
|
2017 <br /> |
|
|
|
2018 [*] Use a .sig file to verify that the corresponding file (without the<br /> |
|
|
|
2019 .sig suffix) is intact. First, be sure to download both the .sig file<br /> |
|
|
|
2020 and the corresponding tarball. Then, run a command like this:<br /> |
|
|
|
2021 <br /> |
|
|
|
2022 gpg --verify diffutils-3.8.tar.xz.sig<br /> |
|
|
|
2023 <br /> |
|
|
|
2024 If that command fails because you don't have the required public key,<br /> |
|
|
|
2025 then run this command to import it:<br /> |
|
|
|
2026 <br /> |
|
|
|
2027 gpg --keyserver keys.gnupg.net --recv-keys 7FD9FCCB000BEEEE<br /> |
|
|
|
2028 <br /> |
|
|
|
2029 and rerun the 'gpg --verify' command.<br /> |
|
|
|
2030 <br /> |
|
|
|
2031 This release was bootstrapped with the following tools:<br /> |
|
|
|
2032 Autoconf 2.71<br /> |
|
|
|
2033 Automake 1.16d<br /> |
|
|
|
2034 Gnulib v0.1-4758-gb48905892<br /> |
|
|
|
2035 <br /> |
|
|
|
2036 NEWS<br /> |
|
|
|
2037 <br /> |
|
|
|
2038 * Noteworthy changes in release 3.8 (2021-08-01) [stable]<br /> |
|
|
|
2039 <br /> |
|
|
|
2040 ** Incompatible changes<br /> |
|
|
|
2041 <br /> |
|
|
|
2042 diff no longer treats a closed stdin as representing an absent file<br /> |
|
|
|
2043 in usage like 'diff --new-file - foo &lt;&amp;-'. This feature was rarely<br /> |
|
|
|
2044 if ever used and was not portable to POSIX platforms that reopen<br /> |
|
|
|
2045 stdin on exec, such as SELinux if the process underwent an AT_SECURE<br /> |
|
|
|
2046 transition, or HP-UX even if not setuid.<br /> |
|
|
|
2047 [bug#33965 introduced in 2.8]<br /> |
|
|
|
2048 <br /> |
|
|
|
2049 ** Bug fixes<br /> |
|
|
|
2050 <br /> |
|
|
|
2051 diff and related programs no longer get confused if stdin, stdout,<br /> |
|
|
|
2052 or stderr are closed. Previously, they sometimes opened files into<br /> |
|
|
|
2053 file descriptors 0, 1, or 2 and then mistakenly did I/O with them<br /> |
|
|
|
2054 that was intended for stdin, stdout, or stderr.<br /> |
|
|
|
2055 [bug#33965 present since "the beginning"]<br /> |
|
|
|
2056 <br /> |
|
|
|
2057 cmp, diff and sdiff no longer treat negative command-line<br /> |
|
|
|
2058 option-arguments as if they were large positive numbers.<br /> |
|
|
|
2059 [bug#35256 introduced in 2.8]<br /> |
|
|
|
2060 </p></blockquote></content:encoded> |
|
|
|
2061 <dc:date>2021-08-02T02:14:08+00:00</dc:date> |
|
|
|
2062 <dc:creator>Jim Meyering</dc:creator> |
|
|
|
2063 </item> |
|
|
|
2064 <item rdf:about="http://savannah.gnu.org/forum/forum.php?forum_id=10029"> |
|
|
|
2065 <title>remotecontrol @ Savannah: Nest Outage Takes Out Most Services</title> |
|
|
|
2066 <link>http://savannah.gnu.org/forum/forum.php?forum_id=10029</link> |
|
|
|
2067 <content:encoded><p><a href="https://www.droid-life.com/2021/07/28/nest-outage-takes-out-most-services/">https://www.droid-life.com/2021/07/28/nest-outage-takes-out-most-services/</a> |
|
|
|
2068 <br /> |
|
|
|
2069 </p> |
|
|
|
2070 <p><a href="https://status.nest.com/history">https://status.nest.com/history</a><br /> |
|
|
|
2071 </p></content:encoded> |
|
|
|
2072 <dc:date>2021-07-29T10:27:43+00:00</dc:date> |
|
|
|
2073 <dc:creator>Stephen H. Dawson DSL</dc:creator> |
|
|
|
2074 </item> |
|
|
|
2075 <item rdf:about="http://www.fsf.org/news/fsf-job-opportunity-operations-assistant-1"> |
|
|
|
2076 <title>FSF News: FSF job opportunity: Operations assistant</title> |
|
|
|
2077 <link>http://www.fsf.org/news/fsf-job-opportunity-operations-assistant-1</link> |
|
|
|
2078 <content:encoded>The Free Software Foundation (FSF), a Massachusetts 501(c)(3) charity with a worldwide mission to protect and promote computer-user freedom, seeks a motivated and organized Boston-based individual to be our full-time operations assistant.</content:encoded> |
|
|
|
2079 <dc:date>2021-07-28T20:35:00+00:00</dc:date> |
|
|
|
2080 <dc:creator>FSF News</dc:creator> |
|
|
|
2081 </item> |
|
|
|
2082 <item rdf:about="http://savannah.gnu.org/forum/forum.php?forum_id=10028"> |
|
|
|
2083 <title>health @ Savannah: Release of MyGNUHealth 1.0.3</title> |
|
|
|
2084 <link>http://savannah.gnu.org/forum/forum.php?forum_id=10028</link> |
|
|
|
2085 <content:encoded><p>Dear GNU community: |
|
|
|
2086 <br /> |
|
|
|
2087 </p> |
|
|
|
2088 <p>I am happy to announce that the release 1.0.3 of the GNU Health Personal Health Record (PHR) component, MyGNUHealth. |
|
|
|
2089 <br /> |
|
|
|
2090 </p> |
|
|
|
2091 <p>This release updates the medical genetics domain, with the latest human natural variant dataset based on UniProt Consortium (release 2021_03 of June 02 2021). |
|
|
|
2092 <br /> |
|
|
|
2093 </p> |
|
|
|
2094 <p>Statistics for single amino acid variants: |
|
|
|
2095 <br /> |
|
|
|
2096 </p> |
|
|
|
2097 <blockquote class="verbatim"><p> Likely pathogenic or pathogenic (LP/P): 31398<br /> |
|
|
|
2098 Likely benign or benign (LB/B): 39584<br /> |
|
|
|
2099 Uncertain significance (US): 8763<br /> |
|
|
|
2100 --------------<br /> |
|
|
|
2101 Total: 79745<br /> |
|
|
|
2102 <br /> |
|
|
|
2103 </p></blockquote> |
|
|
|
2104 <p> |
|
|
|
2105 </p> |
|
|
|
2106 <p>In addition, some minor changes / updates in the documentation and credits have been done. |
|
|
|
2107 <br /> |
|
|
|
2108 </p> |
|
|
|
2109 <p>This latest version is already available at Savannah, and the Python Package Index (PyPi). Shortly will also be in your favorite Libre operating system / distribution. |
|
|
|
2110 <br /> |
|
|
|
2111 </p> |
|
|
|
2112 <p>Again, thanks to all of you who collaborate and make GNU Health a reality! |
|
|
|
2113 <br /> |
|
|
|
2114 </p> |
|
|
|
2115 <p>Happy and healthy hacking! |
|
|
|
2116 <br /> |
|
|
|
2117 Luis<br /> |
|
|
|
2118 </p></content:encoded> |
|
|
|
2119 <dc:date>2021-07-25T13:03:00+00:00</dc:date> |
|
|
|
2120 <dc:creator>Luis Falcon</dc:creator> |
|
|
|
2121 </item> |
|
|
|
2122 <item rdf:about="http://savannah.gnu.org/forum/forum.php?forum_id=10027"> |
|
|
|
2123 <title>parallel @ Savannah: GNU Parallel 20210722 ('Blue Unity') released</title> |
|
|
|
2124 <link>http://savannah.gnu.org/forum/forum.php?forum_id=10027</link> |
|
|
|
2125 <content:encoded><p>GNU Parallel 20210722 ('Blue Unity') has been released. It is available for download at: lbry://@GnuParallel:4 |
|
|
|
2126 <br /> |
|
|
|
2127 </p> |
|
|
|
2128 <p>Please help spreading GNU Parallel by making a testimonial video like Juan Sierra Pons: <a href="http://www.elsotanillo.net/wp-content/uploads/GnuParallel_JuanSierraPons.mp4">http://www.elsotanillo.net/wp-content/uploads/GnuParallel_JuanSierraPons.mp4</a> |
|
|
|
2129 <br /> |
|
|
|
2130 </p> |
|
|
|
2131 <p>It does not have to be as detailed as Juan's. It is perfectly fine if you just say your name, and what field you are using GNU Parallel for. |
|
|
|
2132 <br /> |
|
|
|
2133 </p> |
|
|
|
2134 <p>Quote of the month: |
|
|
|
2135 <br /> |
|
|
|
2136 </p> |
|
|
|
2137 <p> We use gnu parallel now - and happier for it. |
|
|
|
2138 <br /> |
|
|
|
2139 -- Ben Davies @benjamindavies@twitter |
|
|
|
2140 <br /> |
|
|
|
2141 </p> |
|
|
|
2142 <p>New in this release: |
|
|
|
2143 <br /> |
|
|
|
2144 </p> |
|
|
|
2145 <ul> |
|
|
|
2146 <li>--results no longer prints the result to standard output (stdout) as voted in <a href="https://lists.gnu.org/archive/html/parallel/2020-12/msg00003.html">https://lists.gnu.org/archive/html/parallel/2020-12/msg00003.html</a> |
|
|
|
2147 </li> |
|
|
|
2148 </ul> |
|
|
|
2149 <ul> |
|
|
|
2150 <li>parset supports associative arrays in bash, ksh, zsh. |
|
|
|
2151 </li> |
|
|
|
2152 </ul> |
|
|
|
2153 <ul> |
|
|
|
2154 <li>Online HTML is now generated by Sphinx. |
|
|
|
2155 </li> |
|
|
|
2156 </ul> |
|
|
|
2157 <ul> |
|
|
|
2158 <li>Bug fixes and man page updates. |
|
|
|
2159 </li> |
|
|
|
2160 </ul> |
|
|
|
2161 <p>News about GNU Parallel: |
|
|
|
2162 <br /> |
|
|
|
2163 </p> |
|
|
|
2164 <ul> |
|
|
|
2165 <li>Cleaning Up Scanned Documents with Open Source Tools <a href="https://kaerumy.medium.com/cleaning-up-scanned-documents-with-open-source-tools-9d87e15305b">https://kaerumy.medium.com/cleaning-up-scanned-documents-with-open-source-tools-9d87e15305b</a> |
|
|
|
2166 </li> |
|
|
|
2167 </ul> |
|
|
|
2168 |
|
|
|
2169 <p>Get the book: GNU Parallel 2018 <a href="http://www.lulu.com/shop/ole-tange/gnu-parallel-2018/paperback/product-23558902.html">http://www.lulu.com/shop/ole-tange/gnu-parallel-2018/paperback/product-23558902.html</a> |
|
|
|
2170 <br /> |
|
|
|
2171 </p> |
|
|
|
2172 <p>GNU Parallel - For people who live life in the parallel lane. |
|
|
|
2173 <br /> |
|
|
|
2174 </p> |
|
|
|
2175 <p>If you like GNU Parallel record a video testimonial: Say who you are, what you use GNU Parallel for, how it helps you, and what you like most about it. Include a command that uses GNU Parallel if you feel like it. |
|
|
|
2176 <br /> |
|
|
|
2177 </p> |
|
|
|
2178 |
|
|
|
2179 <h2>About GNU Parallel</h2> |
|
|
|
2180 |
|
|
|
2181 <p>GNU Parallel is a shell tool for executing jobs in parallel using one or more computers. A job can be a single command or a small script that has to be run for each of the lines in the input. The typical input is a list of files, a list of hosts, a list of users, a list of URLs, or a list of tables. A job can also be a command that reads from a pipe. GNU Parallel can then split the input and pipe it into commands in parallel. |
|
|
|
2182 <br /> |
|
|
|
2183 </p> |
|
|
|
2184 <p>If you use xargs and tee today you will find GNU Parallel very easy to use as GNU Parallel is written to have the same options as xargs. If you write loops in shell, you will find GNU Parallel may be able to replace most of the loops and make them run faster by running several jobs in parallel. GNU Parallel can even replace nested loops. |
|
|
|
2185 <br /> |
|
|
|
2186 </p> |
|
|
|
2187 <p>GNU Parallel makes sure output from the commands is the same output as you would get had you run the commands sequentially. This makes it possible to use output from GNU Parallel as input for other programs. |
|
|
|
2188 <br /> |
|
|
|
2189 </p> |
|
|
|
2190 <p>For example you can run this to convert all jpeg files into png and gif files and have a progress bar: |
|
|
|
2191 <br /> |
|
|
|
2192 </p> |
|
|
|
2193 <p> parallel --bar convert {1} {1.}.{2} ::: *.jpg ::: png gif |
|
|
|
2194 <br /> |
|
|
|
2195 </p> |
|
|
|
2196 <p>Or you can generate big, medium, and small thumbnails of all jpeg files in sub dirs: |
|
|
|
2197 <br /> |
|
|
|
2198 </p> |
|
|
|
2199 <p> find . -name '*.jpg' | |
|
|
|
2200 <br /> |
|
|
|
2201 parallel convert -geometry {2} {1} {1//}/thumb{2}_{1/} :::: - ::: 50 100 200 |
|
|
|
2202 <br /> |
|
|
|
2203 </p> |
|
|
|
2204 <p>You can find more about GNU Parallel at: <a href="http://www.gnu.org/s/parallel/">http://www.gnu.org/s/parallel/</a> |
|
|
|
2205 <br /> |
|
|
|
2206 </p> |
|
|
|
2207 <p>You can install GNU Parallel in just 10 seconds with: |
|
|
|
2208 <br /> |
|
|
|
2209 </p> |
|
|
|
2210 <p> $ (wget -O - pi.dk/3 || lynx -source pi.dk/3 || curl pi.dk/3/ || \ |
|
|
|
2211 <br /> |
|
|
|
2212 fetch -o - <a href="http://pi.dk/3">http://pi.dk/3</a> ) &gt; install.sh |
|
|
|
2213 <br /> |
|
|
|
2214 $ sha1sum install.sh | grep c82233e7da3166308632ac8c34f850c0 |
|
|
|
2215 <br /> |
|
|
|
2216 12345678 c82233e7 da316630 8632ac8c 34f850c0 |
|
|
|
2217 <br /> |
|
|
|
2218 $ md5sum install.sh | grep ae3d7aac5e15cf3dfc87046cfc5918d2 |
|
|
|
2219 <br /> |
|
|
|
2220 ae3d7aac 5e15cf3d fc87046c fc5918d2 |
|
|
|
2221 <br /> |
|
|
|
2222 $ sha512sum install.sh | grep dfc00d823137271a6d96225cea9e89f533ff6c81f |
|
|
|
2223 <br /> |
|
|
|
2224 9c5198d5 31a3b755 b7910ece 3a42d206 c804694d fc00d823 137271a6 d96225ce |
|
|
|
2225 <br /> |
|
|
|
2226 a9e89f53 3ff6c81f f52b298b ef9fb613 2d3f9ccd 0e2c7bd3 c35978b5 79acb5ca |
|
|
|
2227 <br /> |
|
|
|
2228 $ bash install.sh |
|
|
|
2229 <br /> |
|
|
|
2230 </p> |
|
|
|
2231 <p>Watch the intro video on <a href="http://www.youtube.com/playlist?list=PL284C9FF2488BC6D1">http://www.youtube.com/playlist?list=PL284C9FF2488BC6D1</a> |
|
|
|
2232 <br /> |
|
|
|
2233 </p> |
|
|
|
2234 <p>Walk through the tutorial (man parallel_tutorial). Your command line will love you for it. |
|
|
|
2235 <br /> |
|
|
|
2236 </p> |
|
|
|
2237 <p>When using programs that use GNU Parallel to process data for publication please cite: |
|
|
|
2238 <br /> |
|
|
|
2239 </p> |
|
|
|
2240 <p>O. Tange (2018): GNU Parallel 2018, March 2018, <a href="https://doi.org/10.5281/zenodo.1146014">https://doi.org/10.5281/zenodo.1146014</a>. |
|
|
|
2241 <br /> |
|
|
|
2242 </p> |
|
|
|
2243 <p>If you like GNU Parallel: |
|
|
|
2244 <br /> |
|
|
|
2245 </p> |
|
|
|
2246 <ul> |
|
|
|
2247 <li>Give a demo at your local user group/team/colleagues |
|
|
|
2248 </li> |
|
|
|
2249 <li>Post the intro videos on Reddit/Diaspora*/forums/blogs/ Identi.ca/Google+/Twitter/Facebook/Linkedin/mailing lists |
|
|
|
2250 </li> |
|
|
|
2251 <li>Get the merchandise <a href="https://gnuparallel.threadless.com/designs/gnu-parallel">https://gnuparallel.threadless.com/designs/gnu-parallel</a> |
|
|
|
2252 </li> |
|
|
|
2253 <li>Request or write a review for your favourite blog or magazine |
|
|
|
2254 </li> |
|
|
|
2255 <li>Request or build a package for your favourite distribution (if it is not already there) |
|
|
|
2256 </li> |
|
|
|
2257 <li>Invite me for your next conference |
|
|
|
2258 </li> |
|
|
|
2259 </ul> |
|
|
|
2260 <p>If you use programs that use GNU Parallel for research: |
|
|
|
2261 <br /> |
|
|
|
2262 </p> |
|
|
|
2263 <ul> |
|
|
|
2264 <li>Please cite GNU Parallel in you publications (use --citation) |
|
|
|
2265 </li> |
|
|
|
2266 </ul> |
|
|
|
2267 <p>If GNU Parallel saves you money: |
|
|
|
2268 <br /> |
|
|
|
2269 </p> |
|
|
|
2270 <ul> |
|
|
|
2271 <li>(Have your company) donate to FSF <a href="https://my.fsf.org/donate/">https://my.fsf.org/donate/</a> |
|
|
|
2272 </li> |
|
|
|
2273 </ul> |
|
|
|
2274 |
|
|
|
2275 <h2>About GNU SQL</h2> |
|
|
|
2276 |
|
|
|
2277 <p>GNU sql aims to give a simple, unified interface for accessing databases through all the different databases' command line clients. So far the focus has been on giving a common way to specify login information (protocol, username, password, hostname, and port number), size (database and table size), and running queries. |
|
|
|
2278 <br /> |
|
|
|
2279 </p> |
|
|
|
2280 <p>The database is addressed using a DBURL. If commands are left out you will get that database's interactive shell. |
|
|
|
2281 <br /> |
|
|
|
2282 </p> |
|
|
|
2283 <p>When using GNU SQL for a publication please cite: |
|
|
|
2284 <br /> |
|
|
|
2285 </p> |
|
|
|
2286 <p>O. Tange (2011): GNU SQL - A Command Line Tool for Accessing Different Databases Using DBURLs, ;login: The USENIX Magazine, April 2011:29-32. |
|
|
|
2287 <br /> |
|
|
|
2288 </p> |
|
|
|
2289 |
|
|
|
2290 <h2>About GNU Niceload</h2> |
|
|
|
2291 |
|
|
|
2292 <p>GNU niceload slows down a program when the computer load average (or other system activity) is above a certain limit. When the limit is reached the program will be suspended for some time. If the limit is a soft limit the program will be allowed to run for short amounts of time before being suspended again. If the limit is a hard limit the program will only be allowed to run when the system is below the limit.<br /> |
|
|
|
2293 </p></content:encoded> |
|
|
|
2294 <dc:date>2021-07-22T20:33:58+00:00</dc:date> |
|
|
|
2295 <dc:creator>Ole Tange</dc:creator> |
|
|
|
2296 </item> |
|
|
|
2297 <item rdf:about="http://savannah.gnu.org/forum/forum.php?forum_id=10023"> |
|
|
|
2298 <title>health @ Savannah: MyGNUHealth maintenance release 1.0.2 is out!</title> |
|
|
|
2299 <link>http://savannah.gnu.org/forum/forum.php?forum_id=10023</link> |
|
|
|
2300 <content:encoded><p>MyGNUHealth 1.0.2 is ready to be downloaded from GNU.org! |
|
|
|
2301 <br /> |
|
|
|
2302 </p> |
|
|
|
2303 <p>This maintenance release fixes some issues with global (drawer) menus in MATE, XFCE desktops, as well as in SXMO on the PinePhone. |
|
|
|
2304 <br /> |
|
|
|
2305 </p> |
|
|
|
2306 <p>In addition, the documentation has been updated. |
|
|
|
2307 <br /> |
|
|
|
2308 (<a href="https://www.gnuhealth.org/docs/mygnuhealth">https://www.gnuhealth.org/docs/mygnuhealth</a>) |
|
|
|
2309 <br /> |
|
|
|
2310 </p> |
|
|
|
2311 <p>Happy and healthy hacking!<br /> |
|
|
|
2312 </p></content:encoded> |
|
|
|
2313 <dc:date>2021-07-14T23:13:01+00:00</dc:date> |
|
|
|
2314 <dc:creator>Luis Falcon</dc:creator> |
|
|
|
2315 </item> |
|
|
|
2316 <item rdf:about="http://meanmicio.org/?p=2373"> |
|
|
|
2317 <title>GNU Health: Back to the Future</title> |
|
|
|
2318 <link>https://meanmicio.org/2021/07/12/back-to-the-future/</link> |
|
|
|
2319 <content:encoded><p class="has-drop-cap">Leonardo da Vinci said “<em>simplicity is the ultimate sophistication</em>“, but it seems like the “modern” computing world never heard that quote, or ignore it. Today, a single application takes hundreds of megabytes, both of disk and RAM space. Slow, buggy, inefficient systems at every level. </p> |
|
|
|
2320 |
|
|
|
2321 |
|
|
|
2322 |
|
|
|
2323 <p>Probably the best example on this cluttering mess comes from the mobile computing. Most phones are bloated with useless software that not only hinders the navigation experience, but pose a threat to your privacy. Yes, all this software is proprietary. Worst of it, you can not even uninstall it.</p> |
|
|
|
2324 |
|
|
|
2325 |
|
|
|
2326 |
|
|
|
2327 <p>Fortunately, there is hope. Let me introduce <strong>SXMO, the Simple X on Mobile </strong>project. As the authors describe it, SXMO is a minimalist environment for Linux smartphones, such as the <strong>PinePhone</strong>. SXMO embraces simplicity, and simplicity is both elegant and efficient. </p> |
|
|
|
2328 |
|
|
|
2329 |
|
|
|
2330 |
|
|
|
2331 <div class="wp-block-columns"> |
|
|
|
2332 <div class="wp-block-column"> |
|
|
|
2333 <div class="wp-container-613c8401e0c62 wp-block-group"><div class="wp-block-group__inner-container"> |
|
|
|
2334 <figure class="wp-block-image size-large is-style-default"><a href="https://meanmicio.files.wordpress.com/2021/07/gnuhealth_sxmo_pinephone_greetins_.png"><img alt="" class="wp-image-2378" src="https://meanmicio.files.wordpress.com/2021/07/gnuhealth_sxmo_pinephone_greetins_.png?w=512" /></a><figcaption>MyGNUHealth running on PinePhone and SXMO</figcaption></figure> |
|
|
|
2335 </div></div> |
|
|
|
2336 </div> |
|
|
|
2337 |
|
|
|
2338 |
|
|
|
2339 |
|
|
|
2340 <div class="wp-block-column"> |
|
|
|
2341 <figure class="wp-block-image size-large is-style-default"><a href="https://meanmicio.files.wordpress.com/2021/07/gnuhealth_sxmo_fullscreen.png"><img alt="" class="wp-image-2380" src="https://meanmicio.files.wordpress.com/2021/07/gnuhealth_sxmo_fullscreen.png?w=512" /></a><figcaption>Full screen mode of MyGNUHealth on SXMO</figcaption></figure> |
|
|
|
2342 </div> |
|
|
|
2343 </div> |
|
|
|
2344 |
|
|
|
2345 |
|
|
|
2346 |
|
|
|
2347 <p>SXMO uses a tiling window manager called <strong>dwm</strong> (Dynamic Window Manager), which allocates the different applications in the most efficient way. The dwm project is available as a single binary file, which source is intended not to exceed 2000 lines of code. That is amazing.</p> |
|
|
|
2348 |
|
|
|
2349 |
|
|
|
2350 |
|
|
|
2351 <p>Simplicity is robust, and that again applies to SXMO. All the necessary components expected on a mobile phone (making and receiving calls, browsing the Internet, SMS messaging,..) just work. Moreover, SMXO comes with a scripting system that allow us to write solutions to our needs. For instance, the screenshots you see were taken with a script of 3 lines of code. Just place the little program under your “<em>userscripts</em>” directory, and <em>voilà </em>!, you’re ready to make screenshots from your PinePhone!</p> |
|
|
|
2352 |
|
|
|
2353 |
|
|
|
2354 |
|
|
|
2355 <div class="wp-block-columns"> |
|
|
|
2356 <div class="wp-block-column"> |
|
|
|
2357 <figure class="wp-block-image size-large is-style-default"><a href="https://meanmicio.files.wordpress.com/2021/07/sxmo_browsing_gnuhealth.png"><img alt="" class="wp-image-2383" src="https://meanmicio.files.wordpress.com/2021/07/sxmo_browsing_gnuhealth.png?w=512" /></a></figure> |
|
|
|
2358 |
|
|
|
2359 |
|
|
|
2360 |
|
|
|
2361 <p>Browsing the Internet and the GNU Health homepage</p> |
|
|
|
2362 </div> |
|
|
|
2363 |
|
|
|
2364 |
|
|
|
2365 |
|
|
|
2366 <div class="wp-block-column"> |
|
|
|
2367 <figure class="wp-block-image size-large is-style-default"><a href="https://meanmicio.files.wordpress.com/2021/07/sxmo_pinephone_menu.png"><img alt="" class="wp-image-2385" src="https://meanmicio.files.wordpress.com/2021/07/sxmo_pinephone_menu.png?w=512" /></a></figure> |
|
|
|
2368 |
|
|
|
2369 |
|
|
|
2370 |
|
|
|
2371 <p>Menu driven navigation in SXMO dwm in the PinePhone</p> |
|
|
|
2372 </div> |
|
|
|
2373 </div> |
|
|
|
2374 |
|
|
|
2375 |
|
|
|
2376 |
|
|
|
2377 <p>In the end, most of current desktop environments today are huge, bloated and buggy. The discovery of SXMO has been an eyeopener. The perfect companion for my PinePhone.</p> |
|
|
|
2378 |
|
|
|
2379 |
|
|
|
2380 |
|
|
|
2381 <p></p> |
|
|
|
2382 |
|
|
|
2383 |
|
|
|
2384 |
|
|
|
2385 <p>I’m using SXMO on my PinePhone as a daily driver, and I just love it. Thanks to simple distributions such as Archlinux, Parabola or PostmarketOS, and simple Desktop / window managers as DWM, a am finally enjoying Libre mobile computing.</p> |
|
|
|
2386 |
|
|
|
2387 |
|
|
|
2388 |
|
|
|
2389 <p>I feel projects like this take us back to the roots, to the beautiful world of simplicity, yet delivering the latest technology and showing us the path o the future.</p> |
|
|
|
2390 |
|
|
|
2391 |
|
|
|
2392 |
|
|
|
2393 <p></p> |
|
|
|
2394 |
|
|
|
2395 |
|
|
|
2396 |
|
|
|
2397 <p><strong>References</strong>:</p> |
|
|
|
2398 |
|
|
|
2399 |
|
|
|
2400 |
|
|
|
2401 <p>SXMO: <a href="https://www.sxmo.org">https://www.sxmo.org </a></p> |
|
|
|
2402 |
|
|
|
2403 |
|
|
|
2404 |
|
|
|
2405 <p>Pine64: <a href="https://www.pine64.org/">https://www.pine64.org/</a></p> |
|
|
|
2406 |
|
|
|
2407 |
|
|
|
2408 |
|
|
|
2409 <p>GNU Health : <a href="https://www.gnuhealth.org">https://www.gnuhealth.org</a></p> |
|
|
|
2410 |
|
|
|
2411 |
|
|
|
2412 |
|
|
|
2413 <p>PostmarketOS: <a href="https://postmarketos.org/">https://postmarketos.org/</a></p> |
|
|
|
2414 |
|
|
|
2415 |
|
|
|
2416 |
|
|
|
2417 <p>Archlinux: <a href="https://www.archlinux.org">https://www.archlinux.org</a></p> |
|
|
|
2418 |
|
|
|
2419 |
|
|
|
2420 |
|
|
|
2421 <p>Parabola: <a href="https://www.parabola.nu/">https://www.parabola.nu/</a></p> |
|
|
|
2422 |
|
|
|
2423 |
|
|
|
2424 |
|
|
|
2425 <p>Featured Image: Leonardo da Vinci, drawing of a flying machine . Public domain, via <a href="https://commons.wikimedia.org/wiki/File:Leonardo_da_vinci,_Drawing_of_a_flying_machine.jpg">Wikimedia Commons</a> </p></content:encoded> |
|
|
|
2426 <dc:date>2021-07-12T14:18:28+00:00</dc:date> |
|
|
|
2427 <dc:creator>Luis Falcon</dc:creator> |
|
|
|
2428 </item> |
|
|
|
2429 <item rdf:about="http://www.fsf.org/events/freedomladder-20210805-irc"> |
|
|
|
2430 <title>FSF Events: "Freedom ladder" IRC discussion and brainstorming: August 05</title> |
|
|
|
2431 <link>http://www.fsf.org/events/freedomladder-20210805-irc</link> |
|
|
|
2432 <content:encoded>Learning how to find help / Trying a free operating system</content:encoded> |
|
|
|
2433 <dc:date>2021-07-08T17:10:00+00:00</dc:date> |
|
|
|
2434 <dc:creator>FSF Events</dc:creator> |
|
|
|
2435 </item> |
|
|
|
2436 <item rdf:about="http://www.fsf.org/events/freedomladder-20210729-irc"> |
|
|
|
2437 <title>FSF Events: "Freedom ladder" IRC discussion and brainstorming: July 29</title> |
|
|
|
2438 <link>http://www.fsf.org/events/freedomladder-20210729-irc</link> |
|
|
|
2439 <content:encoded>Understanding encryption / Mobile phone freedom</content:encoded> |
|
|
|
2440 <dc:date>2021-07-08T17:10:00+00:00</dc:date> |
|
|
|
2441 <dc:creator>FSF Events</dc:creator> |
|
|
|
2442 </item> |
|
|
|
2443 <item rdf:about="http://www.fsf.org/events/freedomladder-20210722-irc"> |
|
|
|
2444 <title>FSF Events: "Freedom ladder" IRC discussion and brainstorming: July 22</title> |
|
|
|
2445 <link>http://www.fsf.org/events/freedomladder-20210722-irc</link> |
|
|
|
2446 <content:encoded>Free replacements and installing your first free program</content:encoded> |
|
|
|
2447 <dc:date>2021-07-08T17:10:00+00:00</dc:date> |
|
|
|
2448 <dc:creator>FSF Events</dc:creator> |
|
|
|
2449 </item> |
|
|
|
2450 <item rdf:about="http://www.fsf.org/events/freedomladder-20210715-irc"> |
|
|
|
2451 <title>FSF Events: "Freedom ladder" IRC discussion and brainstorming: July 15</title> |
|
|
|
2452 <link>http://www.fsf.org/events/freedomladder-20210715-irc</link> |
|
|
|
2453 <content:encoded>Understanding nonfree software / Finding your own reason to use free software</content:encoded> |
|
|
|
2454 <dc:date>2021-07-08T17:10:00+00:00</dc:date> |
|
|
|
2455 <dc:creator>FSF Events</dc:creator> |
|
|
|
2456 </item> |
|
|
|
2457 <item rdf:about="http://savannah.gnu.org/forum/forum.php?forum_id=10022"> |
|
|
|
2458 <title>health @ Savannah: MyGNUHealth 1.0.1 is out!</title> |
|
|
|
2459 <link>http://savannah.gnu.org/forum/forum.php?forum_id=10022</link> |
|
|
|
2460 <content:encoded><p>Dear all |
|
|
|
2461 <br /> |
|
|
|
2462 </p> |
|
|
|
2463 <p>I just released 1.0.1 for the stable series 1.0 of MyGNUHealth, the GNU Health Personal Health Record. |
|
|
|
2464 <br /> |
|
|
|
2465 </p> |
|
|
|
2466 <p>This maintenance release for MyGNUHealth contains, in a nutshell: |
|
|
|
2467 <br /> |
|
|
|
2468 </p> |
|
|
|
2469 <ul> |
|
|
|
2470 <li>Fix the download path within GNU.org. Now it points to <a href="https://ftp.gnu.org/gnu/health/mygnuhealth/">https://ftp.gnu.org/gnu/health/mygnuhealth/</a> |
|
|
|
2471 </li> |
|
|
|
2472 <li>Include Changelog file |
|
|
|
2473 </li> |
|
|
|
2474 <li>Include local / offline documentation (resides on /usr/share/doc/mygnuhealth) |
|
|
|
2475 </li> |
|
|
|
2476 <li>Clean up <em>_pycache_</em> from tarball |
|
|
|
2477 </li> |
|
|
|
2478 </ul> |
|
|
|
2479 |
|
|
|
2480 <p>Happy and healthy hacking! |
|
|
|
2481 <br /> |
|
|
|
2482 Luis<br /> |
|
|
|
2483 </p></content:encoded> |
|
|
|
2484 <dc:date>2021-07-08T00:23:05+00:00</dc:date> |
|
|
|
2485 <dc:creator>Luis Falcon</dc:creator> |
|
|
|
2486 </item> |
|
|
|
2487 <item rdf:about="tag:parabolagnulinux.org,2021-07-07:/news/from-arch-sorting-out-old-password-hashes/"> |
|
|
|
2488 <title>Parabola GNU/Linux-libre: [From Arch] Sorting out old password hashes</title> |
|
|
|
2489 <link>https://parabolagnulinux.org/news/from-arch-sorting-out-old-password-hashes/</link> |
|
|
|
2490 <content:encoded><p>Starting with <code>libxcrypt</code> 4.4.21, weak password hashes (such as <em>MD5</em> and <em>SHA1</em>) are no longer accepted for new passwords. Users that still have their passwords stored with a weak hash will be asked to update their password on their next login.</p> |
|
|
|
2491 <p>If the login just fails (for example from display manager) switch to a virtual terminal (<em>Ctrl-Alt-F2</em>) and log in there once.</p></content:encoded> |
|
|
|
2492 <dc:date>2021-07-07T01:34:00+00:00</dc:date> |
|
|
|
2493 <dc:creator>David P.</dc:creator> |
|
|
|
2494 </item> |
|
|
|
2495 <item rdf:about="http://savannah.gnu.org/forum/forum.php?forum_id=10020"> |
|
|
|
2496 <title>texinfo @ Savannah: Texinfo 6.8 released</title> |
|
|
|
2497 <link>http://savannah.gnu.org/forum/forum.php?forum_id=10020</link> |
|
|
|
2498 <content:encoded><p>We have released version 6.8 of Texinfo, the GNU documentation format. |
|
|
|
2499 <br /> |
|
|
|
2500 </p> |
|
|
|
2501 <p>It's available via a mirror (xz is much smaller than gz, but gz is available too just in case): |
|
|
|
2502 <br /> |
|
|
|
2503 </p> |
|
|
|
2504 <p><a href="http://ftpmirror.gnu.org/texinfo/texinfo-6.8.tar.xz">http://ftpmirror.gnu.org/texinfo/texinfo-6.8.tar.xz</a> |
|
|
|
2505 <br /> |
|
|
|
2506 <a href="http://ftpmirror.gnu.org/texinfo/texinfo-6.8.tar.gz">http://ftpmirror.gnu.org/texinfo/texinfo-6.8.tar.gz</a> |
|
|
|
2507 <br /> |
|
|
|
2508 </p> |
|
|
|
2509 <p>Please send any comments to bug-texinfo@gnu.org. |
|
|
|
2510 <br /> |
|
|
|
2511 </p> |
|
|
|
2512 <p>Full announcement: <a href="https://lists.gnu.org/archive/html/bug-texinfo/2021-07/msg00011.html">https://lists.gnu.org/archive/html/bug-texinfo/2021-07/msg00011.html</a><br /> |
|
|
|
2513 </p></content:encoded> |
|
|
|
2514 <dc:date>2021-07-03T11:48:11+00:00</dc:date> |
|
|
|
2515 <dc:creator>Gavin D. Smith</dc:creator> |
|
|
|
2516 </item> |
|
|
|
2517 <item rdf:about="http://www.fsf.org/news/apply-to-be-the-fsfs-next-executive-director"> |
|
|
|
2518 <title>FSF News: Apply to be the FSF's next executive director</title> |
|
|
|
2519 <link>http://www.fsf.org/news/apply-to-be-the-fsfs-next-executive-director</link> |
|
|
|
2520 <content:encoded>The Free Software Foundation (FSF), a Massachusetts 501(c)(3) charity |
|
|
|
2521 with a worldwide mission to protect computer user freedom, seeks a |
|
|
|
2522 principled, compassionate, and capable leader to be its new executive |
|
|
|
2523 director. This position can be remote or based in our Boston office.</content:encoded> |
|
|
|
2524 <dc:date>2021-07-02T14:00:00+00:00</dc:date> |
|
|
|
2525 <dc:creator>FSF News</dc:creator> |
|
|
|
2526 </item> |
|
|
|
2527 <item rdf:about="http://www.fsf.org/news/fsf-takes-next-step-in-commitment-to-improving-board-governance"> |
|
|
|
2528 <title>FSF News: FSF takes next step in commitment to improving board governance</title> |
|
|
|
2529 <link>http://www.fsf.org/news/fsf-takes-next-step-in-commitment-to-improving-board-governance</link> |
|
|
|
2530 |
|
|
|
2531 <dc:date>2021-07-01T14:40:05+00:00</dc:date> |
|
|
|
2532 <dc:creator>FSF News</dc:creator> |
|
|
|
2533 </item> |
|
|
|
2534 <item rdf:about="tag:dustycloud.org,2021-06-28:/blog/nonbinary-trans-femme/"> |
|
|
|
2535 <title>Christopher Allan Webber: Hello, I'm Chris Lemmer-Webber, and I'm nonbinary trans-femme</title> |
|
|
|
2536 <link>http://dustycloud.org/blog/nonbinary-trans-femme/</link> |
|
|
|
2537 <content:encoded><p><img alt="A picture of Chris and Morgan together" src="https://dustycloud.org/gfx/goodies/chris-and-morgan-2021-06-27.jpg" /></p> |
|
|
|
2538 <p>I recently came out as nonbinary trans-femme. |
|
|
|
2539 That's a picture of me on the left, with my spouse Morgan Lemmer-Webber |
|
|
|
2540 on the right.</p> |
|
|
|
2541 <p>In a sense, not much has changed, and so much has changed. |
|
|
|
2542 I've dropped the "-topher" from my name, and given the common tendency |
|
|
|
2543 to apply gender to pronouns in English, please either use nonbinary |
|
|
|
2544 pronouns or feminine pronouns to apply to me. |
|
|
|
2545 Other changes are happening as I wander through this space, from |
|
|
|
2546 appearance to other things. |
|
|
|
2547 (Probably the biggest change is finally achieving something resembling |
|
|
|
2548 self-acceptance, however.)</p> |
|
|
|
2549 <p>If you want to know more, |
|
|
|
2550 <a href="https://fossandcrafts.org/episodes/30-gender-sexuality-personal-perspective.html">Morgan and I did a podcast episode</a> |
|
|
|
2551 which explains more from my present standing, and also explains Morgan's |
|
|
|
2552 experiences with being demisexual, which not many people know about! |
|
|
|
2553 (Morgan has been incredible through this whole process, by the way.)</p> |
|
|
|
2554 <p>But things may change further. |
|
|
|
2555 Maybe a year from now those changes may be even more drastic, or maybe |
|
|
|
2556 not. |
|
|
|
2557 We'll see. |
|
|
|
2558 I am wandering, and I don't know where I will land, but it won't be |
|
|
|
2559 back to where I was.</p> |
|
|
|
2560 <p>At any rate, I've spent much of my life not being able to stand myself |
|
|
|
2561 for how I look and feel. |
|
|
|
2562 For most of my life, I have not been able to look at myself in a mirror |
|
|
|
2563 for more than a second or two due to the revulsion I felt at the person |
|
|
|
2564 I saw staring back at me. |
|
|
|
2565 The last few weeks have been a shift change for me in that regard... |
|
|
|
2566 it's a very new experience to feel so happy with myself.</p> |
|
|
|
2567 <p>I'm only at the beginning of this journey. |
|
|
|
2568 I'd appreciate your support... people have been incredibly kind to me |
|
|
|
2569 by and large so far but like everyone who goes through a process like this, |
|
|
|
2570 it's very hard in those experiences where people aren't. |
|
|
|
2571 Thank you to everyone who has been there for me so far.</p></content:encoded> |
|
|
|
2572 <dc:date>2021-06-28T23:13:00+00:00</dc:date> |
|
|
|
2573 <dc:creator>Chris Lemmer-Webber</dc:creator> |
|
|
|
2574 </item> |
|
|
|
2575 <item rdf:about="http://savannah.gnu.org/forum/forum.php?forum_id=10015"> |
|
|
|
2576 <title>health @ Savannah: Welcome to MyGNUHealth, the GNU Health Libre Personal Health Record</title> |
|
|
|
2577 <link>http://savannah.gnu.org/forum/forum.php?forum_id=10015</link> |
|
|
|
2578 <content:encoded><p>Original article including MyGNUHealth pictures is at (<a href="https://meanmicio.org/2021/06/24/welcome-to-mygnuhealth-the-libre-personal-health-record/">https://meanmicio.org/2021/06/24/welcome-to-mygnuhealth-the-libre-personal-health-record/</a>) |
|
|
|
2579 <br /> |
|
|
|
2580 </p> |
|
|
|
2581 <p>--- |
|
|
|
2582 <br /> |
|
|
|
2583 </p> |
|
|
|
2584 |
|
|
|
2585 <p><strong>MyGNUHealth</strong> 1.0 us out! The GNU Health Libre Personal Health Record is now ready for prime time! |
|
|
|
2586 <br /> |
|
|
|
2587 </p> |
|
|
|
2588 <p>This is great news. Great news because citizens around the world have now access to a Free/Libre application, focused on privacy, that puts them in control of their health. |
|
|
|
2589 <br /> |
|
|
|
2590 </p> |
|
|
|
2591 <p>Health is personal, so is the health data. It’s been years since I got the idea of expanding the GNU Health ecosystem, not only to the health professionals and institutions, but making it personal, accessible to individuals. Now is a reality! |
|
|
|
2592 <br /> |
|
|
|
2593 </p> |
|
|
|
2594 <p>Throughout these years, the mobile health (mHealth) has been governed by private companies that benefit from your health data. Private companies, private insurances, proprietary operating systems, proprietary health applications. Big business, no privacy. |
|
|
|
2595 <br /> |
|
|
|
2596 </p> |
|
|
|
2597 <p>The GNU Health ecosystem exists because of Free software. Thanks to communities such as GNU and KDE, we can have fully operational operating systems, desktop environments, databases and programming languages that allow us to use and write free software. GNU Health is one example. |
|
|
|
2598 <br /> |
|
|
|
2599 </p> |
|
|
|
2600 <p>The Libre Software movement fights for the advancement of our societies, by providing universality in computing. In the case of GNU Health, that freedom and equity in computing is applied into the healthcare and social medicine domains. Health is a non-negotiable human right, so it must be health informatics. |
|
|
|
2601 <br /> |
|
|
|
2602 </p> |
|
|
|
2603 <h3>What is MyGNUHealth?</h3> |
|
|
|
2604 |
|
|
|
2605 <p>MyGNUHealth (MyGH)is a Health Personal Record application focused in <strong>privacy</strong>, that can be used in desktops and mobile devices. |
|
|
|
2606 <br /> |
|
|
|
2607 </p> |
|
|
|
2608 <p>MyGH embraces the main health domains (*bio-psycho-social*). All the components in the GNU Health ecosystem combine social medicine and primary care with the latest on bioinformatics and precision medicine. The complex interactions between these health domains play a key role in the state of health and disease of an individual, family and society. |
|
|
|
2609 <br /> |
|
|
|
2610 </p> |
|
|
|
2611 <p>MyGH has the functionality of a health and activity tracker, and that of a health diary / record. It records and tracks the main anthropometric and physiological measures, such as weight, blood pressure, blood sugar level or oxygen saturation. It keeps track of your lifestyle, nutrition, physical activity, and sleep, with numerous charts to visualize the trends. |
|
|
|
2612 <br /> |
|
|
|
2613 </p> |
|
|
|
2614 <p>MyGNUHealth is also a diary, that records all relevant information from the medical and social domain and their context. In the medical domain, you can record your encounters, immunizations, hospitalizations, lab tests,genetic and family history, among others. In the genetic context, MyGH provides a dataset of over 30000 natural variants / SNP from <strong>UniProt</strong> that are relevant in human. Entering the RefSNP will automatically provide the information about that particular variant and it clinical significance. |
|
|
|
2615 <br /> |
|
|
|
2616 </p> |
|
|
|
2617 <p>The Social domain, contains the key social determinants of health (Social Gradient, Early life development, Stress, Social exclusion, Working conditions, Education, Physical environment, Unemployment, Social Support, Addiction, Food, Transportation, Health services, Family functionality, Family violence, Bullying, War) , most of them from the World Health Organization social determinants of health. |
|
|
|
2618 <br /> |
|
|
|
2619 </p> |
|
|
|
2620 <p>A very important feature of MyGH is that it is GNU Health Federation. That is, if you want to share any of this data with your health professional in real-time, and they will be able to study it. |
|
|
|
2621 <br /> |
|
|
|
2622 </p> |
|
|
|
2623 <h3>The PinePhone and the revolution in mobile computing</h3> |
|
|
|
2624 |
|
|
|
2625 <p>Of course, in a world of mobile phones and mobile computing, we need free/libre mobile applications. The problem I was facing until recently, that prevented me from writing MyGNUHealth, was the fact that there was no libre mobile environment. The mobile computing market has been dominated by Google and Apple, which both deliver proprietary operating systems, Android and iOS respectively. |
|
|
|
2626 <br /> |
|
|
|
2627 </p> |
|
|
|
2628 <p>The irruption of the <strong>Pine64</strong> community was the eye-opener and a game changer. A thriving community of talented people, determined to provide freedom in mobile computing. The Pine64 provides, among others, a smartphone (PinePhone), and a smartwatch (PineTime), and I have adopted both. |
|
|
|
2629 <br /> |
|
|
|
2630 </p> |
|
|
|
2631 |
|
|
|
2632 <p>I wrote an article some weeks ago (“Liberating our mobile computing”), where I mentioned why I have changed the Android phone to the PinePhone, and my watch to the PineTime. |
|
|
|
2633 <br /> |
|
|
|
2634 </p> |
|
|
|
2635 <p>Does the PinePhone have the best camera? Can we compare the PinePhone with Apple or Google products? It’s hard to compare a multi-billion dollar corporation with a fresh community oriented project. The business model, the technology components and the ethics behind are very different. |
|
|
|
2636 <br /> |
|
|
|
2637 </p> |
|
|
|
2638 <p>So, why making the move? I made the change because we, as a society, need to embrace a technology that is universal and that respects our freedom and privacy. A technology that if focus on the individual and not the corporation. That moves takes determination and commitment. There is a small price to pay, but freedom and privacy are priceless. |
|
|
|
2639 <br /> |
|
|
|
2640 </p> |
|
|
|
2641 <p>As a physician, I need to provide my patients the resources that use state-of-the-art technology, and, at the same time, guarantee the privacy of their sensitive medical information. Libre software and open standards are key in healthcare. When my patients choose free/libre software, they have full control. They also have the possibility to share it with me or with other health professionals, in real-time and with the highest levels of privacy. |
|
|
|
2642 <br /> |
|
|
|
2643 </p> |
|
|
|
2644 <p>We can only manage sensitive health data with technology that respects our privacy. In other words, we can not put our personal information in the hands of corporate interests. Choosing Libre Software and Hardware means much more than just technology. Libre Software means embracing solidarity and cooperation. It means sharing knowledge, code and time with others. It means embracing open science for the advancement of our societies, specially for those that need it most. |
|
|
|
2645 <br /> |
|
|
|
2646 </p> |
|
|
|
2647 <p>MyGNUHealth will be included by default in many operating systems and distributions, so you don’t have to worry about the technical details. Just use your health companion! If your operating system does not have MyGH in their repositories, please ask them to include it. |
|
|
|
2648 <br /> |
|
|
|
2649 </p> |
|
|
|
2650 <p>Governments, institutions, and health professional need affordable technology that respects their citizens freedom. We need you to be part of this eHealth revolution. |
|
|
|
2651 <br /> |
|
|
|
2652 </p> |
|
|
|
2653 <p>Happy and healthy hacking! |
|
|
|
2654 <br /> |
|
|
|
2655 </p> |
|
|
|
2656 <h3>About GNUHealth</h3> |
|
|
|
2657 |
|
|
|
2658 <p>MyGNUHealth is part of the GNU Health, the Libre digital health ecosystem. GNU Health is from GNU Solidario, a humanitarian, non-for-profit organization focused on the advancement of Social Medicine. GNU Solidario develops health applications and uses exclusively Free/Libre software. <strong>GNU Health is an official GNU project</strong> |
|
|
|
2659 <br /> |
|
|
|
2660 </p> |
|
|
|
2661 <p>Homepage : <a href="https://www.gnuhealth.org">https://www.gnuhealth.org</a> |
|
|
|
2662 <br /> |
|
|
|
2663 Documentation portal : <a href="https://www.gnuhealth.org/docs">https://www.gnuhealth.org/docs</a> |
|
|
|
2664 <br /> |
|
|
|
2665 </p> |
|
|
|
2666 <p>Original article: <a href="https://meanmicio.org/2021/06/24/welcome-to-mygnuhealth-the-libre-personal-health-record/">https://meanmicio.org/2021/06/24/welcome-to-mygnuhealth-the-libre-personal-health-record/</a><br /> |
|
|
|
2667 </p></content:encoded> |
|
|
|
2668 <dc:date>2021-06-24T17:35:19+00:00</dc:date> |
|
|
|
2669 <dc:creator>Luis Falcon</dc:creator> |
|
|
|
2670 </item> |
|
|
|
2671 <item rdf:about="http://meanmicio.org/?p=2319"> |
|
|
|
2672 <title>GNU Health: Welcome to MyGNUHealth, the Libre Personal Health Record</title> |
|
|
|
2673 <link>https://meanmicio.org/2021/06/24/welcome-to-mygnuhealth-the-libre-personal-health-record/</link> |
|
|
|
2674 <content:encoded><p class="has-drop-cap">MyGNUHealth 1.0 us out! The GNU Health Libre Personal Health Record is now ready for prime time!</p> |
|
|
|
2675 |
|
|
|
2676 |
|
|
|
2677 |
|
|
|
2678 <p>This is great news. Great news because citizens around the world have now access to a Free/Libre application, focused on privacy, that puts them in control of their health.</p> |
|
|
|
2679 |
|
|
|
2680 |
|
|
|
2681 |
|
|
|
2682 <p>Health is personal, so is the health data. It’s been years since I got the idea of expanding the GNU Health ecosystem, not only to the health professionals and institutions, but making it personal, accessible to individuals. Now is a reality!</p> |
|
|
|
2683 |
|
|
|
2684 |
|
|
|
2685 |
|
|
|
2686 <p>Throughout these years, the mobile health (mHealth) has been governed by private companies that benefit from your health data. Private companies, private insurances, proprietary operating systems, proprietary health applications. Big business, no privacy.</p> |
|
|
|
2687 |
|
|
|
2688 |
|
|
|
2689 |
|
|
|
2690 <figure class="wp-block-image size-large is-style-default"><a href="https://meanmicio.files.wordpress.com/2021/06/mygnuhealth-kde-plasma-desktop.png"><img alt="" class="wp-image-2323" src="https://meanmicio.files.wordpress.com/2021/06/mygnuhealth-kde-plasma-desktop.png?w=1024" /></a><figcaption>MyGNUHealth running on KDE Plasma desktop and Arch Linux</figcaption></figure> |
|
|
|
2691 |
|
|
|
2692 |
|
|
|
2693 |
|
|
|
2694 <h2>GNU and Libre Software</h2> |
|
|
|
2695 |
|
|
|
2696 |
|
|
|
2697 |
|
|
|
2698 <p>The GNU Health ecosystem exists because of Free software. Thanks to communities such as GNU, we can have fully operational operating systems, desktop environments, databases and programming languages that allow us to use and write free software. GNU Health is one example.</p> |
|
|
|
2699 |
|
|
|
2700 |
|
|
|
2701 |
|
|
|
2702 <p>The Libre Software movement fights for the advancement of our societies, by providing universality in computing. In the case of GNU Health, that freedom and equity in computing is applied into the healthcare and social medicine domains. Health is a non-negotiable human right, so it must be health informatics.</p> |
|
|
|
2703 |
|
|
|
2704 |
|
|
|
2705 |
|
|
|
2706 <h3>What is MyGNUHealth?</h3> |
|
|
|
2707 |
|
|
|
2708 |
|
|
|
2709 |
|
|
|
2710 <p>MyGNUHealth (MyGH)is a Health Personal Record application focused in privacy, that can be used in desktops and mobile devices.</p> |
|
|
|
2711 |
|
|
|
2712 |
|
|
|
2713 |
|
|
|
2714 <p>MyGH embraces the main health domains (<strong>bio-psycho-social</strong>). All the components in the GNU Health ecosystem combine <strong>social medicine</strong> and primary care with the latest on <strong>bioinformatics</strong> and <strong>precision medicine</strong>. The complex interactions between these health domains play a key role in the state of health and disease of an individual, family and society. </p> |
|
|
|
2715 |
|
|
|
2716 |
|
|
|
2717 |
|
|
|
2718 <p>MyGH has the functionality of a health and activity tracker, and that of a health diary / record. It records and tracks the main anthropometric and physiological measures, such as weight, blood pressure, blood sugar level or oxygen saturation. It keeps track of your lifestyle, nutrition, physical activity, and sleep, with numerous charts to visualize the trends. </p> |
|
|
|
2719 |
|
|
|
2720 |
|
|
|
2721 |
|
|
|
2722 <p>MyGNUHealth is also a diary, that records all relevant information from the medical and social domain and their context. In the medical domain, you can record your encounters, immunizations, hospitalizations, lab tests,genetic and family history, among others. In the <strong>genetic</strong> context, MyGH provides a dataset of over <strong>30000 natural variants / SNP</strong> from <strong>UniProt</strong> that are relevant in human. Entering the RefSNP will automatically provide the information about that particular variant and it clinical significance.</p> |
|
|
|
2723 |
|
|
|
2724 |
|
|
|
2725 |
|
|
|
2726 <p>The <strong>Social</strong> domain, contains the key social determinants of health (Social Gradient, Early life development, Stress, Social exclusion, Working conditions, Education, Physical environment, Unemployment, Social Support, Addiction, Food, Transportation, Health services, Family functionality, Family violence, Bullying, War) , most of them from the World Health Organization social determinants of health. </p> |
|
|
|
2727 |
|
|
|
2728 |
|
|
|
2729 |
|
|
|
2730 <p>A very important feature of MyGH is that it is GNU Health Federation. That is, if you want to share any of this data with your health professional in real-time, and they will be able to study it. </p> |
|
|
|
2731 |
|
|
|
2732 |
|
|
|
2733 |
|
|
|
2734 <p></p> |
|
|
|
2735 |
|
|
|
2736 |
|
|
|
2737 |
|
|
|
2738 <div class="wp-block-columns"> |
|
|
|
2739 <div class="wp-block-column"> |
|
|
|
2740 <figure class="wp-block-image size-large is-resized is-style-default"><a href="https://meanmicio.files.wordpress.com/2021/06/physical_activity.png"><img alt="" class="wp-image-2348" height="256" src="https://meanmicio.files.wordpress.com/2021/06/physical_activity.png?w=861" width="273" /></a><figcaption>Lifestyle and activity tracker</figcaption></figure> |
|
|
|
2741 |
|
|
|
2742 |
|
|
|
2743 |
|
|
|
2744 <figure class="wp-block-image size-large is-style-default"><a href="https://meanmicio.files.wordpress.com/2021/06/social_domain_context_book_of_life.png"><img alt="" class="wp-image-2354" src="https://meanmicio.files.wordpress.com/2021/06/social_domain_context_book_of_life.png?w=854" /></a><figcaption>Social domain and its contexts, along the book of life</figcaption></figure> |
|
|
|
2745 </div> |
|
|
|
2746 |
|
|
|
2747 |
|
|
|
2748 |
|
|
|
2749 <div class="wp-block-column"> |
|
|
|
2750 <figure class="wp-block-image size-large is-resized is-style-default"><a href="https://meanmicio.files.wordpress.com/2021/06/mood_and_energy.png"><img alt="" class="wp-image-2349" height="460" src="https://meanmicio.files.wordpress.com/2021/06/mood_and_energy.png?w=490" width="279" /></a><figcaption>Mood and energy assessment</figcaption></figure> |
|
|
|
2751 </div> |
|
|
|
2752 |
|
|
|
2753 |
|
|
|
2754 |
|
|
|
2755 <div class="wp-block-column"> |
|
|
|
2756 <figure class="wp-block-image size-large is-style-default"><a href="https://meanmicio.files.wordpress.com/2021/06/genetics.png"><img alt="" class="wp-image-2350" src="https://meanmicio.files.wordpress.com/2021/06/genetics.png?w=546" /></a><figcaption>Medical genetics showing the relevant information on a particular natural variant / SNP</figcaption></figure> |
|
|
|
2757 </div> |
|
|
|
2758 </div> |
|
|
|
2759 |
|
|
|
2760 |
|
|
|
2761 |
|
|
|
2762 <h2>The PinePhone and the revolution in mobile computing</h2> |
|
|
|
2763 |
|
|
|
2764 |
|
|
|
2765 |
|
|
|
2766 <p>Of course, in a world of mobile phones and mobile computing, we need free/libre mobile applications. The problem I was facing until recently, that prevented me from writing MyGNUHealth, was the fact that there was no libre mobile environment. The mobile computing market has been dominated by Google and Apple, which both deliver proprietary operating systems, Android and iOS respectively.</p> |
|
|
|
2767 |
|
|
|
2768 |
|
|
|
2769 |
|
|
|
2770 <p>The irruption of the <strong>Pine64</strong> community was the eye-opener and a game changer. A thriving community of talented people, determined to provide freedom in mobile computing. The Pine64 provides, among others, a smartphone (<strong>PinePhone</strong>), and a smartwatch (<strong>PineTime</strong>), and I have adopted both. </p> |
|
|
|
2771 |
|
|
|
2772 |
|
|
|
2773 |
|
|
|
2774 <div class="wp-block-columns"> |
|
|
|
2775 <div class="wp-block-column"> |
|
|
|
2776 <figure class="wp-block-image size-large is-resized is-style-default"><a href="https://meanmicio.files.wordpress.com/2021/06/screenshot_20210622_231438.png"><img alt="" class="wp-image-2333" height="811" src="https://meanmicio.files.wordpress.com/2021/06/screenshot_20210622_231438.png?w=512" width="406" /></a><figcaption>Starting up MyGNUHealth application in the PinePhone</figcaption></figure> |
|
|
|
2777 </div> |
|
|
|
2778 |
|
|
|
2779 |
|
|
|
2780 |
|
|
|
2781 <div class="wp-block-column"> |
|
|
|
2782 <figure class="wp-block-image size-large is-style-default"><a href="https://meanmicio.files.wordpress.com/2021/06/screenshot_20210623_224140-2.png"><img alt="" class="wp-image-2338" src="https://meanmicio.files.wordpress.com/2021/06/screenshot_20210623_224140-2.png?w=512" /></a><figcaption>KDE Plasma mobile applications on the PinePhone</figcaption></figure> |
|
|
|
2783 |
|
|
|
2784 |
|
|
|
2785 |
|
|
|
2786 <p></p> |
|
|
|
2787 </div> |
|
|
|
2788 </div> |
|
|
|
2789 |
|
|
|
2790 |
|
|
|
2791 |
|
|
|
2792 <p>I wrote an article some weeks ago (“<a href="https://meanmicio.org/2021/06/04/liberating-our-mobile-computing/">Liberating our mobile computing”)</a>, where I mentioned why I have changed the Android phone to the PinePhone, and my watch to the PineTime.</p> |
|
|
|
2793 |
|
|
|
2794 |
|
|
|
2795 |
|
|
|
2796 <p>Does the PinePhone have the best camera? Can we compare the PinePhone with Apple or Google products? It’s hard to compare a multi-billion dollar corporation with a fresh, community-oriented project. The business model, the technology components and the ethics behind are very different. </p> |
|
|
|
2797 |
|
|
|
2798 |
|
|
|
2799 |
|
|
|
2800 <p>So, why making the move? I made the change because we, as a society, need to embrace a technology that is universal and that respects our freedom and privacy. A technology that focuses on the individual and not in the corporation. That moves takes determination and commitment. There is a small price to pay, but freedom and privacy are priceless.</p> |
|
|
|
2801 |
|
|
|
2802 |
|
|
|
2803 |
|
|
|
2804 <p></p> |
|
|
|
2805 |
|
|
|
2806 |
|
|
|
2807 |
|
|
|
2808 <div class="wp-block-columns"> |
|
|
|
2809 <div class="wp-block-column"> |
|
|
|
2810 <div class="wp-container-613c8401e4bc9 wp-block-group"><div class="wp-block-group__inner-container"> |
|
|
|
2811 <div class="wp-block-columns"> |
|
|
|
2812 <div class="wp-block-column"> |
|
|
|
2813 <figure class="wp-block-image size-large is-resized is-style-default"><a href="https://meanmicio.files.wordpress.com/2021/06/mygnuhealth-09b2-pinephone.jpg"><img alt="" class="wp-image-2327" height="626" src="https://meanmicio.files.wordpress.com/2021/06/mygnuhealth-09b2-pinephone.jpg?w=1024" width="836" /></a><figcaption>Taking MyGNUHealth and the PinePhone to the outdoors.</figcaption></figure> |
|
|
|
2814 </div> |
|
|
|
2815 </div> |
|
|
|
2816 </div></div> |
|
|
|
2817 </div> |
|
|
|
2818 </div> |
|
|
|
2819 |
|
|
|
2820 |
|
|
|
2821 |
|
|
|
2822 <p>As a physician, I need to provide my patients the resources that use state-of-the-art technology, and, at the same time, guarantee the privacy of their sensitive medical information. Libre software and open standards are key in healthcare. When my patients choose free/libre software, they have full control. They also have the possibility to share it with me or with other health professionals, in real-time and with the highest levels of privacy.</p> |
|
|
|
2823 |
|
|
|
2824 |
|
|
|
2825 |
|
|
|
2826 <p>We can only manage sensitive health data with technology that respects our privacy. In other words, we can not put our personal information in the hands of corporate interests. Choosing Libre Software and Hardware means much more than just technology. Libre Software means embracing solidarity and cooperation. It means sharing knowledge, code and time with others. It means embracing open science for the advancement of our societies, specially for those that need it most.</p> |
|
|
|
2827 |
|
|
|
2828 |
|
|
|
2829 |
|
|
|
2830 <p>MyGNUHealth will be included by default in many operating systems and distributions, so you don’t have to worry about the technical details. Just use your health companion! If your operating system does not have MyGH in their repositories, please ask them to include it.</p> |
|
|
|
2831 |
|
|
|
2832 |
|
|
|
2833 |
|
|
|
2834 <p>Governments, institutions, and health professional need affordable technology that respects their citizens freedom. We need you to be part of this eHealth revolution.</p> |
|
|
|
2835 |
|
|
|
2836 |
|
|
|
2837 |
|
|
|
2838 <p>Happy and healthy hacking!</p> |
|
|
|
2839 |
|
|
|
2840 |
|
|
|
2841 |
|
|
|
2842 <p></p> |
|
|
|
2843 |
|
|
|
2844 |
|
|
|
2845 |
|
|
|
2846 <h2>About GNUHealth:</h2> |
|
|
|
2847 |
|
|
|
2848 |
|
|
|
2849 |
|
|
|
2850 <p>MyGNUHealth is part of the GNU Health, the Libre digital health ecosystem. GNU Health is from<strong> GNU Solidario</strong>, a humanitarian, non-for-profit organization focused on the advancement of Social Medicine. GNU Solidario develops health applications and uses exclusively Free/Libre software. GNU Health is an official GNU project.</p> |
|
|
|
2851 |
|
|
|
2852 |
|
|
|
2853 |
|
|
|
2854 <p><strong>Homepage</strong> : <a href="https://www.gnuhealth.org">https://www.gnuhealth.org</a></p> |
|
|
|
2855 |
|
|
|
2856 |
|
|
|
2857 |
|
|
|
2858 <p><strong>Documentation portal</strong> : <a href="https://www.gnuhealth.org/docs">https://www.gnuhealth.org/docs</a></p></content:encoded> |
|
|
|
2859 <dc:date>2021-06-24T14:54:55+00:00</dc:date> |
|
|
|
2860 <dc:creator>Luis Falcon</dc:creator> |
|
|
|
2861 </item> |
|
|
|
2862 <item rdf:about="http://savannah.gnu.org/forum/forum.php?forum_id=10014"> |
|
|
|
2863 <title>dejagnu @ Savannah: DejaGnu 1.6.3 released</title> |
|
|
|
2864 <link>http://savannah.gnu.org/forum/forum.php?forum_id=10014</link> |
|
|
|
2865 <content:encoded><p>DejaGnu 1.6.3 was released on 16 June 2021. Many bugs are fixed in this release and active development is resuming, though perhaps at a slow pace.<br /> |
|
|
|
2866 </p></content:encoded> |
|
|
|
2867 <dc:date>2021-06-24T01:48:43+00:00</dc:date> |
|
|
|
2868 <dc:creator>Jacob Bachmeyer</dc:creator> |
|
|
|
2869 </item> |
|
|
|
2870 <item rdf:about="http://savannah.gnu.org/forum/forum.php?forum_id=10013"> |
|
|
|
2871 <title>texmacs @ Savannah: TeXmacs 2.1 released</title> |
|
|
|
2872 <link>http://savannah.gnu.org/forum/forum.php?forum_id=10013</link> |
|
|
|
2873 <content:encoded><p>This version of TeXmacs consolidates many developments that took place in the last decade. Most importantly, the interface is now based on Qt, which allowed us develop native versions for Linux, MacOS, and Windows. TeXmacs has evolved from a scientific text editor into a scientific office suite, with an integrated presentation mode, technical drawing editor, versioning tools, bibliography tool, etc. The typesetting quality has continued to improve with a better support of microtypography and a large variety of fonts. The converters for LaTeX and Html have also been further perfected and TeXmacs now comes with a native support for Pdf.<br /> |
|
|
|
2874 </p></content:encoded> |
|
|
|
2875 <dc:date>2021-06-23T12:48:33+00:00</dc:date> |
|
|
|
2876 <dc:creator>Joris van der Hoeven</dc:creator> |
|
|
|
2877 </item> |
|
|
|
2878 <item rdf:about="http://savannah.gnu.org/forum/forum.php?forum_id=10012"> |
|
|
|
2879 <title>parallel @ Savannah: GNU Parallel 20210622 ('Protasevich') released [stable]</title> |
|
|
|
2880 <link>http://savannah.gnu.org/forum/forum.php?forum_id=10012</link> |
|
|
|
2881 <content:encoded><p>GNU Parallel 20210622 ('Protasevich') [stable] has been released. It is available for download at: lbry://@GnuParallel:4 |
|
|
|
2882 <br /> |
|
|
|
2883 </p> |
|
|
|
2884 <p>No new functionality was introduced so this is a good candidate for a stable release. |
|
|
|
2885 <br /> |
|
|
|
2886 </p> |
|
|
|
2887 <p>Please help spreading GNU Parallel by making a testimonial video like Juan Sierra Pons: <a href="http://www.elsotanillo.net/wp-content/uploads/GnuParallel_JuanSierraPons.mp4">http://www.elsotanillo.net/wp-content/uploads/GnuParallel_JuanSierraPons.mp4</a> |
|
|
|
2888 <br /> |
|
|
|
2889 </p> |
|
|
|
2890 <p>It does not have to be as detailed as Juan's. It is perfectly fine if you just say your name, and what field you are using GNU Parallel for. |
|
|
|
2891 <br /> |
|
|
|
2892 </p> |
|
|
|
2893 <p>Quote of the month: |
|
|
|
2894 <br /> |
|
|
|
2895 </p> |
|
|
|
2896 <p> GNU Parallel makes my life so much easier. |
|
|
|
2897 <br /> |
|
|
|
2898 I'm glad I don't have to implement multi-threaded Python scripts on the regular. |
|
|
|
2899 <br /> |
|
|
|
2900 -- Fredrick Brennan @fr_brennan@twitter |
|
|
|
2901 <br /> |
|
|
|
2902 </p> |
|
|
|
2903 <p>New in this release: |
|
|
|
2904 <br /> |
|
|
|
2905 </p> |
|
|
|
2906 <ul> |
|
|
|
2907 <li>Bug fixes and man page updates. |
|
|
|
2908 </li> |
|
|
|
2909 </ul> |
|
|
|
2910 <p>News about GNU Parallel: |
|
|
|
2911 <br /> |
|
|
|
2912 </p> |
|
|
|
2913 <ul> |
|
|
|
2914 <li>How to use GNU Parallel <a href="https://techtipbits.com/linux/how-to-use-gnu-parallel/">https://techtipbits.com/linux/how-to-use-gnu-parallel/</a> |
|
|
|
2915 </li> |
|
|
|
2916 </ul> |
|
|
|
2917 <ul> |
|
|
|
2918 <li>How to Speed Up Bash Scripts with Multithreading and GNU Parallel <a href="https://adamtheautomator.com/how-to-speed-up-bash-scripts-with-multithreading-and-gnu-parallel/">https://adamtheautomator.com/how-to-speed-up-bash-scripts-with-multithreading-and-gnu-parallel/</a> |
|
|
|
2919 </li> |
|
|
|
2920 </ul> |
|
|
|
2921 <ul> |
|
|
|
2922 <li>Use Parallel to split by line <a href="https://madflex.de/use-parallel-to-split-by-line/">https://madflex.de/use-parallel-to-split-by-line/</a> |
|
|
|
2923 </li> |
|
|
|
2924 </ul> |
|
|
|
2925 <ul> |
|
|
|
2926 <li>Optimizing long batch processes or ETL by using buff/cache properly II (parallelizing network operations) <a href="http://www.elsotanillo.net/2021/06/optimizing-long-batch-processes-or-etl-by-using-buff-cache-properly-ii-parallelizing-network-operations/">http://www.elsotanillo.net/2021/06/optimizing-long-batch-processes-or-etl-by-using-buff-cache-properly-ii-parallelizing-network-operations/</a> |
|
|
|
2927 </li> |
|
|
|
2928 </ul> |
|
|
|
2929 <ul> |
|
|
|
2930 <li>Parallelization 3: GNU Parallel <a href="https://www.youtube.com/watch?v=Rl06WD60afA">https://www.youtube.com/watch?v=Rl06WD60afA</a> |
|
|
|
2931 </li> |
|
|
|
2932 </ul> |
|
|
|
2933 |
|
|
|
2934 <p>Get the book: GNU Parallel 2018 <a href="http://www.lulu.com/shop/ole-tange/gnu-parallel-2018/paperback/product-23558902.html">http://www.lulu.com/shop/ole-tange/gnu-parallel-2018/paperback/product-23558902.html</a> |
|
|
|
2935 <br /> |
|
|
|
2936 </p> |
|
|
|
2937 <p>GNU Parallel - For people who live life in the parallel lane. |
|
|
|
2938 <br /> |
|
|
|
2939 </p> |
|
|
|
2940 <p>If you like GNU Parallel record a video testimonial: Say who you are, what you use GNU Parallel for, how it helps you, and what you like most about it. Include a command that uses GNU Parallel if you feel like it. |
|
|
|
2941 <br /> |
|
|
|
2942 </p> |
|
|
|
2943 |
|
|
|
2944 <h2>About GNU Parallel</h2> |
|
|
|
2945 |
|
|
|
2946 <p>GNU Parallel is a shell tool for executing jobs in parallel using one or more computers. A job can be a single command or a small script that has to be run for each of the lines in the input. The typical input is a list of files, a list of hosts, a list of users, a list of URLs, or a list of tables. A job can also be a command that reads from a pipe. GNU Parallel can then split the input and pipe it into commands in parallel. |
|
|
|
2947 <br /> |
|
|
|
2948 </p> |
|
|
|
2949 <p>If you use xargs and tee today you will find GNU Parallel very easy to use as GNU Parallel is written to have the same options as xargs. If you write loops in shell, you will find GNU Parallel may be able to replace most of the loops and make them run faster by running several jobs in parallel. GNU Parallel can even replace nested loops. |
|
|
|
2950 <br /> |
|
|
|
2951 </p> |
|
|
|
2952 <p>GNU Parallel makes sure output from the commands is the same output as you would get had you run the commands sequentially. This makes it possible to use output from GNU Parallel as input for other programs. |
|
|
|
2953 <br /> |
|
|
|
2954 </p> |
|
|
|
2955 <p>For example you can run this to convert all jpeg files into png and gif files and have a progress bar: |
|
|
|
2956 <br /> |
|
|
|
2957 </p> |
|
|
|
2958 <p> parallel --bar convert {1} {1.}.{2} ::: *.jpg ::: png gif |
|
|
|
2959 <br /> |
|
|
|
2960 </p> |
|
|
|
2961 <p>Or you can generate big, medium, and small thumbnails of all jpeg files in sub dirs: |
|
|
|
2962 <br /> |
|
|
|
2963 </p> |
|
|
|
2964 <p> find . -name '*.jpg' | |
|
|
|
2965 <br /> |
|
|
|
2966 parallel convert -geometry {2} {1} {1//}/thumb{2}_{1/} :::: - ::: 50 100 200 |
|
|
|
2967 <br /> |
|
|
|
2968 </p> |
|
|
|
2969 <p>You can find more about GNU Parallel at: <a href="http://www.gnu.org/s/parallel/">http://www.gnu.org/s/parallel/</a> |
|
|
|
2970 <br /> |
|
|
|
2971 </p> |
|
|
|
2972 <p>You can install GNU Parallel in just 10 seconds with: |
|
|
|
2973 <br /> |
|
|
|
2974 </p> |
|
|
|
2975 <p> $ (wget -O - pi.dk/3 || lynx -source pi.dk/3 || curl pi.dk/3/ || \ |
|
|
|
2976 <br /> |
|
|
|
2977 fetch -o - <a href="http://pi.dk/3">http://pi.dk/3</a> ) &gt; install.sh |
|
|
|
2978 <br /> |
|
|
|
2979 $ sha1sum install.sh | grep c82233e7da3166308632ac8c34f850c0 |
|
|
|
2980 <br /> |
|
|
|
2981 12345678 c82233e7 da316630 8632ac8c 34f850c0 |
|
|
|
2982 <br /> |
|
|
|
2983 $ md5sum install.sh | grep ae3d7aac5e15cf3dfc87046cfc5918d2 |
|
|
|
2984 <br /> |
|
|
|
2985 ae3d7aac 5e15cf3d fc87046c fc5918d2 |
|
|
|
2986 <br /> |
|
|
|
2987 $ sha512sum install.sh | grep dfc00d823137271a6d96225cea9e89f533ff6c81f |
|
|
|
2988 <br /> |
|
|
|
2989 9c5198d5 31a3b755 b7910ece 3a42d206 c804694d fc00d823 137271a6 d96225ce |
|
|
|
2990 <br /> |
|
|
|
2991 a9e89f53 3ff6c81f f52b298b ef9fb613 2d3f9ccd 0e2c7bd3 c35978b5 79acb5ca |
|
|
|
2992 <br /> |
|
|
|
2993 $ bash install.sh |
|
|
|
2994 <br /> |
|
|
|
2995 </p> |
|
|
|
2996 <p>Watch the intro video on <a href="http://www.youtube.com/playlist?list=PL284C9FF2488BC6D1">http://www.youtube.com/playlist?list=PL284C9FF2488BC6D1</a> |
|
|
|
2997 <br /> |
|
|
|
2998 </p> |
|
|
|
2999 <p>Walk through the tutorial (man parallel_tutorial). Your command line will love you for it. |
|
|
|
3000 <br /> |
|
|
|
3001 </p> |
|
|
|
3002 <p>When using programs that use GNU Parallel to process data for publication please cite: |
|
|
|
3003 <br /> |
|
|
|
3004 </p> |
|
|
|
3005 <p>O. Tange (2018): GNU Parallel 2018, March 2018, <a href="https://doi.org/10.5281/zenodo.1146014">https://doi.org/10.5281/zenodo.1146014</a>. |
|
|
|
3006 <br /> |
|
|
|
3007 </p> |
|
|
|
3008 <p>If you like GNU Parallel: |
|
|
|
3009 <br /> |
|
|
|
3010 </p> |
|
|
|
3011 <ul> |
|
|
|
3012 <li>Give a demo at your local user group/team/colleagues |
|
|
|
3013 </li> |
|
|
|
3014 <li>Post the intro videos on Reddit/Diaspora*/forums/blogs/ Identi.ca/Google+/Twitter/Facebook/Linkedin/mailing lists |
|
|
|
3015 </li> |
|
|
|
3016 <li>Get the merchandise <a href="https://gnuparallel.threadless.com/designs/gnu-parallel">https://gnuparallel.threadless.com/designs/gnu-parallel</a> |
|
|
|
3017 </li> |
|
|
|
3018 <li>Request or write a review for your favourite blog or magazine |
|
|
|
3019 </li> |
|
|
|
3020 <li>Request or build a package for your favourite distribution (if it is not already there) |
|
|
|
3021 </li> |
|
|
|
3022 <li>Invite me for your next conference |
|
|
|
3023 </li> |
|
|
|
3024 </ul> |
|
|
|
3025 <p>If you use programs that use GNU Parallel for research: |
|
|
|
3026 <br /> |
|
|
|
3027 </p> |
|
|
|
3028 <ul> |
|
|
|
3029 <li>Please cite GNU Parallel in you publications (use --citation) |
|
|
|
3030 </li> |
|
|
|
3031 </ul> |
|
|
|
3032 <p>If GNU Parallel saves you money: |
|
|
|
3033 <br /> |
|
|
|
3034 </p> |
|
|
|
3035 <ul> |
|
|
|
3036 <li>(Have your company) donate to FSF <a href="https://my.fsf.org/donate/">https://my.fsf.org/donate/</a> |
|
|
|
3037 </li> |
|
|
|
3038 </ul> |
|
|
|
3039 |
|
|
|
3040 <h2>About GNU SQL</h2> |
|
|
|
3041 |
|
|
|
3042 <p>GNU sql aims to give a simple, unified interface for accessing databases through all the different databases' command line clients. So far the focus has been on giving a common way to specify login information (protocol, username, password, hostname, and port number), size (database and table size), and running queries. |
|
|
|
3043 <br /> |
|
|
|
3044 </p> |
|
|
|
3045 <p>The database is addressed using a DBURL. If commands are left out you will get that database's interactive shell. |
|
|
|
3046 <br /> |
|
|
|
3047 </p> |
|
|
|
3048 <p>When using GNU SQL for a publication please cite: |
|
|
|
3049 <br /> |
|
|
|
3050 </p> |
|
|
|
3051 <p>O. Tange (2011): GNU SQL - A Command Line Tool for Accessing Different Databases Using DBURLs, ;login: The USENIX Magazine, April 2011:29-32. |
|
|
|
3052 <br /> |
|
|
|
3053 </p> |
|
|
|
3054 |
|
|
|
3055 <h2>About GNU Niceload</h2> |
|
|
|
3056 |
|
|
|
3057 <p>GNU niceload slows down a program when the computer load average (or other system activity) is above a certain limit. When the limit is reached the program will be suspended for some time. If the limit is a soft limit the program will be allowed to run for short amounts of time before being suspended again. If the limit is a hard limit the program will only be allowed to run when the system is below the limit.<br /> |
|
|
|
3058 </p></content:encoded> |
|
|
|
3059 <dc:date>2021-06-22T17:30:08+00:00</dc:date> |
|
|
|
3060 <dc:creator>Ole Tange</dc:creator> |
|
|
|
3061 </item> |
|
|
|
3062 <item rdf:about="https://taler.net/en/news/2021-07.html"> |
|
|
|
3063 <title>GNU Taler news: Comment émettre une monnaie numérique de banque centrale</title> |
|
|
|
3064 <link>https://taler.net/en/news/2021-07.html</link> |
|
|
|
3065 <content:encoded><article> |
|
|
|
3066 Nous sommes heureux de vous annoncer la publication de notre article sur "Comment émettre une monnaie numérique de banque centrale" par le Banque nationale suisse. |
|
|
|
3067 </article></content:encoded> |
|
|
|
3068 <dc:date>2021-06-21T22:00:00+00:00</dc:date> |
|
|
|
3069 <dc:creator>GNU Taler news</dc:creator> |
|
|
|
3070 </item> |
|
|
|
3071 <item rdf:about="https://guix.gnu.org/blog/2021/substitutes-now-also-available-from-bordeauxguixgnuorg/"> |
|
|
|
3072 <title>GNU Guix: Substitutes now also available from bordeaux.guix.gnu.org</title> |
|
|
|
3073 <link>https://guix.gnu.org/blog/2021/substitutes-now-also-available-from-bordeauxguixgnuorg/</link> |
|
|
|
3074 <content:encoded><p>There have been a number of different project operated sources of |
|
|
|
3075 substitutes, for the last couple of years the default source of |
|
|
|
3076 substitutes has been <a href="https://ci.guix.gnu.org">ci.guix.gnu.org</a> (with a few |
|
|
|
3077 different URLs).</p><p>Now, in addition to <a href="https://ci.guix.gnu.org">ci.guix.gnu.org</a>, |
|
|
|
3078 <a href="https://bordeaux.guix.gnu.org">bordeaux.guix.gnu.org</a> is a default substitute |
|
|
|
3079 server.</p><p>Put that way, this development maybe doesn't sound particularly |
|
|
|
3080 interesting. Why is a second substitute server useful? There's some |
|
|
|
3081 thoughts on that exact question in the next section. If you're just |
|
|
|
3082 interested in how to use (or how not to use) substitutes from |
|
|
|
3083 <a href="https://bordeaux.guix.gnu.org">bordeaux.guix.gnu.org</a>, then you can just skip |
|
|
|
3084 ahead to the last section.</p><h1>Why a second source of substitutes?</h1><p>This change is an important milestone, following on from the work that |
|
|
|
3085 started on the <a href="https://guix.gnu.org/en/blog/2021/building-derivations-how-complicated-can-it-be/">Guix Build Coordinator towards the start of |
|
|
|
3086 2020</a>.</p><p>Back in 2020, the substitute availability from |
|
|
|
3087 <a href="https://ci.guix.gnu.org">ci.guix.gnu.org</a> was often an issue. There seemed |
|
|
|
3088 to be a number of contributing factors, including some parts of the |
|
|
|
3089 architecture. Without going too much in to the details of the issues, |
|
|
|
3090 aspects of the design of the Guix Build Coordinator were specifically |
|
|
|
3091 meant to avoid some of these issues.</p><p>While there were some very positive results from testing back in 2020, |
|
|
|
3092 it's taken so long to bring the substitute availability benefits to |
|
|
|
3093 general users of Guix that <a href="https://ci.guix.gnu.org">ci.guix.gnu.org</a> has |
|
|
|
3094 <a href="https://guix.gnu.org/en/blog/2021/cuirass-10-released/">changed and improved significantly in the meantime</a>. |
|
|
|
3095 This means that any benefits in terms of substitute availability are |
|
|
|
3096 less significant now.</p><p>One clearer benefit of just having two independent sources of |
|
|
|
3097 substitutes is redundancy. While the availability of |
|
|
|
3098 <a href="https://ci.guix.gnu.org">ci.guix.gnu.org</a> has been very high (in my opinion), |
|
|
|
3099 having a second independent substitute server should mean that if |
|
|
|
3100 there's a future issue with users accessing either source of |
|
|
|
3101 substitutes, the disruption should be reduced.</p><p>I'm also excited about the new possibilities offered by having a |
|
|
|
3102 second substitute server, particularly one using the Guix Build |
|
|
|
3103 Coordinator to manage the builds.</p><p>Substitutes for the Hurd is already something that's <a href="https://lists.gnu.org/archive/html/guix-devel/2021-03/msg00074.html">been |
|
|
|
3104 prototyped</a>, so I'm hopeful that |
|
|
|
3105 <a href="https://bordeaux.guix.gnu.org">bordeaux.guix.gnu.org</a> can start using |
|
|
|
3106 <a href="https://guix.gnu.org/en/blog/2020/childhurds-and-substitutes/">childhurd VMs</a> to build things soon.</p><p>Looking a bit further forward, I think there's some benefits to be had |
|
|
|
3107 in doing further work on how the nar and narinfo files used for |
|
|
|
3108 substitutes are managed. There are some <a href="https://lists.gnu.org/archive/html/guix-devel/2021-02/msg00104.html">rough plans |
|
|
|
3109 already</a> on how to address the |
|
|
|
3110 retention of nars, and how to look at high performance mirrors.</p><p>Having two substitute servers is one step towards stronger trust |
|
|
|
3111 policies for substitutes (<a href="https://lists.gnu.org/archive/html/guix-devel/2020-06/msg00179.html">as discussed on guix-devel</a>, |
|
|
|
3112 where you would only use a substitute if both |
|
|
|
3113 <a href="https://ci.guix.gnu.org">ci.guix.gnu.org</a> and |
|
|
|
3114 <a href="https://bordeaux.guix.gnu.org">bordeaux.guix.gnu.org</a> have built it exactly |
|
|
|
3115 the same. This would help protect against the compromise of a single |
|
|
|
3116 substitute server.</p><h1>Using substitutes from bordeaux.guix.gnu.org</h1><p>If you're using Guix System, and haven't altered the default |
|
|
|
3117 substitute configuration, updating guix (via <code>guix pull</code>), |
|
|
|
3118 reconfiguring using the updated guix, and then restarting the |
|
|
|
3119 guix-daemon should enable substitutes from |
|
|
|
3120 <a href="https://bordeaux.guix.gnu.org">bordeaux.guix.gnu.org</a>.</p><p>If the ACL is being managed manually, you might need to add the public |
|
|
|
3121 key for <a href="https://bordeaux.guix.gnu.org">bordeaux.guix.gnu.org</a> manually as |
|
|
|
3122 well.</p><p>When using Guix on a foreign distribution with the default substitute |
|
|
|
3123 configuration, you'll need to run <code>guix pull</code> as root, then restart |
|
|
|
3124 the guix-daemon. You'll then need to add the public key for |
|
|
|
3125 <a href="https://bordeaux.guix.gnu.org">bordeaux.guix.gnu.org</a> to the ACL.</p><pre><code class="language-sh">guix archive --authorize &lt; /root/.config/guix/current/share/guix/bordeaux.guix.gnu.org.pub</code></pre><p>If you want to just use <a href="https://ci.guix.gnu.org">ci.guix.gnu.org</a>, or |
|
|
|
3126 <a href="https://bordeaux.guix.gnu.org">bordeaux.guix.gnu.org</a> for that matter, you'll |
|
|
|
3127 need to adjust the substitute urls configuration for the guix-daemon |
|
|
|
3128 to just refer to the substitute servers you want to use.</p></content:encoded> |
|
|
|
3129 <dc:date>2021-06-18T12:00:00+00:00</dc:date> |
|
|
|
3130 <dc:creator>Christopher Baines</dc:creator> |
|
|
|
3131 </item> |
|
|
|
3132 <item rdf:about="http://savannah.gnu.org/forum/forum.php?forum_id=10011"> |
|
|
|
3133 <title>gdbm @ Savannah: Version 1.20</title> |
|
|
|
3134 <link>http://savannah.gnu.org/forum/forum.php?forum_id=10011</link> |
|
|
|
3135 <content:encoded><p><a href="https://ftp.gnu.org/gnu/gdbm/gdbm-1.20.tar.gz">Version 1.20</a> is available for download. |
|
|
|
3136 <br /> |
|
|
|
3137 </p> |
|
|
|
3138 <p>Changes in this version: |
|
|
|
3139 <br /> |
|
|
|
3140 </p> |
|
|
|
3141 <h3>New bucket cache</h3> |
|
|
|
3142 |
|
|
|
3143 <p>The bucket cache support has been rewritten from scratch. The new code provides for significant speed up of search operations. |
|
|
|
3144 <br /> |
|
|
|
3145 </p> |
|
|
|
3146 <h3>Change in the mmap prereading strategy</h3> |
|
|
|
3147 |
|
|
|
3148 <p>Pre-reading of the memory mapper regions, introduced in version 1.19 can be advantageous only when doing intensive look-ups on a read-only |
|
|
|
3149 <br /> |
|
|
|
3150 database. It degrades performance otherwise, especially if doing multiple inserts. Therefore, this version introduces a new flag |
|
|
|
3151 <br /> |
|
|
|
3152 to gdbm_open: GDBM_PREREAD. When given, it enables pre-reading of memory mapped regions. (<a href="https://github.com/Perl/perl5/issues/18884">details</a>)<br /> |
|
|
|
3153 </p></content:encoded> |
|
|
|
3154 <dc:date>2021-06-17T11:07:51+00:00</dc:date> |
|
|
|
3155 <dc:creator>Sergey Poznyakoff</dc:creator> |
|
|
|
3156 </item> |
|
|
|
3157 <item rdf:about="https://taler.net/en/news/2021-06.html"> |
|
|
|
3158 <title>GNU Taler news: How to issue a privacy-preserving central bank digital currency</title> |
|
|
|
3159 <link>https://taler.net/en/news/2021-06.html</link> |
|
|
|
3160 <content:encoded><article> |
|
|
|
3161 We are happy to announce the publication of our policy brief on"How to issue a privacy-preserving central bank digital currency" by The European Money and Finance Forum. |
|
|
|
3162 </article></content:encoded> |
|
|
|
3163 <dc:date>2021-06-16T22:00:00+00:00</dc:date> |
|
|
|
3164 <dc:creator>GNU Taler news</dc:creator> |
|
|
|
3165 </item> |
|
|
|
3166 <item rdf:about="https://guix.gnu.org/blog/2021/reproducible-data-processing-pipelines/"> |
|
|
|
3167 <title>GNU Guix: Reproducible data processing pipelines</title> |
|
|
|
3168 <link>https://guix.gnu.org/blog/2021/reproducible-data-processing-pipelines/</link> |
|
|
|
3169 <content:encoded><p>Last week, <a href="https://hpc.guix.info">we at Guix-HPC</a> published <a href="https://hpc.guix.info/events/2021/atelier-reproductibilit%C3%A9-environnements/">videos of |
|
|
|
3170 a workshop on reproducible software |
|
|
|
3171 environments</a> |
|
|
|
3172 we organized on-line. The videos are well worth watching—especially if |
|
|
|
3173 you’re into reproducible research, and especially if you speak French or |
|
|
|
3174 want to practice. This post, though, is more of a meta-post: it’s about |
|
|
|
3175 how we processed these videos. “A workshop on reproducibility <em>ought to |
|
|
|
3176 have</em> a reproducible video pipeline”, we thought. So this is what we |
|
|
|
3177 <a href="https://gitlab.inria.fr/guix-hpc/website/-/blob/master/doc/atelier-reproductibilit%C3%A9/render-videos.scm">did</a>!</p><h1>From BigBlueButton to WebM</h1><p>Over the last year and half, perhaps you had the “opportunity” to |
|
|
|
3178 participate in an on-line conference, or even to organize one. If so, |
|
|
|
3179 chances are that you already know |
|
|
|
3180 <a href="https://bigbluebutton.org/">BigBlueButton</a> (BBB), the free software |
|
|
|
3181 video conferencing suite initially designed for on-line teaching. In a |
|
|
|
3182 nutshell, it allows participants to chat (audio, video, and keyboard), |
|
|
|
3183 and speakers can share their screen or a PDF slide deck. Organizers can |
|
|
|
3184 also record the session.</p><p>BBB then creates a link to recorded sessions with a custom JavaScript |
|
|
|
3185 player that replays everything: typed chat, audio and video (webcams), |
|
|
|
3186 shared screens, and slide decks. This BBB replay a bit too rough though |
|
|
|
3187 and often not the thing you’d like to publish after the conference. |
|
|
|
3188 Instead, you’d rather do a bit of editing: adjusting the start and end |
|
|
|
3189 time of each talk, removing live chat from what’s displayed (which |
|
|
|
3190 allows you to remove info that personally identifies participants, |
|
|
|
3191 too!), and so forth. Turns out this kind of post-processing is a bit of |
|
|
|
3192 work, primarily because BBB does “the right thing” of recording each |
|
|
|
3193 stream separately, in the most appropriate form: webcam and screen |
|
|
|
3194 shares are recorded as separate videos, chat is recorded as text with |
|
|
|
3195 timings, slide decks is recorded as a bunch of PNGs plus timings, and |
|
|
|
3196 then there’s a bunch of XML files with metadata putting it all together.</p><p>Anyway, with a bit of searching, we quickly found the handy |
|
|
|
3197 <a href="https://github.com/plugorgau/bbb-render">bbb-render</a> tool, which can |
|
|
|
3198 first |
|
|
|
3199 <a href="https://github.com/plugorgau/bbb-render/blob/master/download.py">download</a> |
|
|
|
3200 all these files and then |
|
|
|
3201 <a href="https://github.com/plugorgau/bbb-render/blob/master/make-xges.py">assemble</a> |
|
|
|
3202 them using the Python interface to the <a href="https://gstreamer.freedesktop.org/documentation/gst-editing-services/index.html">GStreamer Editing Services |
|
|
|
3203 (GES)</a>. |
|
|
|
3204 Good thing: we don’t have to figure out all these things; we “just” have |
|
|
|
3205 to run these two scripts in an environment with the right dependencies. |
|
|
|
3206 And guess what: we know of a great tool to control execution |
|
|
|
3207 environments!</p><h1>A “deployment-aware Makefile”</h1><p>So we have a process that takes input files—those PNGs, videos, and XML |
|
|
|
3208 files—and produces output files—WebM video files. As developers we |
|
|
|
3209 immediately recognize a pattern and the timeless tool to deal with it: |
|
|
|
3210 <a href="https://www.gnu.org/software/make"><code>make</code></a>. The web already seems to |
|
|
|
3211 contain countless BBB post-processing makefiles (and shell scripts, |
|
|
|
3212 too). We were going to contribute to this while we suddenly realized |
|
|
|
3213 that we know of <em>another</em> great tool to express such processes: Guix! |
|
|
|
3214 Bonus: while a makefile would address just the tip of the |
|
|
|
3215 iceberg—running bbb-render—Guix can also take care of the tedious task |
|
|
|
3216 of deploying the <em>right</em> environment to run bbb-render in.</p><p>What we did was to write some sort of a <em>deployment-aware makefile</em>. |
|
|
|
3217 It’s still a relatively unconventional way to use Guix, but one that’s |
|
|
|
3218 very convenient. We’re talking about videos, but really, you could use |
|
|
|
3219 the same approach for any kind of processing graph where you’d be |
|
|
|
3220 tempted to just use <code>make</code>.</p><p>The end result here is a <a href="https://gitlab.inria.fr/guix-hpc/website/-/blob/6977da4618814c790e767618da5cf9ec2cab0742/doc/atelier-reproductibilit%C3%A9/render-videos.scm">Guix |
|
|
|
3221 file</a> |
|
|
|
3222 that returns a <em>manifest</em>—a list of videos to “build”. You can build |
|
|
|
3223 the videos with:</p><pre><code>guix build -m render-videos.scm</code></pre><p>Overall, the file defines a bunch of functions (<em>procedures</em> in |
|
|
|
3224 traditional Scheme parlance), each of which takes input files and |
|
|
|
3225 produces output files. More accurately, these functions returns objects |
|
|
|
3226 that <em>describe</em> how to build their output from the input files—similar |
|
|
|
3227 to how a <a href="https://www.gnu.org/software/make/manual/html_node/Rule-Introduction.html">makefile |
|
|
|
3228 rule</a> |
|
|
|
3229 describes how to build its target(s) from its prerequisite(s). (The |
|
|
|
3230 reader familiar with functional programming may recognize a monad here, |
|
|
|
3231 and indeed, those build descriptions can be thought of as monadic values |
|
|
|
3232 in a hypothetical “Guix build” monad; technically though, they’re |
|
|
|
3233 regular Scheme values.)</p><p>Let’s take a guided tour of this 300-line file.</p><h1>Rendering</h1><p>The <a href="https://gitlab.inria.fr/guix-hpc/website/-/blob/6977da4618814c790e767618da5cf9ec2cab0742/doc/atelier-reproductibilit%C3%A9/render-videos.scm#L23-75">first |
|
|
|
3234 step</a> |
|
|
|
3235 in this file describes where bbb-render can be found and how to run it |
|
|
|
3236 to produce a GES “project” file, which we’ll use later to render the |
|
|
|
3237 video:</p><pre><code class="language-scheme">(define bbb-render |
|
|
|
3238 (origin |
|
|
|
3239 (method git-fetch) |
|
|
|
3240 (uri (git-reference (url "https://github.com/plugorgau/bbb-render") |
|
|
|
3241 (commit "a3c10518aedc1bd9e2b71a4af54903adf1d972e5"))) |
|
|
|
3242 (file-name "bbb-render-checkout") |
|
|
|
3243 (sha256 |
|
|
|
3244 (base32 "1sf99xp334aa0qgp99byvh8k39kc88al8l2wy77zx7fyvknxjy98")))) |
|
|
|
3245 |
|
|
|
3246 (define rendering-profile |
|
|
|
3247 (profile |
|
|
|
3248 (content (specifications-&gt;manifest |
|
|
|
3249 '("gstreamer" "gst-editing-services" "gobject-introspection" |
|
|
|
3250 "gst-plugins-base" "gst-plugins-good" |
|
|
|
3251 "python-wrapper" "python-pygobject" "python-intervaltree"))))) |
|
|
|
3252 |
|
|
|
3253 (define* (video-ges-project bbb-data start end |
|
|
|
3254 #:key (webcam-size 25)) |
|
|
|
3255 "Return a GStreamer Editing Services (GES) project for the video, |
|
|
|
3256 starting at START seconds and ending at END seconds. BBB-DATA is the raw |
|
|
|
3257 BigBlueButton directory as fetched by bbb-render's 'download.py' script. |
|
|
|
3258 WEBCAM-SIZE is the percentage of the screen occupied by the webcam." |
|
|
|
3259 (computed-file "video.ges" |
|
|
|
3260 (with-extensions (list (specification-&gt;package "guile-gcrypt")) |
|
|
|
3261 (with-imported-modules (source-module-closure |
|
|
|
3262 '((guix build utils) |
|
|
|
3263 (guix profiles))) |
|
|
|
3264 #~(begin |
|
|
|
3265 (use-modules (guix build utils) (guix profiles) |
|
|
|
3266 (guix search-paths) (ice-9 match)) |
|
|
|
3267 |
|
|
|
3268 (define search-paths |
|
|
|
3269 (profile-search-paths #+rendering-profile)) |
|
|
|
3270 |
|
|
|
3271 (for-each (match-lambda |
|
|
|
3272 ((spec . value) |
|
|
|
3273 (setenv |
|
|
|
3274 (search-path-specification-variable |
|
|
|
3275 spec) |
|
|
|
3276 value))) |
|
|
|
3277 search-paths) |
|
|
|
3278 |
|
|
|
3279 (invoke "python" |
|
|
|
3280 #+(file-append bbb-render "/make-xges.py") |
|
|
|
3281 #+bbb-data #$output |
|
|
|
3282 "--start" #$(number-&gt;string start) |
|
|
|
3283 "--end" #$(number-&gt;string end) |
|
|
|
3284 "--webcam-size" |
|
|
|
3285 #$(number-&gt;string webcam-size)))))))</code></pre><p>First it defines the source code location of bbb-render as an |
|
|
|
3286 <a href="https://guix.gnu.org/manual/en/html_node/origin-Reference.html">“origin”</a>. |
|
|
|
3287 Second, it defines <code>rendering-profile</code> as a |
|
|
|
3288 <a href="https://guix.gnu.org/manual/en/html_node/Getting-Started.html#index-profile">“profile”</a> |
|
|
|
3289 containing all the packages needed to run bbb-render’s <code>make-xges.py</code> |
|
|
|
3290 script. The <code>specification-&gt;manifest</code> procedure creates a <em>manifest</em> |
|
|
|
3291 from a set of packages specs, and likewise <code>specification-&gt;package</code> |
|
|
|
3292 returns the package that matches a given spec. You can try these things at |
|
|
|
3293 the <a href="https://guix.gnu.org/manual/en/html_node/Invoking-guix-repl.html"><code>guix repl</code></a> |
|
|
|
3294 prompt:</p><pre><code>$ guix repl |
|
|
|
3295 GNU Guile 3.0.7 |
|
|
|
3296 Copyright (C) 1995-2021 Free Software Foundation, Inc. |
|
|
|
3297 |
|
|
|
3298 Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'. |
|
|
|
3299 This program is free software, and you are welcome to redistribute it |
|
|
|
3300 under certain conditions; type `,show c' for details. |
|
|
|
3301 |
|
|
|
3302 Enter `,help' for help. |
|
|
|
3303 scheme@(guix-user)&gt; ,use(guix profiles) |
|
|
|
3304 scheme@(guix-user)&gt; ,use(gnu) |
|
|
|
3305 scheme@(guix-user)&gt; (specification-&gt;package "guile@2.0") |
|
|
|
3306 $1 = #&lt;package guile@2.0.14 gnu/packages/guile.scm:139 7f416be776e0&gt; |
|
|
|
3307 scheme@(guix-user)&gt; (specifications-&gt;manifest '("guile" "gstreamer" "python")) |
|
|
|
3308 $2 = #&lt;&lt;manifest&gt; entries: (#&lt;&lt;manifest-entry&gt; name: "guile" version: "3.0.7" …&gt; #&lt;&lt;manifest-entry&gt; name: "gstreamer" version: "1.18.2" …&gt; …)</code></pre><p>Last, it defines <code>video-ges-project</code> as a function that takes the BBB |
|
|
|
3309 raw data, a start and end time, and produces a <code>video.ges</code> file. There |
|
|
|
3310 are three key elements here:</p><ol><li><a href="https://guix.gnu.org/manual/en/html_node/G_002dExpressions.html#index-computed_002dfile"><code>computed-file</code></a> |
|
|
|
3311 is a function to produce a file, <code>video.ges</code> in this case, by |
|
|
|
3312 running the code you give it as its second argument—the <em>recipe</em>, |
|
|
|
3313 in makefile terms.</li><li>The recipe passed to <code>computed-file</code> is a |
|
|
|
3314 <a href="https://guix.gnu.org/manual/en/html_node/G_002dExpressions.html"><em>G-expression</em></a> |
|
|
|
3315 (or “gexp”), introduced by this fancy <code>#~</code> (hash tilde) notation. |
|
|
|
3316 G-expressions are a way to <em>stage</em> code, to mark it for eventual |
|
|
|
3317 execution. Indeed, that code will only be executed if and when we |
|
|
|
3318 run <code>guix build</code> (without <code>--dry-run</code>), and only if the result is |
|
|
|
3319 not already in <a href="https://guix.gnu.org/manual/en/html_node/The-Store.html">the |
|
|
|
3320 store</a>.</li><li>The gexp refers to <code>rendering-profile</code>, to <code>bbb-render</code>, to |
|
|
|
3321 <code>bbb-data</code> and so on by <em>escaping</em> with the <code>#+</code> or <code>#$</code> syntax |
|
|
|
3322 (they’re equivalent, unless doing cross-compilation). During |
|
|
|
3323 build, these reference items in the store, such as |
|
|
|
3324 <code>/gnu/store/…-bbb-render</code>, which is itself the result of “building” |
|
|
|
3325 the origin we’ve seen above. The <code>#$output</code> reference corresponds |
|
|
|
3326 to the build result of this <code>computed-file</code>, the complete file name |
|
|
|
3327 of <code>video.ges</code> under <code>/gnu/store</code>.</li></ol><p>That’s quite a lot already! Of course, this real-world example is |
|
|
|
3328 more intimidating than the toy examples you’d find in the manual, but |
|
|
|
3329 really, pretty much everything’s there. Let’s see in more detail at |
|
|
|
3330 what’s inside this gexp.</p><p>The gexp first imports a bunch of helper modules with <a href="https://guix.gnu.org/manual/en/html_node/Build-Utilities.html">build |
|
|
|
3331 utilities</a> |
|
|
|
3332 and tools to manipulate profiles and search path environment variables. |
|
|
|
3333 The <code>for-each</code> call iterates over search path environment |
|
|
|
3334 variables—<code>PATH</code>, <code>PYTHONPATH</code>, and so on—, setting them so that the |
|
|
|
3335 <code>python</code> command is found and so that the needed Python modules are |
|
|
|
3336 found.</p><p>The <code>with-imported-modules</code> form above indicates that the <code>(guix build utils)</code> and <code>(guix profiles)</code> modules, which are part of Guix, along |
|
|
|
3337 with their dependencies (their <em>closure</em>), need to be imported in the |
|
|
|
3338 build environment. What about <code>with-extensions</code>? Those <code>(guix …)</code> |
|
|
|
3339 module indirectly depend on additional modules, provided by the |
|
|
|
3340 <code>guile-gcrypt</code> package, hence this spec.</p><p>Next comes the |
|
|
|
3341 <a href="https://gitlab.inria.fr/guix-hpc/website/-/blob/6977da4618814c790e767618da5cf9ec2cab0742/doc/atelier-reproductibilit%C3%A9/render-videos.scm#L77-106"><code>ges-&gt;webm</code></a> |
|
|
|
3342 function which, as the name implies, takes a <code>.ges</code> file and produces a |
|
|
|
3343 WebM video file by invoking <code>ges-launch-1.0</code>. The end result is a video |
|
|
|
3344 containing the recording’s audio, the webcam and screen share (or slide |
|
|
|
3345 deck), but not the chat.</p><h1>Opening and closing</h1><p>We have a WebM video, so we’re pretty much done, right? But… we’d also |
|
|
|
3346 like to have an opening, showing the talk title and the speaker’s name, |
|
|
|
3347 as well as a closing. How do we get that done?</p><p>Perhaps a bit of a sledgehammer, but it turns out that we chose to |
|
|
|
3348 produce those still images with LaTeX/Beamer, from |
|
|
|
3349 <a href="https://gitlab.inria.fr/guix-hpc/website/-/blob/6977da4618814c790e767618da5cf9ec2cab0742/doc/atelier-reproductibilit%C3%A9/opening.tex">these</a> |
|
|
|
3350 <a href="https://gitlab.inria.fr/guix-hpc/website/-/blob/6977da4618814c790e767618da5cf9ec2cab0742/doc/atelier-reproductibilit%C3%A9/closing.tex">templates</a>.</p><p>We need again several processing steps:</p><ol><li>We first define the |
|
|
|
3351 <a href="https://gitlab.inria.fr/guix-hpc/website/-/blob/6977da4618814c790e767618da5cf9ec2cab0742/doc/atelier-reproductibilit%C3%A9/render-videos.scm#L140-166"><code>latex-&gt;pdf</code></a> |
|
|
|
3352 function that takes a template <code>.tex</code> file, a speaker name and |
|
|
|
3353 title. It copies the template, replaces placeholders with the |
|
|
|
3354 speaker name and title, and runs <code>pdflatex</code> to produce the PDF.</li><li>The |
|
|
|
3355 <a href="https://gitlab.inria.fr/guix-hpc/website/-/blob/6977da4618814c790e767618da5cf9ec2cab0742/doc/atelier-reproductibilit%C3%A9/render-videos.scm#L168-175"><code>pdf-&gt;bitmap</code></a> |
|
|
|
3356 function takes a PDF and returns a suitably-sized JPEG.</li><li><a href="https://gitlab.inria.fr/guix-hpc/website/-/blob/6977da4618814c790e767618da5cf9ec2cab0742/doc/atelier-reproductibilit%C3%A9/render-videos.scm#L177-200"><code>image-&gt;webm</code></a> |
|
|
|
3357 takes that JPEG and invokes <code>ffmpeg</code> to render it as WebM, with the |
|
|
|
3358 right resolution, frame rate, and audio track.</li></ol><p>With that in place, we define a sweet and small function that produces |
|
|
|
3359 the opening WebM file for a given talk:</p><pre><code class="language-scheme">(define (opening title speaker) |
|
|
|
3360 (image-&gt;webm |
|
|
|
3361 (pdf-&gt;bitmap (latex-&gt;pdf (local-file "opening.tex") "opening.pdf" |
|
|
|
3362 #:title title #:speaker speaker) |
|
|
|
3363 "opening.jpg") |
|
|
|
3364 "opening.webm" #:duration 5))</code></pre><p>We need one last function, |
|
|
|
3365 <a href="https://gitlab.inria.fr/guix-hpc/website/-/blob/6977da4618814c790e767618da5cf9ec2cab0742/doc/atelier-reproductibilit%C3%A9/render-videos.scm#L216-236"><code>video-with-opening/closing</code></a>, |
|
|
|
3366 that given a talk, an opening, and a closing, concatenates them by |
|
|
|
3367 invoking <code>ffmpeg</code>.</p><h1>Putting it all together</h1><p>Now we have all the building blocks!</p><p>We use |
|
|
|
3368 <a href="https://guix.gnu.org/manual/en/html_node/G_002dExpressions.html#index-local_002dfile"><code>local-file</code></a> |
|
|
|
3369 to refer to the raw BBB data, taken from disk:</p><pre><code class="language-scheme">(define raw-bbb-data/monday |
|
|
|
3370 ;; The raw BigBlueButton data as returned by './download.py URL', where |
|
|
|
3371 ;; 'download.py' is part of bbb-render. |
|
|
|
3372 (local-file "bbb-video-data.monday" "bbb-video-data" |
|
|
|
3373 #:recursive? #t)) |
|
|
|
3374 |
|
|
|
3375 (define raw-bbb-data/tuesday |
|
|
|
3376 (local-file "bbb-video-data.tuesday" "bbb-video-data" |
|
|
|
3377 #:recursive? #t))</code></pre><p>No, the raw data is not in the Git repository (it’s too big and contains |
|
|
|
3378 personally-identifying information about participants), so this assumes |
|
|
|
3379 that there’s a <code>bbb-video-data.monday</code> and a <code>bbb-video-data.tuesday</code> in |
|
|
|
3380 the same directory as <code>render-videos.scm</code>.</p><p>For good measure, we define a |
|
|
|
3381 <a href="https://gitlab.inria.fr/guix-hpc/website/-/blob/6977da4618814c790e767618da5cf9ec2cab0742/doc/atelier-reproductibilit%C3%A9/render-videos.scm#L243-251"><code>&lt;talk&gt;</code></a> |
|
|
|
3382 data type:</p><pre><code class="language-scheme">(define-record-type &lt;talk&gt; |
|
|
|
3383 (talk title speaker start end cam-size data) |
|
|
|
3384 talk? |
|
|
|
3385 (title talk-title) |
|
|
|
3386 (speaker talk-speaker) |
|
|
|
3387 (start talk-start) ;start time in seconds |
|
|
|
3388 (end talk-end) ;end time |
|
|
|
3389 (cam-size talk-webcam-size) ;percentage used for the webcam |
|
|
|
3390 (data talk-bbb-data)) ;BigBlueButton data</code></pre><p>… such that we can easily <a href="https://gitlab.inria.fr/guix-hpc/website/-/blob/6977da4618814c790e767618da5cf9ec2cab0742/doc/atelier-reproductibilit%C3%A9/render-videos.scm#L263-288">define |
|
|
|
3391 talks</a>, |
|
|
|
3392 along with |
|
|
|
3393 <a href="https://gitlab.inria.fr/guix-hpc/website/-/blob/6977da4618814c790e767618da5cf9ec2cab0742/doc/atelier-reproductibilit%C3%A9/render-videos.scm#L297-311"><code>talk-&gt;video</code></a>, |
|
|
|
3394 which takes a talk and return a complete, final video:</p><pre><code class="language-scheme">(define (talk-&gt;video talk) |
|
|
|
3395 "Given a talk, return a complete video, with opening and closing." |
|
|
|
3396 (define file-name |
|
|
|
3397 (string-append (canonicalize-string (talk-speaker talk)) |
|
|
|
3398 ".webm")) |
|
|
|
3399 |
|
|
|
3400 (let ((raw (ges-&gt;webm (video-ges-project (talk-bbb-data talk) |
|
|
|
3401 (talk-start talk) |
|
|
|
3402 (talk-end talk) |
|
|
|
3403 #:webcam-size |
|
|
|
3404 (talk-webcam-size talk)) |
|
|
|
3405 file-name)) |
|
|
|
3406 (opening (opening (talk-title talk) (talk-speaker talk)))) |
|
|
|
3407 (video-with-opening/closing file-name raw |
|
|
|
3408 opening closing.webm)))</code></pre><p>The <a href="https://gitlab.inria.fr/guix-hpc/website/-/blob/6977da4618814c790e767618da5cf9ec2cab0742/doc/atelier-reproductibilit%C3%A9/render-videos.scm#L313-319">very last |
|
|
|
3409 bit</a> |
|
|
|
3410 iterates over the talks and returns a manifest containing all the final |
|
|
|
3411 videos. Now we can build the ready-to-be-published videos, all at once:</p><pre><code>$ guix build -m render-videos.scm |
|
|
|
3412 [… time passes…] |
|
|
|
3413 /gnu/store/…-emmanuel-agullo.webm |
|
|
|
3414 /gnu/store/…-francois-rue.webm |
|
|
|
3415 …</code></pre><p><a href="https://hpc.guix.info/events/2021/atelier-reproductibilité-environnements/">Voilà!</a></p><p><img alt="Image of an old TV screen showing a video opening." src="https://guix.gnu.org/static/blog/img/2021-video-tv-screen.png" /></p><h1>Why all the fuss?</h1><p>OK, maybe you’re thinking “this is just another hackish script to fiddle |
|
|
|
3416 with videos”, and that’s right! It’s also worth mentioning another |
|
|
|
3417 approach: <a href="https://lang.video/">Racket’s video language</a>, which is |
|
|
|
3418 designed to manipulate video abstractions, similar to GES but with a |
|
|
|
3419 sweet high-level functional interface.</p><p>But look, this one’s different: it’s |
|
|
|
3420 self-contained, it’s reproducible, and it has the right abstraction |
|
|
|
3421 level. Self-contained is a big thing; it means you can run it and it |
|
|
|
3422 knows what software to deploy, what environment variables to set, and so |
|
|
|
3423 on, for each step of the pipeline. Granted, it could be simplified with |
|
|
|
3424 appropriate high-level interfaces in Guix. But remember: the |
|
|
|
3425 alternative is a makefile (“deployment-unaware”) completed by a <code>README</code> |
|
|
|
3426 file giving a vague idea of the dependencies needed. The reproducible |
|
|
|
3427 bit is pretty nice too (especially for a workshop <em>on</em> reproducibility). |
|
|
|
3428 It also means there’s caching: videos or intermediate byproducts already |
|
|
|
3429 in the store don’t need to be recomputed. Last, we have access to a |
|
|
|
3430 general-purpose programming language where we can <em>build abstractions</em>, |
|
|
|
3431 such as the <code>&lt;talk&gt;</code> data type, that makes the whole thing more pleasant |
|
|
|
3432 to work with and more maintainable.</p><p>Hopefully that’ll inspire you to have a reproducible video pipeline for |
|
|
|
3433 your next on-line event, or maybe that’ll inspire you to replace your |
|
|
|
3434 old makefile and shelly habits for data processing!</p><p>High-performance computing (HPC) people might be wondering how to go |
|
|
|
3435 from here and build “computing-resource-aware” or |
|
|
|
3436 “storage-resource-aware” pipelines where each computing step could be |
|
|
|
3437 submitted to the job scheduler of an HPC cluster and use distributed |
|
|
|
3438 file systems for intermediate results rather than <code>/gnu/store</code>. If |
|
|
|
3439 you’re one of these folks, do take a look at how the <a href="https://guixwl.org/">Guix Workflow |
|
|
|
3440 Language</a> addresses these issues.</p><h1>Acknowledgments</h1><p>Thanks to Konrad Hinsen for valuable feedback on an earlier draft.</p><h4>About GNU Guix</h4><p><a href="https://guix.gnu.org">GNU Guix</a> is a transactional package manager and |
|
|
|
3441 an advanced distribution of the GNU system that <a href="https://www.gnu.org/distros/free-system-distribution-guidelines.html">respects user |
|
|
|
3442 freedom</a>. |
|
|
|
3443 Guix can be used on top of any system running the Hurd or the Linux |
|
|
|
3444 kernel, or it can be used as a standalone operating system distribution |
|
|
|
3445 for i686, x86_64, ARMv7, AArch64 and POWER9 machines.</p><p>In addition to standard package management features, Guix supports |
|
|
|
3446 transactional upgrades and roll-backs, unprivileged package management, |
|
|
|
3447 per-user profiles, and garbage collection. When used as a standalone |
|
|
|
3448 GNU/Linux distribution, Guix offers a declarative, stateless approach to |
|
|
|
3449 operating system configuration management. Guix is highly customizable |
|
|
|
3450 and hackable through <a href="https://www.gnu.org/software/guile">Guile</a> |
|
|
|
3451 programming interfaces and extensions to the |
|
|
|
3452 <a href="http://schemers.org">Scheme</a> language.</p></content:encoded> |
|
|
|
3453 <dc:date>2021-06-11T17:00:00+00:00</dc:date> |
|
|
|
3454 <dc:creator>Ludovic Courtès</dc:creator> |
|
|
|
3455 </item> |
|
|
|
3456 <item rdf:about="http://savannah.gnu.org/forum/forum.php?forum_id=10008"> |
|
|
|
3457 <title>www-zh-cn @ Savannah: Welcome our new member - jiderlesi</title> |
|
|
|
3458 <link>http://savannah.gnu.org/forum/forum.php?forum_id=10008</link> |
|
|
|
3459 <content:encoded><p>Dear www-zh-cn-translators: |
|
|
|
3460 <br /> |
|
|
|
3461 </p> |
|
|
|
3462 <p>It's a good time to welcome our new member: |
|
|
|
3463 <br /> |
|
|
|
3464 </p> |
|
|
|
3465 <p>User Details: |
|
|
|
3466 <br /> |
|
|
|
3467 ------------- |
|
|
|
3468 <br /> |
|
|
|
3469 Name: Yuqi Feng |
|
|
|
3470 <br /> |
|
|
|
3471 Login: jiderlesi |
|
|
|
3472 <br /> |
|
|
|
3473 Email: <a href="mailto:jiderlesi@outlook.de">jiderlesi@outlook.de</a> &lt;mailto:jiderlesi@outlook.de&gt; |
|
|
|
3474 <br /> |
|
|
|
3475 </p> |
|
|
|
3476 <p>We thank jiderlesi for her/his commitment for contributing to GNU Chinese Translation. |
|
|
|
3477 <br /> |
|
|
|
3478 We wish jiderlesi has a wonderful and successful free journey.<br /> |
|
|
|
3479 </p></content:encoded> |
|
|
|
3480 <dc:date>2021-06-09T07:41:35+00:00</dc:date> |
|
|
|
3481 <dc:creator>Wensheng XIE</dc:creator> |
|
|
|
3482 </item> |
|
|
|
3483 <item rdf:about="http://meanmicio.org/?p=2308"> |
|
|
|
3484 <title>GNU Health: IFMSA Bangladesh joins the GNU Health Alliance</title> |
|
|
|
3485 <link>https://meanmicio.org/2021/06/07/ifmsa-bangladesh-joins-the-gnu-health-alliance/</link> |
|
|
|
3486 <content:encoded><figure class="wp-block-image size-large is-style-default"><a href="https://meanmicio.files.wordpress.com/2021/06/banner-ifmsa-alliance.png"><img alt="The non-profit organization with 3500+ medical students and 65 universities across the country is now part of the GNU Health Alliance of Academic and Research Institutions" class="wp-image-2313" src="https://meanmicio.files.wordpress.com/2021/06/banner-ifmsa-alliance.png?w=960" /></a><figcaption>The non-profit organization with 3500+ medical students and 65 universities across the country is now part of the GNU Health Alliance of Academic and Research Institutions</figcaption></figure> |
|
|
|
3487 |
|
|
|
3488 |
|
|
|
3489 |
|
|
|
3490 <p>It’s a great day for Bangladesh. It’s a great day for public health! Today, <a href="https://www.gnusolidario.org">GNU Solidario</a> and the International Federation of Medical Students Association, <a href="http://ifmsabd.org/">IFMSA Bangladesh</a>, have signed an initial <strong>5-year</strong> partnership on the grounds of the <strong>GNU Health Alliance of Academic and Research Institutions</strong>.</p> |
|
|
|
3491 |
|
|
|
3492 |
|
|
|
3493 |
|
|
|
3494 <p>IFMSA Bangladesh is a non-for-profit, non-political organization that comprises <strong>3500+ medical students from over 65 schools of Medicine across Bangladesh.</strong> They are a solid organization, very well organized, with different standing committees and support divisions. </p> |
|
|
|
3495 |
|
|
|
3496 |
|
|
|
3497 |
|
|
|
3498 <p>IFMSA vision and mission fits very well with those of GNU Solidario advancement of <strong>Social Medicine</strong>. IFMSA has projects on Public Health (reproductive health; personal hygiene; cardiovascular disease and cancer prevention, … ), Human rights and peace (campaigns to end violence against women; protection of the underprivileged elders and children.. ). I am positive the GNU Health ecosystem will help them reach their goals in each of their projects!</p> |
|
|
|
3499 |
|
|
|
3500 |
|
|
|
3501 |
|
|
|
3502 <p>The GNU Health Alliance of Academic and Research Institutions is extremely happy to have IFMSA Bangladesh as a member. IFMSA Bangladesh joins now a group of outstanding researchers and institutions that have made phenomenal advancements in health informatics and contributions to public health. Some examples:</p> |
|
|
|
3503 |
|
|
|
3504 |
|
|
|
3505 |
|
|
|
3506 <ul><li>The <strong>National University of Entre RÃos (UNER) </strong>has been awarded the project to use GNU Health as a real-time observatory for the <strong>COVID-19</strong> pandemic, by the Government of Argentina. In the context of the GNU Health Alliance, UNER has also developed the oral health package for GNU Health; and implemented the GNU Health Hospital Management Information System component in many public health care institutions in the country. The team from the UNER has traveled to Cameroon to implement GNU Health HMIS in several health facilities in the country, as well as training their health professionals.</li><li><strong>Thymbra</strong> Healthcare (R&amp;D Labs) has contributed the <strong>medical genetics</strong> and <strong>precision medicine</strong>. Currently, Thymbra is focused on <strong>MyGNUHealth</strong>, the GNU Health Personal Health Record (PHR) for <strong>KDE</strong> plasma mobile and desktops devices, and working on the integration of MyGNUHealth with the <strong>PinePhone</strong>.</li><li><strong>Khadas</strong> has signed an agreement to work on with the GNU Health community in <strong>Artificial Intelligence</strong> and medical imaging, as well on integrating Single Board Computers (SBCs) with GNU Health (the GNU Health in a Box project)</li></ul> |
|
|
|
3507 |
|
|
|
3508 |
|
|
|
3509 |
|
|
|
3510 <p>The fact that an association of 3500+ medical students embrace GNU Health means that all these bright future doctors from Bangladesh will also bear the ethics and philosophy of Libre Software to their communities. Public Health can not be run by private corporations, nor by proprietary software.</p> |
|
|
|
3511 |
|
|
|
3512 |
|
|
|
3513 |
|
|
|
3514 <p>IFMSA has 5 years ahead to make a wonderful revolution in the public health care system. Health institutions will be able to implement state-of-the-art health informatics. Medical students can learn GNU Health inside-out, and conduct workshops across the country in the Libre digital health ecosystem. Most importantly, I am positive GNU Health will provide a wonderful opportunity to improve the health promotion and disease prevention campaigns in Bangladesh.</p> |
|
|
|
3515 |
|
|
|
3516 |
|
|
|
3517 |
|
|
|
3518 <p>As the president of GNU Solidario, I am truly honored and looking forward to start collaborating with our colleagues from Bangladesh, and, when the pandemic is over, be able to meet them in person. </p> |
|
|
|
3519 |
|
|
|
3520 |
|
|
|
3521 |
|
|
|
3522 <p>My most sincere appreciation to IFMSA Bangladesh for becoming part of the GNU Health community. To the 3500+ members, a very warm welcome! </p> |
|
|
|
3523 |
|
|
|
3524 |
|
|
|
3525 |
|
|
|
3526 <p>Let’s keep building communities that foster universal health care, freedom and social medicine around the world.</p> |
|
|
|
3527 |
|
|
|
3528 |
|
|
|
3529 |
|
|
|
3530 <p>For further information about the GNU Health Alliance of Academic and Research Institutions, please contact us at:</p> |
|
|
|
3531 |
|
|
|
3532 |
|
|
|
3533 |
|
|
|
3534 <div class="wp-block-columns"> |
|
|
|
3535 <div class="wp-block-column"> |
|
|
|
3536 <p><strong>GNU Health Alliance</strong>: alliance@gnuhealth.org</p> |
|
|
|
3537 </div> |
|
|
|
3538 |
|
|
|
3539 |
|
|
|
3540 |
|
|
|
3541 <div class="wp-block-column"> |
|
|
|
3542 <p><strong>Press</strong>: press@gnuhealth.org</p> |
|
|
|
3543 </div> |
|
|
|
3544 |
|
|
|
3545 |
|
|
|
3546 |
|
|
|
3547 <div class="wp-block-column"> |
|
|
|
3548 <p><strong>General Information</strong> : info@gnuhealth.org</p> |
|
|
|
3549 </div> |
|
|
|
3550 </div> |
|
|
|
3551 |
|
|
|
3552 |
|
|
|
3553 |
|
|
|
3554 <p></p> |
|
|
|
3555 |
|
|
|
3556 |
|
|
|
3557 |
|
|
|
3558 <p></p></content:encoded> |
|
|
|
3559 <dc:date>2021-06-07T18:44:43+00:00</dc:date> |
|
|
|
3560 <dc:creator>Luis Falcon</dc:creator> |
|
|
|
3561 </item> |
|
|
|
3562 <item rdf:about="http://savannah.gnu.org/forum/forum.php?forum_id=10007"> |
|
|
|
3563 <title>edma @ Savannah: GNU/EDMA 0.19.1. Alpha Release</title> |
|
|
|
3564 <link>http://savannah.gnu.org/forum/forum.php?forum_id=10007</link> |
|
|
|
3565 <content:encoded><p>GNU/EDMA 0.19.1 has been released as an Alpha Version. This version tries to fix the long standing issue with 64bits platforms. |
|
|
|
3566 <br /> |
|
|
|
3567 </p> |
|
|
|
3568 <p>In order to fix that problem this version adds a dependency on `libffi`. |
|
|
|
3569 <br /> |
|
|
|
3570 </p> |
|
|
|
3571 <p>This is an alpha release and it is still under test and can be downloaded from: |
|
|
|
3572 <br /> |
|
|
|
3573 </p> |
|
|
|
3574 <p><a href="http://alpha.gnu.org/gnu/edma/">http://alpha.gnu.org/gnu/edma/</a> |
|
|
|
3575 <br /> |
|
|
|
3576 </p> |
|
|
|
3577 <p>Any feedback or comment is welcomed |
|
|
|
3578 <br /> |
|
|
|
3579 </p> |
|
|
|
3580 <p>Best Regards |
|
|
|
3581 <br /> |
|
|
|
3582 David<br /> |
|
|
|
3583 </p></content:encoded> |
|
|
|
3584 <dc:date>2021-06-07T07:14:21+00:00</dc:date> |
|
|
|
3585 <dc:creator>David Martínez Oliveira</dc:creator> |
|
|
|
3586 </item> |
|
|
|
3587 <item rdf:about="http://savannah.gnu.org/forum/forum.php?forum_id=10006"> |
|
|
|
3588 <title>gsl @ Savannah: GNU Scientific Library 2.7 released</title> |
|
|
|
3589 <link>http://savannah.gnu.org/forum/forum.php?forum_id=10006</link> |
|
|
|
3590 <content:encoded><p>Version 2.7 of the GNU Scientific Library (GSL) is now available. GSL provides a large collection of routines for numerical computing in C. |
|
|
|
3591 <br /> |
|
|
|
3592 </p> |
|
|
|
3593 <p>This release introduces some new features and fixes several bugs. The full NEWS file entry is appended below. |
|
|
|
3594 <br /> |
|
|
|
3595 </p> |
|
|
|
3596 <p>The file details for this release are: |
|
|
|
3597 <br /> |
|
|
|
3598 </p> |
|
|
|
3599 <p><a href="ftp://ftp.gnu.org/gnu/gsl/gsl-2.7.tar.gz">ftp://ftp.gnu.org/gnu/gsl/gsl-2.7.tar.gz</a> |
|
|
|
3600 <br /> |
|
|
|
3601 <a href="ftp://ftp.gnu.org/gnu/gsl/gsl-2.7.tar.gz.sig">ftp://ftp.gnu.org/gnu/gsl/gsl-2.7.tar.gz.sig</a> |
|
|
|
3602 <br /> |
|
|
|
3603 </p> |
|
|
|
3604 <p>The GSL project homepage is <a href="http://www.gnu.org/software/gsl/">http://www.gnu.org/software/gsl/</a> |
|
|
|
3605 <br /> |
|
|
|
3606 </p> |
|
|
|
3607 <p>GSL is free software distributed under the GNU General Public License. |
|
|
|
3608 <br /> |
|
|
|
3609 </p> |
|
|
|
3610 <p>Thanks to everyone who reported bugs and contributed improvements. |
|
|
|
3611 <br /> |
|
|
|
3612 </p> |
|
|
|
3613 <p>Patrick Alken |
|
|
|
3614 <br /> |
|
|
|
3615 </p> |
|
|
|
3616 <p>------------------------------- |
|
|
|
3617 <br /> |
|
|
|
3618 </p> |
|
|
|
3619 <ul> |
|
|
|
3620 <li>What is new in gsl-2.7: |
|
|
|
3621 </li> |
|
|
|
3622 </ul> |
|
|
|
3623 <ul> |
|
|
|
3624 <li><ul> |
|
|
|
3625 <li>fixed doc bug for gsl_histogram_min_bin (lhcsky at 163.com) |
|
|
|
3626 </li> |
|
|
|
3627 </ul> |
|
|
|
3628 </li> |
|
|
|
3629 </ul> |
|
|
|
3630 <ul> |
|
|
|
3631 <li><ul> |
|
|
|
3632 <li>fixed <em><a href="http://savannah.gnu.org/bugs/?60335">bug #60335</a></em> (spmatrix test failure, J. Lamb) |
|
|
|
3633 </li> |
|
|
|
3634 </ul> |
|
|
|
3635 </li> |
|
|
|
3636 </ul> |
|
|
|
3637 <ul> |
|
|
|
3638 <li><ul> |
|
|
|
3639 <li>fixed <em><a href="http://savannah.gnu.org/bugs/?36577">bug #36577</a></em> |
|
|
|
3640 </li> |
|
|
|
3641 </ul> |
|
|
|
3642 </li> |
|
|
|
3643 </ul> |
|
|
|
3644 <ul> |
|
|
|
3645 <li><ul> |
|
|
|
3646 <li>clarified documentation on interpolation accelerators (V. Krishnan) |
|
|
|
3647 </li> |
|
|
|
3648 </ul> |
|
|
|
3649 </li> |
|
|
|
3650 </ul> |
|
|
|
3651 <ul> |
|
|
|
3652 <li><ul> |
|
|
|
3653 <li>fixed <em><a href="http://savannah.gnu.org/bugs/?45521">bug #45521</a></em> (erroneous GSL_ERROR_NULL in ode-initval2, thanks to M. Sitte) |
|
|
|
3654 </li> |
|
|
|
3655 </ul> |
|
|
|
3656 </li> |
|
|
|
3657 </ul> |
|
|
|
3658 <ul> |
|
|
|
3659 <li><ul> |
|
|
|
3660 <li>fixed doc <em><a href="http://savannah.gnu.org/bugs/?59758">bug #59758</a></em> |
|
|
|
3661 </li> |
|
|
|
3662 </ul> |
|
|
|
3663 </li> |
|
|
|
3664 </ul> |
|
|
|
3665 <ul> |
|
|
|
3666 <li><ul> |
|
|
|
3667 <li>fixed <em><a href="http://savannah.gnu.org/bugs/?58202">bug #58202</a></em> (rstat median for n=5) |
|
|
|
3668 </li> |
|
|
|
3669 </ul> |
|
|
|
3670 </li> |
|
|
|
3671 </ul> |
|
|
|
3672 <ul> |
|
|
|
3673 <li><ul> |
|
|
|
3674 <li>added support for native C complex number types in gsl_complex when using a C11 compiler |
|
|
|
3675 </li> |
|
|
|
3676 </ul> |
|
|
|
3677 </li> |
|
|
|
3678 </ul> |
|
|
|
3679 <ul> |
|
|
|
3680 <li><ul> |
|
|
|
3681 <li>upgraded to autoconf 2.71, automake 1.16.3, libtool 2.4.6 |
|
|
|
3682 </li> |
|
|
|
3683 </ul> |
|
|
|
3684 </li> |
|
|
|
3685 </ul> |
|
|
|
3686 <ul> |
|
|
|
3687 <li><ul> |
|
|
|
3688 <li>updated exponential fitting example for nonlinear least squares |
|
|
|
3689 </li> |
|
|
|
3690 </ul> |
|
|
|
3691 </li> |
|
|
|
3692 </ul> |
|
|
|
3693 <ul> |
|
|
|
3694 <li><ul> |
|
|
|
3695 <li>added banded LU decomposition and solver (gsl_linalg_LU_band) |
|
|
|
3696 </li> |
|
|
|
3697 </ul> |
|
|
|
3698 </li> |
|
|
|
3699 </ul> |
|
|
|
3700 <ul> |
|
|
|
3701 <li><ul> |
|
|
|
3702 <li>New functions added to the library: |
|
|
|
3703 </li> |
|
|
|
3704 </ul> |
|
|
|
3705 </li> |
|
|
|
3706 </ul><p> - gsl_matrix_norm1 |
|
|
|
3707 <br /> |
|
|
|
3708 - gsl_spmatrix_norm1 |
|
|
|
3709 <br /> |
|
|
|
3710 - gsl_matrix_complex_conjtrans_memcpy |
|
|
|
3711 <br /> |
|
|
|
3712 - gsl_linalg_QL: decomp, unpack |
|
|
|
3713 <br /> |
|
|
|
3714 - gsl_linalg_complex_QR_* (thanks to Christian Krueger) |
|
|
|
3715 <br /> |
|
|
|
3716 - gsl_vector_sum |
|
|
|
3717 <br /> |
|
|
|
3718 - gsl_matrix_scale_rows |
|
|
|
3719 <br /> |
|
|
|
3720 - gsl_matrix_scale_columns |
|
|
|
3721 <br /> |
|
|
|
3722 - gsl_multilarge_linear_matrix_ptr |
|
|
|
3723 <br /> |
|
|
|
3724 - gsl_multilarge_linear_rhs_ptr |
|
|
|
3725 <br /> |
|
|
|
3726 - gsl_spmatrix_dense_add (renamed from gsl_spmatrix_add_to_dense) |
|
|
|
3727 <br /> |
|
|
|
3728 - gsl_spmatrix_dense_sub |
|
|
|
3729 <br /> |
|
|
|
3730 - gsl_linalg_cholesky_band: solvem, svxm, scale, scale_apply |
|
|
|
3731 <br /> |
|
|
|
3732 - gsl_linalg_QR_UD: decomp, lssolve |
|
|
|
3733 <br /> |
|
|
|
3734 - gsl_linalg_QR_UU: decomp, lssolve,QTvec |
|
|
|
3735 <br /> |
|
|
|
3736 - gsl_linalg_QR_UZ: decomp |
|
|
|
3737 <br /> |
|
|
|
3738 - gsl_multifit_linear_lcurvature |
|
|
|
3739 <br /> |
|
|
|
3740 - gsl_spline2d_eval_extrap |
|
|
|
3741 <br /> |
|
|
|
3742 </p> |
|
|
|
3743 <ul> |
|
|
|
3744 <li><ul> |
|
|
|
3745 <li>bug fix in checking vector lengths in gsl_vector_memcpy (dieggsy@pm.me) |
|
|
|
3746 </li> |
|
|
|
3747 </ul> |
|
|
|
3748 </li> |
|
|
|
3749 </ul> |
|
|
|
3750 <ul> |
|
|
|
3751 <li><ul> |
|
|
|
3752 <li>made gsl_sf_legendre_array_index() inline and documented gsl_sf_legendre_nlm()| |
|
|
|
3753 </li> |
|
|
|
3754 </ul> |
|
|
|
3755 </li> |
|
|
|
3756 </ul></content:encoded> |
|
|
|
3757 <dc:date>2021-06-05T15:02:45+00:00</dc:date> |
|
|
|
3758 <dc:creator>Patrick Alken</dc:creator> |
|
|
|
3759 </item> |
|
|
|
3760 <item rdf:about="http://savannah.gnu.org/forum/forum.php?forum_id=10004"> |
|
|
|
3761 <title>poke @ Savannah: GNU poke 1.3 released</title> |
|
|
|
3762 <link>http://savannah.gnu.org/forum/forum.php?forum_id=10004</link> |
|
|
|
3763 <content:encoded><p>I am happy to announce a new release of GNU poke, version 1.3. |
|
|
|
3764 <br /> |
|
|
|
3765 </p> |
|
|
|
3766 <p>This is a bug fix release in the poke 1.x series. |
|
|
|
3767 <br /> |
|
|
|
3768 </p> |
|
|
|
3769 <p>See the file NEWS in the released tarball for a detailed list of |
|
|
|
3770 <br /> |
|
|
|
3771 changes in this release. |
|
|
|
3772 <br /> |
|
|
|
3773 </p> |
|
|
|
3774 <p>The tarball poke-1.3.tar.gz is now available at |
|
|
|
3775 <br /> |
|
|
|
3776 <a href="https://ftp.gnu.org/gnu/poke/poke-1.3.tar.gz">https://ftp.gnu.org/gnu/poke/poke-1.3.tar.gz</a>. |
|
|
|
3777 <br /> |
|
|
|
3778 </p> |
|
|
|
3779 <p> GNU poke (<a href="http://www.jemarch.net/poke">http://www.jemarch.net/poke</a>) is an interactive, extensible |
|
|
|
3780 <br /> |
|
|
|
3781 editor for binary data. Not limited to editing basic entities such |
|
|
|
3782 <br /> |
|
|
|
3783 as bits and bytes, it provides a full-fledged procedural, |
|
|
|
3784 <br /> |
|
|
|
3785 interactive programming language designed to describe data |
|
|
|
3786 <br /> |
|
|
|
3787 structures and to operate on them. |
|
|
|
3788 <br /> |
|
|
|
3789 </p> |
|
|
|
3790 <p>This release is the product of a month of work resulting in 41 |
|
|
|
3791 <br /> |
|
|
|
3792 commits, made by 4 contributors. |
|
|
|
3793 <br /> |
|
|
|
3794 </p> |
|
|
|
3795 <p>Thanks to the people who contributed with code and/or documentation to |
|
|
|
3796 <br /> |
|
|
|
3797 this release. In certain but no significant order they are: |
|
|
|
3798 <br /> |
|
|
|
3799 </p> |
|
|
|
3800 <p> Mohammad-Reza Nabipoor &lt;m.nabipoor@yahoo.com&gt; |
|
|
|
3801 <br /> |
|
|
|
3802 Egeyar Bagcioglu &lt;egeyar@gmail.com&gt; |
|
|
|
3803 <br /> |
|
|
|
3804 Konstantinos Chasialis &lt;sdi1600195@di.uoa.gr&gt; |
|
|
|
3805 <br /> |
|
|
|
3806 </p> |
|
|
|
3807 <p>As always, thank you all! |
|
|
|
3808 <br /> |
|
|
|
3809 </p> |
|
|
|
3810 <p>And this is all for now. |
|
|
|
3811 <br /> |
|
|
|
3812 Happy poking! |
|
|
|
3813 <br /> |
|
|
|
3814 </p> |
|
|
|
3815 <p>-- |
|
|
|
3816 <br /> |
|
|
|
3817 Jose E. Marchesi |
|
|
|
3818 <br /> |
|
|
|
3819 Frankfurt am Main |
|
|
|
3820 <br /> |
|
|
|
3821 5 June 2021<br /> |
|
|
|
3822 </p></content:encoded> |
|
|
|
3823 <dc:date>2021-06-05T10:55:55+00:00</dc:date> |
|
|
|
3824 <dc:creator>Jose E. Marchesi</dc:creator> |
|
|
|
3825 </item> |
|
|
|
3826 <item rdf:about="http://meanmicio.org/?p=2288"> |
|
|
|
3827 <title>GNU Health: Liberating our mobile computing</title> |
|
|
|
3828 <link>https://meanmicio.org/2021/06/04/liberating-our-mobile-computing/</link> |
|
|
|
3829 <content:encoded><p>Last week I got the PineTime, a free/libre smartwatch. In the past months, I’ve been working on MyGNUHealth and porting it to the PinePhone.</p> |
|
|
|
3830 |
|
|
|
3831 |
|
|
|
3832 |
|
|
|
3833 <p>Why doing so? Because running free/libre operating systems and having control of the applications on your mobile phones and wearables is the right thing to do.</p> |
|
|
|
3834 |
|
|
|
3835 |
|
|
|
3836 |
|
|
|
3837 <figure class="wp-block-image size-large is-style-default"><a href="https://meanmicio.files.wordpress.com/2021/06/pinetime_pinephone_kdeplasma1.jpg"><img alt="" class="wp-image-2292" src="https://meanmicio.files.wordpress.com/2021/06/pinetime_pinephone_kdeplasma1.jpg?w=1024" /></a></figure> |
|
|
|
3838 |
|
|
|
3839 |
|
|
|
3840 |
|
|
|
3841 <p>Yesterday, I told myself: “This is the day to move away from Android and take control over my phone”. And I made the switch. Now I am using a PinePhone on Manjaro running KDE plasma mobile. I have also switched my smartwatch to the PineTime.</p> |
|
|
|
3842 |
|
|
|
3843 |
|
|
|
3844 |
|
|
|
3845 <p>The mobile phone and smartwatch were the last pieces of hardware and software to liberate. All my computing is now libre. No proprietary operating systems, no closed-source applications. Not on my laptop, not in my desktop, not on my phone.</p> |
|
|
|
3846 |
|
|
|
3847 |
|
|
|
3848 |
|
|
|
3849 <h3>Facing and overcoming the social pressure</h3> |
|
|
|
3850 |
|
|
|
3851 |
|
|
|
3852 |
|
|
|
3853 <p>At the moment I ditched Android, I felt an immense sense of relief and happiness. It took me back 30 years ago, early FreeBSD and GNU/Linux times, being in control of every component of my computer.</p> |
|
|
|
3854 |
|
|
|
3855 |
|
|
|
3856 |
|
|
|
3857 <p>We can not put our daily life activities, electronic transactions and data in the hands of the corporations. Android phones shipped today are full of “bloatware” and closed-source applications. We can safely call most of those applications spyware. </p> |
|
|
|
3858 |
|
|
|
3859 |
|
|
|
3860 |
|
|
|
3861 <p>The PinePhone is a libre computer, with a phone. All the applications are Libre Software. I have SSH, most of the cool KDE plasma applications I enjoy in the desktop, I can have them now in my pocket. Again, most importantly, I am free.</p> |
|
|
|
3862 |
|
|
|
3863 |
|
|
|
3864 |
|
|
|
3865 <p>Of course, freedom comes with a price. The price to face social and corporate pressure. For instance, somebody asked me yesterday how to deal with banking without the app. My answer was, I never used an app for banking. Running a proprietary financial application is shooting at the heart of your privacy. If your bank does not let you do your transactions from any standard web browser, then change your bank. Quick digression… the financial system and the big technological corporations are desperately trying to get rid of good all coins and bills. This is yet another attack on our privacy. Nobody needs to know when, where and what I buy. </p> |
|
|
|
3866 |
|
|
|
3867 |
|
|
|
3868 |
|
|
|
3869 <h3>A brighter future depends on us</h3> |
|
|
|
3870 |
|
|
|
3871 |
|
|
|
3872 |
|
|
|
3873 <p>Some people might argue that this technology might not be ready for prime time, yet. I would say that I am ok with it, and the more we join, the more feedback we provide, and the better end result we’ll get.</p> |
|
|
|
3874 |
|
|
|
3875 |
|
|
|
3876 |
|
|
|
3877 <p>The Pine64 project is mainly a community-oriented ecosystem. Its hardware, operating system and applications are from the community and for the community. I am developing MyGNUHealth Personal Health Record to be run on KDE Plasma, both for desktop and for the PinePhone and other Libre mobile devices. It is my commitment with freedom, privacy and universal healthcare to deliver health informatics in Libre, privacy focused platforms that anyone can adopt.</p> |
|
|
|
3878 |
|
|
|
3879 |
|
|
|
3880 |
|
|
|
3881 <figure class="wp-block-image size-large is-style-default"><a href="https://meanmicio.files.wordpress.com/2021/06/pinetime_mygnuhealth_pinephone.jpg"><img alt="" class="wp-image-2294" src="https://meanmicio.files.wordpress.com/2021/06/pinetime_mygnuhealth_pinephone.jpg?w=1024" /></a><figcaption>MyGNUHealth Personal Health Record running on the Desktop and on the PinePhone. The PineTime smartwatch as the next companion for MyGNUHealth. All these components are privacy focused, Free/Libre Software and hardware.</figcaption></figure> |
|
|
|
3882 |
|
|
|
3883 |
|
|
|
3884 |
|
|
|
3885 <p>It depends on you to be prisoner of the corporation and massive surveillance systems, or to be in full control of your programming, health information and life. It takes commitment to achieve it… some components might be too bleeding edge or the camera might not have the highest resolutions and you won’t have the Whatsapp “app” (removing that application would actually be a blessing). It’s a very small price to pay for freedom and privacy. It’s a very small price to pay for the advancement of our society.</p> |
|
|
|
3886 |
|
|
|
3887 |
|
|
|
3888 |
|
|
|
3889 <figure class="wp-block-image size-large is-style-default"><a href="https://meanmicio.files.wordpress.com/2021/06/siglo_pinetime_firmware_upgrade.png"><img alt="" class="wp-image-2296" src="https://meanmicio.files.wordpress.com/2021/06/siglo_pinetime_firmware_upgrade.png?w=1024" /></a><figcaption>InfiniTime firmware upgrade using Siglo. </figcaption></figure> |
|
|
|
3890 |
|
|
|
3891 |
|
|
|
3892 |
|
|
|
3893 <p>It’s been many years since I’ve been in the look out for a truly libre phone. After many projects that succumbed, the PinePhone is the first one that has gained momentum. Please support the PinePhone project. Support KDE plasma mobile. Support Arch, Manjaro, openSUSE, FreeBSD or your favorite Libre operating system. Support those who make Libre convergent applications that can be run on mobile devices, like Kirigami. Support InfiniTime and any free/libre firmware for smartwatches, as well as their companions as Siglo or Amazfish.</p> |
|
|
|
3894 |
|
|
|
3895 |
|
|
|
3896 |
|
|
|
3897 <p>The future of Libre mobile computing is now, more than ever, in your hands.</p> |
|
|
|
3898 |
|
|
|
3899 |
|
|
|
3900 |
|
|
|
3901 <p>Happy and healthy hacking.</p></content:encoded> |
|
|
|
3902 <dc:date>2021-06-04T15:45:19+00:00</dc:date> |
|
|
|
3903 <dc:creator>Luis Falcon</dc:creator> |
|
|
|
3904 </item> |
|
|
|
3905 <item rdf:about="http://savannah.gnu.org/forum/forum.php?forum_id=10002"> |
|
|
|
3906 <title>gnuastro @ Savannah: Gnuastro 0.15 released</title> |
|
|
|
3907 <link>http://savannah.gnu.org/forum/forum.php?forum_id=10002</link> |
|
|
|
3908 <content:encoded><p>The 15th release of Gnuastro is now available. See the <a href="https://lists.gnu.org/archive/html/info-gnuastro/2021-05/msg00000.html">full announcement</a> for more.<br /> |
|
|
|
3909 </p></content:encoded> |
|
|
|
3910 <dc:date>2021-05-30T23:41:45+00:00</dc:date> |
|
|
|
3911 <dc:creator>Mohammad Akhlaghi</dc:creator> |
|
|
|
3912 </item> |
|
|
|
3913 <item rdf:about="http://savannah.gnu.org/forum/forum.php?forum_id=10001"> |
|
|
|
3914 <title>m4 @ Savannah: GNU M4 1.4.19 released [stable]</title> |
|
|
|
3915 <link>http://savannah.gnu.org/forum/forum.php?forum_id=10001</link> |
|
|
|
3916 <content:encoded><p>See the release announcement here: |
|
|
|
3917 <br /> |
|
|
|
3918 <a href="https://lists.gnu.org/archive/html/m4-announce/2021-05/msg00002.html">https://lists.gnu.org/archive/html/m4-announce/2021-05/msg00002.html</a><br /> |
|
|
|
3919 </p></content:encoded> |
|
|
|
3920 <dc:date>2021-05-29T11:33:40+00:00</dc:date> |
|
|
|
3921 <dc:creator>Eric Blake</dc:creator> |
|
|
|
3922 </item> |
|
|
|
3923 <item rdf:about="http://www.fsf.org/events/community-meeting-on-the-future-of-our-irc-presence"> |
|
|
|
3924 <title>FSF Events: Community meeting on the future of our IRC presence</title> |
|
|
|
3925 <link>http://www.fsf.org/events/community-meeting-on-the-future-of-our-irc-presence</link> |
|
|
|
3926 |
|
|
|
3927 <dc:date>2021-05-25T18:49:28+00:00</dc:date> |
|
|
|
3928 <dc:creator>FSF Events</dc:creator> |
|
|
|
3929 </item> |
|
|
|
3930 <item rdf:about="http://savannah.gnu.org/forum/forum.php?forum_id=9999"> |
|
|
|
3931 <title>parallel @ Savannah: GNU Parallel 20210522 ('Gaza') released</title> |
|
|
|
3932 <link>http://savannah.gnu.org/forum/forum.php?forum_id=9999</link> |
|
|
|
3933 <content:encoded><p>GNU Parallel 20210522 ('Gaza') has been released. It is available for download at: lbry://@GnuParallel:4 |
|
|
|
3934 <br /> |
|
|
|
3935 </p> |
|
|
|
3936 <p>Please help spreading GNU Parallel by making a testimonial video like Juan Sierra Pons: <a href="http://www.elsotanillo.net/wp-content/uploads/GnuParallel_JuanSierraPons.mp4">http://www.elsotanillo.net/wp-content/uploads/GnuParallel_JuanSierraPons.mp4</a> |
|
|
|
3937 <br /> |
|
|
|
3938 </p> |
|
|
|
3939 <p>It does not have to be as detailed as Juan's. It is perfectly fine if you just say your name, and what field you are using GNU Parallel for. |
|
|
|
3940 <br /> |
|
|
|
3941 </p> |
|
|
|
3942 <p>Quote of the month: |
|
|
|
3943 <br /> |
|
|
|
3944 </p> |
|
|
|
3945 <p> If you work with lots of files at once |
|
|
|
3946 <br /> |
|
|
|
3947 Take a good look at GNU parallel |
|
|
|
3948 <br /> |
|
|
|
3949 Change your life for the better |
|
|
|
3950 <br /> |
|
|
|
3951 -- French @notareverser@twitter |
|
|
|
3952 <br /> |
|
|
|
3953 </p> |
|
|
|
3954 <p>New in this release: |
|
|
|
3955 <br /> |
|
|
|
3956 </p> |
|
|
|
3957 <ul> |
|
|
|
3958 <li>--plus includes {%%regexp} and {##regexp}. |
|
|
|
3959 </li> |
|
|
|
3960 </ul> |
|
|
|
3961 <ul> |
|
|
|
3962 <li>Bug fixes and man page updates. |
|
|
|
3963 </li> |
|
|
|
3964 </ul> |
|
|
|
3965 <p>News about GNU Parallel: |
|
|
|
3966 <br /> |
|
|
|
3967 </p> |
|
|
|
3968 <ul> |
|
|
|
3969 <li>Batch Calculate and Verify MD5 Checksum With GNU Parallel <a href="https://omicx.cc/posts/2021-04-28-calculate-and-verify-md5-checksum-with-gnu-parallel/">https://omicx.cc/posts/2021-04-28-calculate-and-verify-md5-checksum-with-gnu-parallel/</a> |
|
|
|
3970 </li> |
|
|
|
3971 </ul> |
|
|
|
3972 <ul> |
|
|
|
3973 <li>HerrComp Gnu parallel, c++11 threads 2021 04 28 <a href="https://www.youtube.com/watch?v=wDd9F9nn0qA">https://www.youtube.com/watch?v=wDd9F9nn0qA</a> |
|
|
|
3974 </li> |
|
|
|
3975 </ul> |
|
|
|
3976 <ul> |
|
|
|
3977 <li>Distributing embarrassingly parallel tasks GNU Parallel <a href="https://ulhpc-tutorials.readthedocs.io/en/latest/sequential/gnu-parallel/">https://ulhpc-tutorials.readthedocs.io/en/latest/sequential/gnu-parallel/</a> |
|
|
|
3978 </li> |
|
|
|
3979 </ul> |
|
|
|
3980 <ul> |
|
|
|
3981 <li>Job Parallelization on Niagara <a href="https://www.maryamdaryalal.com/post/job-parallelization-on-niagara">https://www.maryamdaryalal.com/post/job-parallelization-on-niagara</a> |
|
|
|
3982 </li> |
|
|
|
3983 </ul> |
|
|
|
3984 <ul> |
|
|
|
3985 <li>Use Parallel to split by line <a href="https://madflex.de/use-parallel-to-split-by-line/">https://madflex.de/use-parallel-to-split-by-line/</a> |
|
|
|
3986 </li> |
|
|
|
3987 </ul> |
|
|
|
3988 <ul> |
|
|
|
3989 <li>m1 multi-core batch convert with gpu parallel + ffmpeg <a href="https://www.youtube.com/watch?v=hAuc0YsXv6A">https://www.youtube.com/watch?v=hAuc0YsXv6A</a> |
|
|
|
3990 </li> |
|
|
|
3991 </ul> |
|
|
|
3992 <p>Get the book: GNU Parallel 2018 <a href="http://www.lulu.com/shop/ole-tange/gnu-parallel-2018/paperback/product-23558902.html">http://www.lulu.com/shop/ole-tange/gnu-parallel-2018/paperback/product-23558902.html</a> |
|
|
|
3993 <br /> |
|
|
|
3994 </p> |
|
|
|
3995 <p>GNU Parallel - For people who live life in the parallel lane. |
|
|
|
3996 <br /> |
|
|
|
3997 </p> |
|
|
|
3998 <p>If you like GNU Parallel record a video testimonial: Say who you are, what you use GNU Parallel for, how it helps you, and what you like most about it. Include a command that uses GNU Parallel if you feel like it. |
|
|
|
3999 <br /> |
|
|
|
4000 </p> |
|
|
|
4001 |
|
|
|
4002 <h2>About GNU Parallel</h2> |
|
|
|
4003 |
|
|
|
4004 <p>GNU Parallel is a shell tool for executing jobs in parallel using one or more computers. A job can be a single command or a small script that has to be run for each of the lines in the input. The typical input is a list of files, a list of hosts, a list of users, a list of URLs, or a list of tables. A job can also be a command that reads from a pipe. GNU Parallel can then split the input and pipe it into commands in parallel. |
|
|
|
4005 <br /> |
|
|
|
4006 </p> |
|
|
|
4007 <p>If you use xargs and tee today you will find GNU Parallel very easy to use as GNU Parallel is written to have the same options as xargs. If you write loops in shell, you will find GNU Parallel may be able to replace most of the loops and make them run faster by running several jobs in parallel. GNU Parallel can even replace nested loops. |
|
|
|
4008 <br /> |
|
|
|
4009 </p> |
|
|
|
4010 <p>GNU Parallel makes sure output from the commands is the same output as you would get had you run the commands sequentially. This makes it possible to use output from GNU Parallel as input for other programs. |
|
|
|
4011 <br /> |
|
|
|
4012 </p> |
|
|
|
4013 <p>For example you can run this to convert all jpeg files into png and gif files and have a progress bar: |
|
|
|
4014 <br /> |
|
|
|
4015 </p> |
|
|
|
4016 <p> parallel --bar convert {1} {1.}.{2} ::: *.jpg ::: png gif |
|
|
|
4017 <br /> |
|
|
|
4018 </p> |
|
|
|
4019 <p>Or you can generate big, medium, and small thumbnails of all jpeg files in sub dirs: |
|
|
|
4020 <br /> |
|
|
|
4021 </p> |
|
|
|
4022 <p> find . -name '*.jpg' | |
|
|
|
4023 <br /> |
|
|
|
4024 parallel convert -geometry {2} {1} {1//}/thumb{2}_{1/} :::: - ::: 50 100 200 |
|
|
|
4025 <br /> |
|
|
|
4026 </p> |
|
|
|
4027 <p>You can find more about GNU Parallel at: <a href="http://www.gnu.org/s/parallel/">http://www.gnu.org/s/parallel/</a> |
|
|
|
4028 <br /> |
|
|
|
4029 </p> |
|
|
|
4030 <p>You can install GNU Parallel in just 10 seconds with: |
|
|
|
4031 <br /> |
|
|
|
4032 </p> |
|
|
|
4033 <p> $ (wget -O - pi.dk/3 || lynx -source pi.dk/3 || curl pi.dk/3/ || \ |
|
|
|
4034 <br /> |
|
|
|
4035 fetch -o - <a href="http://pi.dk/3">http://pi.dk/3</a> ) &gt; install.sh |
|
|
|
4036 <br /> |
|
|
|
4037 $ sha1sum install.sh | grep c82233e7da3166308632ac8c34f850c0 |
|
|
|
4038 <br /> |
|
|
|
4039 12345678 c82233e7 da316630 8632ac8c 34f850c0 |
|
|
|
4040 <br /> |
|
|
|
4041 $ md5sum install.sh | grep ae3d7aac5e15cf3dfc87046cfc5918d2 |
|
|
|
4042 <br /> |
|
|
|
4043 ae3d7aac 5e15cf3d fc87046c fc5918d2 |
|
|
|
4044 <br /> |
|
|
|
4045 $ sha512sum install.sh | grep dfc00d823137271a6d96225cea9e89f533ff6c81f |
|
|
|
4046 <br /> |
|
|
|
4047 9c5198d5 31a3b755 b7910ece 3a42d206 c804694d fc00d823 137271a6 d96225ce |
|
|
|
4048 <br /> |
|
|
|
4049 a9e89f53 3ff6c81f f52b298b ef9fb613 2d3f9ccd 0e2c7bd3 c35978b5 79acb5ca |
|
|
|
4050 <br /> |
|
|
|
4051 $ bash install.sh |
|
|
|
4052 <br /> |
|
|
|
4053 </p> |
|
|
|
4054 <p>Watch the intro video on <a href="http://www.youtube.com/playlist?list=PL284C9FF2488BC6D1">http://www.youtube.com/playlist?list=PL284C9FF2488BC6D1</a> |
|
|
|
4055 <br /> |
|
|
|
4056 </p> |
|
|
|
4057 <p>Walk through the tutorial (man parallel_tutorial). Your command line will love you for it. |
|
|
|
4058 <br /> |
|
|
|
4059 </p> |
|
|
|
4060 <p>When using programs that use GNU Parallel to process data for publication please cite: |
|
|
|
4061 <br /> |
|
|
|
4062 </p> |
|
|
|
4063 <p>O. Tange (2018): GNU Parallel 2018, March 2018, <a href="https://doi.org/10.5281/zenodo.1146014">https://doi.org/10.5281/zenodo.1146014</a>. |
|
|
|
4064 <br /> |
|
|
|
4065 </p> |
|
|
|
4066 <p>If you like GNU Parallel: |
|
|
|
4067 <br /> |
|
|
|
4068 </p> |
|
|
|
4069 <ul> |
|
|
|
4070 <li>Give a demo at your local user group/team/colleagues |
|
|
|
4071 </li> |
|
|
|
4072 <li>Post the intro videos on Reddit/Diaspora*/forums/blogs/ Identi.ca/Google+/Twitter/Facebook/Linkedin/mailing lists |
|
|
|
4073 </li> |
|
|
|
4074 <li>Get the merchandise <a href="https://gnuparallel.threadless.com/designs/gnu-parallel">https://gnuparallel.threadless.com/designs/gnu-parallel</a> |
|
|
|
4075 </li> |
|
|
|
4076 <li>Request or write a review for your favourite blog or magazine |
|
|
|
4077 </li> |
|
|
|
4078 <li>Request or build a package for your favourite distribution (if it is not already there) |
|
|
|
4079 </li> |
|
|
|
4080 <li>Invite me for your next conference |
|
|
|
4081 </li> |
|
|
|
4082 </ul> |
|
|
|
4083 <p>If you use programs that use GNU Parallel for research: |
|
|
|
4084 <br /> |
|
|
|
4085 </p> |
|
|
|
4086 <ul> |
|
|
|
4087 <li>Please cite GNU Parallel in you publications (use --citation) |
|
|
|
4088 </li> |
|
|
|
4089 </ul> |
|
|
|
4090 <p>If GNU Parallel saves you money: |
|
|
|
4091 <br /> |
|
|
|
4092 </p> |
|
|
|
4093 <ul> |
|
|
|
4094 <li>(Have your company) donate to FSF <a href="https://my.fsf.org/donate/">https://my.fsf.org/donate/</a> |
|
|
|
4095 </li> |
|
|
|
4096 </ul> |
|
|
|
4097 |
|
|
|
4098 <h2>About GNU SQL</h2> |
|
|
|
4099 |
|
|
|
4100 <p>GNU sql aims to give a simple, unified interface for accessing databases through all the different databases' command line clients. So far the focus has been on giving a common way to specify login information (protocol, username, password, hostname, and port number), size (database and table size), and running queries. |
|
|
|
4101 <br /> |
|
|
|
4102 </p> |
|
|
|
4103 <p>The database is addressed using a DBURL. If commands are left out you will get that database's interactive shell. |
|
|
|
4104 <br /> |
|
|
|
4105 </p> |
|
|
|
4106 <p>When using GNU SQL for a publication please cite: |
|
|
|
4107 <br /> |
|
|
|
4108 </p> |
|
|
|
4109 <p>O. Tange (2011): GNU SQL - A Command Line Tool for Accessing Different Databases Using DBURLs, ;login: The USENIX Magazine, April 2011:29-32. |
|
|
|
4110 <br /> |
|
|
|
4111 </p> |
|
|
|
4112 |
|
|
|
4113 <h2>About GNU Niceload</h2> |
|
|
|
4114 |
|
|
|
4115 <p>GNU niceload slows down a program when the computer load average (or other system activity) is above a certain limit. When the limit is reached the program will be suspended for some time. If the limit is a soft limit the program will be allowed to run for short amounts of time before being suspended again. If the limit is a hard limit the program will only be allowed to run when the system is below the limit.<br /> |
|
|
|
4116 </p></content:encoded> |
|
|
|
4117 <dc:date>2021-05-22T20:20:33+00:00</dc:date> |
|
|
|
4118 <dc:creator>Ole Tange</dc:creator> |
|
|
|
4119 </item> |
|
|
|
4120 |
|
|
|
4121 </rdf:RDF> |
|