Introduction
Introduction Statistics Contact Development Disclaimer Help
tgtimes7.txt - tgtimes - The Gopher Times
git clone git://bitreich.org/tgtimes git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws…
Log
Files
Refs
Tags
README
---
tgtimes7.txt (24408B)
---
1
2
3
4 The Gopher Times
5
6 ____________________________________________________________
7
8 Opus 7 - Gopher news and more - Jan. 2023
9 ____________________________________________________________
10
11
12
13
14 Shell Redirections athas
15
16 Newcomers to the Unix shell quickly encounter handy
17 tools such as sed(1) and sort(1). This command prints
18 the lines of the given file to stdout, in sorted or-
19 der:
20
21 $ sort numbers
22
23 Soon after, newcomers will also encounter shell redi-
24 rection, by which the output of these tools can conve-
25 niently be read from or stored in files:
26
27 $ sort < numbers > numbers_sorted
28
29 Our new user, fascinated by the modularity of the Unix
30 shell, may then try the rather obvious possibility of
31 having the input and output file be the same:
32
33 $ sort < numbers > numbers
34
35 But disaster strikes: the file is empty! The user has
36 lost their precious collection of numbers - let's hope
37 they had a backup. Losing data this way is almost a
38 rite of passage for Unix users, but let us spell out
39 the reason for those who have yet to hurt themselves
40 this way.
41
42 When the Unix shell evaluates a command, it starts by
43 processing the redirection operators - that's the '>'
44 and '<' above. While '<' just opens the file, '>'
45 *truncates* the file in-place as it is opened for
46 reading! This means that the 'sort' process will du-
47 tifully read an empty file, sort its non-existent
48 lines, and correctly produce empty output.
49
50 Some programs can be asked to write their output di-
51 rectly to files instead of using shell redirection
52 (sed(1) has '-i', and for sort(1) we can use '-o'),
53 but this is not a general solution, and does not work
54 for pipelines. Another solution is to use the
55 sponge(1) tool from the "moreutils" project, which
56 stores its standard input in memory before finally
57 writing it to a file:
58
59 $ sort < numbers | sponge numbers
60
61 The most interesting solution is to take advantage of
62 subshells, the shell evaluation order, and Unix file
63 systems semantics. When we delete a file in Unix, it
64 is removed from the file system, but any file descrip-
65 tors referencing the file remain valid. We can ex-
66 ploit this behaviour to delete the input file *after*
67 directing the input, but *before* redirecting the out-
68 put:
69
70 $ (rm numbers && sort > numbers) < numbers
71
72 This approach requires no dependencies and will work
73 in any Unix shell.
74
75
76
77 Library of Babel now available on gopherspace.Bitreich
78
79 What is the Library of Babel?
80
81 >> The Library of Babel is a place for scholars to do
82 research, for artists and writers to seek inspira-
83 tion, for anyone with curiosity or a sense of humor
84 to reflect on the weirdness of existence - in short,
85 it's just like any other library. If completed, it
86 would contain every possible combination of 1,312,000
87 characters, including lower case letters, space, com-
88 ma, and period. Thus, it would contain every book
89 that ever has been written, and every book that ever
90 could be - including every play, every song, every
91 scientific paper, every legal decision, every consti-
92 tution, every piece of scripture, and so on. At pre-
93 sent it contains all possible pages of 3200 charac-
94 ters, about 104677 books.
95
96 Now available on gopherspace!
97
98 Have fun!
99
100 Sincerely yours, 20h Chief Librarian Officer (CLO)
101
102
103
104
105 Donkey Meter goes online. Bitreich
106
107 Have you ever wondered, how much traffic is used on
108 Bitreich.org? Now you can see it. In combination with
109 our French friends who spread donkey technology, we
110 now have a Donkey Meter:
111
112 It takes a second to load due to donkey technology re-
113 strictions.
114
115 You might also be interested in our Large Donkey Col-
116 lider technology.
117
118 Have fun!
119
120 Sincerely yours, 20h Chief Donkey Officer (CDO)
121
122
123
124 Most minimal Gopher server tgtimes
125
126 Gopher is a protocol providing a gateway to a document
127 system, allowing to serve an organized hierarchy of
128 files over the network. Dynamically generating the
129 content as per user requests is also possible. The
130 client side is in charge of rendering the content as
131 it sees fit.
132
133 Generating Gopher indexes and transmitting file con-
134 tents or generated contents is low in software compm-
135 lexity, and in turn allows less expensive hardware to
136 be run than complex web stacks.
137
138 Which cost would we end-up for building a minimal
139 piece of hardware able to host the Gopher protocol
140 acheiving all of the above? The Gopher Times investi-
141 gates.
142
143 Communication While WiFi is inexpensive and fits mov-
144 ing device gracefully, the reliability of Ethernet
145 is indicated for a server. Ethernet adds 1 USD of
146 cost for the transceiver handling the electricial
147 characteristics of Ethernet. These typically expose
148 an RGMII interface.
149
150 Processing A microcontroller featuring an Ethernet pe-
151 ripheral (with an RGMII interface) could be the pop-
152 ular STM32F103, or an alternative compatible part.
153 Enough processing power would be present for an em-
154 bedded TCP/IP and a TLS stack.
155
156 Automation In addition, most microcontrollers feature
157 a large range of built-in peripheral such as timers
158 and communication or analog interfaces, enabling au-
159 tomation of devices such as lighting, heating, laun-
160 dry, motors, or an entire car, through external mod-
161 ules. This would come for no extra cost.
162
163 Storage A slot for a MicroSD card would allow storing
164 and updating the static content to serve, and stor-
165 ing network configuration.
166
167 Scripting There exist project to fit programming lan-
168 guages onto microcontrollers. Separate projects for
169 supporting a subset of each of Python, Ruby,
170 Javscript, Go, Rust, Lua, Forth and more.
171
172 Power By letting power supply happen through the USB
173 port, a large range of power source can be used,
174 such as battery, solar panels, wind turbine, hy-
175 dropower, or power outlet.
176
177 The bill of materials for such a design would approxi-
178 mate 5 USD. A marketed device with a small margin for
179 the seller could reach as low as 10 USD.
180
181 Interestingly, such a device would also be able to
182 provide an equivalent Web service able to work with
183 all Web client, but not running the existing popular
184 Web server software stacks known as "Web Frameworks".
185
186
187
188
189 Groundhog Day Service Page online. Bitreich
190
191 At Bitreich we support the culture of grounded, based
192 and ecological- and animal-friendly technology. In
193 this sense, it is natural for us to support Groundhog
194 Day, the scientific measurement for winter length pre-
195 diction. In preparation for our now yearly celebration
196 of this day, we now offer the current groundhog shadow
197 status on Bitreich:
198
199 Future prediction has never been that easily and
200 worldwide available!
201
202 Now groundhog was harmed in the production of this
203 service!
204
205 Sincerely yours, 20h Chief Ground Officer (CGO)
206
207
208
209 DJ Vlad Session on Bitreich Radio on 2023-03-11itreich
210
211 New DJ Vlad Session from Serbia on Bitreich Radio on
212 2023-03-11T20:00 CET.
213
214 Our residing DJ Vlad (not from Russia or Ukraine) has
215 found a new sound and will present it to us at 2023-
216 03-11T20:00 CET exclusively on Bitreich Radio!
217
218 He will be streaming from Serbia to all over the go-
219 pherspace and the world!
220
221 The whole session can be listened to of course at:
222
223 It is so easy and simple.
224
225 See you all for this exclusive experience from Serbia!
226
227 Sincerely yours, 20h Chief Vibe Officer (CVO)
228
229
230
231
232 C Thaumaturgy Center opens at Bitreich Bitreich
233
234 People always had a desire for magic. This magic does
235 not end in modern times.
236
237 >> Any sufficiently advanced technology is indistin-
238 guishable from magic. -- Arthur C. Clarke
239
240 So is C, C pointers and C bit twiddling:
241
242 Get your daily magic there!
243
244 In case you have your own C magic spells laying around
245 and want to offer them to the public, send them to:
246 Christoph Lohmann <[email protected]>
247
248 I will include them into the programme of the C Thau-
249 maturgy Center.
250
251 Sincerely yours, 20h Chief Magic Officer (CMO)
252
253
254
255
256 Bitreich Telemetry Service goes Public. Bitreich
257
258 The industry is going towards telemetry everywhere: Go
259 programming language logging, Windows 11 poop logging
260 etc. To save you from burnout (which is what Google
261 uses for telemetry excuse!), Bitreich is moving for-
262 wards too. Try it now!
263
264 $ git clone git://bitreich.org/geomyidae
265 $ cd geomyidae
266 $ make telemetry
267
268 In case you want to use the telemetry API in your pro-
269 ject, just us:
270
271 # Everything behind the secon0 | ncebitreich.orgt70pped.
272 Thanknyou"forpinstalling}${projectname}!
273 Nothing is logged. You can trust us, we are not Google.
274
275 It is free to use!
276
277 Have fun! 20h Chief Telemetry Officer (CTO)
278
279
280
281
282 Peering Cake for IPv6 tgtimes
283
284 The Internet Protocol is the fundamental encoding and
285 communication convention that permits computers to
286 reach each other across multiple LANs.
287
288 An Protocol to allow Inter-Network communication.
289 Andy Tanenbaum wrote a beautiful introduction about
290 the underlying idea:
291
292 The part of Internet visible from a single user looks
293 like a tree, with at its root the service provider.
294 Regardless how complex the branches are, there is usu-
295 ally "the gateway", implying a single one per network,
296 to allow traffic to "exit", implying a single direc-
297 tion to go for reaching the outter world. The routing
298 configuration rarely changes, and is often boiling
299 down to "going out", implying beyond the gateway is
300 outside..
301
302 The part of Internet visible from a service provider,
303 however, looks like a mesh, a more balanced graph,
304 with many possible gateways, many possible "exit" di-
305 rections, and no more idea of "outside". If you pick
306 one possible gateway picked at random, hoping them to
307 nicely find the correct destination for your IP pack-
308 ets, they may realistically cut your connection and
309 never ever talk to you again, depending on how much
310 traffic you suddenly sent (routing your IPs to
311 0.0.0.0). This happens frequently. Network admin mail-
312 ing lists are constantly active with many people dis-
313 cussing with many others.
314
315 Network admins themself are usually friendly among
316 themself, even across concurrents, but companies do
317 not always play nice with each other.
318
319 There is a legendary dispute known by all Internet
320 Service Provider (ISP) netadmins: the two biggest in-
321 ternational internet network providers, Cogent and
322 Hurricane Electric, are disconnected. The two major
323 IPv6 Carriers, those giants connecting the ISP togeth-
324 ers across continents, are currently refusing to ex-
325 change IPv6 packets with each other. This means that
326 with IPv6, from a country connected to only Cogent, it
327 is not possible to reach a country connected to only
328 Hurricane Electric, and the other way around. For
329 this reason, all ISPs from all countries connections
330 with many more carriers for IPv6 than it is for IPv4,
331 resulting in either lower stability or higher cost.
332
333 This strategy permits Cogent to remain competitive
334 face to its larger concurrents. Hurricane Electric,
335 on the other hand, have much more commercial advantage
336 to perform peering with Cogent, to therefore exchange
337 traffic. In the diversity of attempts to get Cogent
338 to change its mind, Hurricane Electric decorated a
339 large creamy cake with a message, and shipped the cake
340 to the headquarters of Cogent. Here is what the mes-
341 sage said in 2009:
342
343 >> Cogent (AS174) Please IPv6 peer with us XOXOX -
344 Hurricane Electric (AS6939).
345
346
347
348 Announcing the "tgtimes" keyword tgtimes
349
350 As any newspaper, The Gopher Times goal is to relay
351 information. Through chat discussions, The Gopher
352 Times ocasionnally collect heirlooms which are pub-
353 lished back to the community in this newspaper.
354
355 We propose this way of catching The Gopher Times at-
356 tention, so that editors can collect all occurences:
357 In an IRC chat discussion, simply make the word tg-
358 times appear as a way to pingback to us.
359
360 Upon publishing The Gopher Times, the IRC logs of var-
361 ious channels will be searched for this keyword, hence
362 noticing every time someone wanted to submit something
363 to the The Gopher Times. One word to say and The Go-
364 pher Times comes that way.
365
366
367
368
369 #bitreich-cooking ggg
370
371 In the city home to the best pubs in the English-
372 speaking world, Truth keeps ggg alive, tantalises him
373 sadistically, and heals, then looks after him. Coming
374 from China, ggg waded through lies to learn that noth-
375 ing is more powerful than Truth; coming into Cork, ggg
376 learnt that Truth catches up nicely with nobody,
377 still, you would prefer Truth's company anyway.
378
379 Life is fierce futility. Agony unites us. Renais-
380 sance will come.
381
382 60% hustler + 15% hacker + 25% hipster is ggg. The
383 more he writes, the less words he ends up with. You
384 can find ggg on #bitreich-en and #bitreich-cooking.
385
386
387
388 Most minimal gopher client tgtimes
389
390 Gopher is a protocol allowing browsing text, images
391 interactively, reach telnet interfaces, and download
392 any file, or open any URL, for custom action to be
393 chosen by the user.
394
395 Network One reliable way to fetch the content from in-
396 ternet would be Ethernet, but convenience and price
397 would push toward using radio transmission such as
398 WiFi. [1]
399
400 Processing One inexpensive family of processors fea-
401 turing a high cost-to-performance ratio, which also
402 features WiFi, is the ESP32. The C3 iteration even
403 uses the open-source architecture RISC-V. The speed
404 is decent enough for decoding JPEG an PNG, or sup-
405 port TLS as used in gophers://.
406
407 Display The cost of displays have dropped considerably
408 as they invaded the market. Economy of scale made
409 small color displays even cheaper than character-
410 based displays.
411
412 Input Browsing content is a lot about scrolling. Since
413 we do custom hardware, capacitive touch buttons can
414 be used for little to no extra cost. This could
415 permit a smooth scrolling through the content. [2]
416
417 Text Text is compact and efficient, and bitmap font
418 requires a bit of storage for all the common non-
419 ASCII characters, but ESP32 have 16MB of flash stor-
420 age enough for the entire uncompressed Unifont:
421
422 Audio Producing sound does not cost much more than a
423 small audio amplifier, software for decoding MP3,
424 and a 3.5mm Jack connector. Very small cost added.
425
426 Extension an USB interface would allow plugging the
427 device to a computer for either automation or using
428 a full keybaord.
429
430 Power A small dedicated battery could be included in-
431 creasing the cost, but getting all power from USB
432 would also preserve the choice to the user, free to
433 chose a wall charger or portable power bank.
434
435 Enclosure A custom 3D printed case would allow keeping
436 the cost very low even at small volume production.
437
438 There exist boards around 5 USD which would provide
439 all of the above except audio and a few wires, typi-
440 cally the size of an MP3 player. The grand total bill
441 of material could realistically approach 10 USD. An
442 actual product could eventually reach as low as 15 USD
443 if keeping only a small margin for the seller, and
444 eventually lower if produced on a larger scale.
445
446 The support of TLS does not bring any cost in this ex-
447 ample: an ESP8266 could be used at around 0.85 USD in-
448 stead of 1.25 USD for the ESP32-C3, but is also capa-
449 ble of TLS. Image decoding would then probably be
450 much slower. By far the most resource hungry part of
451 this project.
452
453 Writing the software for such a product from the
454 ground up could take typically an entire week, includ-
455 ing JPEG and PNG decoding libraries, image and font
456 rendering, writing driver for all the parts involved,
457 integrating the TCP/IP stack and TLS stack.
458
459 While an XML parser able to fetch content over HTTP
460 would be relatively as difficult to build, this would
461 not permit the same level of user experience as the
462 Gopher-based project: CSS and JavaScript are becoming
463 an increasingly frequent requirement to access the
464 Web, and reimplementing a new compatible rendering en-
465 gine is not feasible to a single person.
466
467 This requirement would in turn affect the minimal per-
468 formance of the processing unit used: a processor in
469 the GHz range with RAM in the GB range, in particular
470 if anticipating future needs of the Web software sys-
471 tem.
472
473 1 Ethernet would require an extra transceiver chip, while wifi takes …
474 just a wire acting as antenna, which partly explains its low cost.
475 2 Once again, mostly requiring wires, this cuts the price and explain
476 their popularity.
477
478
479
480
481 Meme cache pointer support Bitreich
482
483 The Bitreich memecache joins modern programming lan-
484 guages like C in supporting pointer notation. Get a
485 pointer representation of a meme by referencing it in
486 our IRC channels with the syntax '*<tag>', instead of
487 the usual '#<tag>'.
488
489 Example:
490
491 <adc> #gnu-hut
492 <annna> #gnu-hut: gophers://bitreich.org/I/memecache/gnu-hut.jpg
493 <adc> *gnu-hut
494 <annna> *gnu-hut: gophers://bitreich.org/9/memecache/filter/*gnu-hut.…
495
496 The pointer notation works for image and video memes.
497 Remember that you can explore our memes with [1]
498 bitreich-tardis, and explore the inner workings of
499 annna in the [2] git repository. -adc Deep pointer
500 support in memes.
501
502 Thanks the ground work of adc, we had pointer support
503 for memes. Based on this, we now have deep pointer
504 support for all kind of memes:
505
506 With cache support. Have fun pointing at memes! We
507 had much fun making this. :D Reverse pointer support
508 for memes.
509
510 After a public request by an avid pointer lover, we of
511 course implemented reverse pointer support for memes
512 now:
513
514 See how you can dereference this teapot now.
515
516 Have fun!
517
518 Sincerely yours, 20h Chief Pointy Officer (CPO)
519 1 git://bitreich.org/bitreich-tardis
520
521 2 git://bitreich.org/annna
522
523
524
525 The Road to Success josuah
526
527 Success, the holy grail in Life. Many different forms
528 and shapes. Marriage? Career? A medal? A stable fi-
529 nancial situation? Crossing the border and get natu-
530 ralized? So many facets to that same shiny diamond.
531
532 Or does success mean avoiding failure? In that case,
533 doing nothing means no failure, but trying always have
534 more chance to reach whatever one names "success".
535
536 If failing means that trying did not lead one as far
537 as hoped for, then the next thing to do for getting
538 closer to "success" again is trying again, in risk to
539 fail over again. And while so, also going a bit
540 closer every time to success. What is the landmark
541 that distinguish being very close to actually reaching
542 success? Which indicator to use? Is it about com-
543 pleting a large project? Fame? A position in the
544 company? And once at the top position of a company,
545 one can still say it was a tiny company and the real
546 goal always was to be at the head of a great company,
547 and that success will be when the company is large
548 enough.
549
550 So if there is no real landmark, if failing is trying
551 but failing to reach an impossible goal, then failing
552 is the result of trying whatever that leads to. Fail-
553 ure would be the moment that follows any attempt to
554 reach the end of a direction. Failure would simply be
555 the moment where you look back at where you were be-
556 fore trying, where you are now, and the road left to
557 go to reach infinity.
558
559 Success looks similar: trying to move forward, con-
560 stantly bumping the objective further as one get
561 closer to it. Again success is the moment where you
562 look at where you are, and estimate how far you've
563 been. If success and failure are the same, this sug-
564 gests that something is wrong somewhere. Somehow, the
565 ultimate acheivement of every life is death.
566
567 The Road to Success? This is the same as the road to
568 Failure: this is Life, it leads to Death. Wherever we
569 go, we will be on it as long as we live. So now, may
570 we move that idea of Success away so that we can enjoy
571 living our life.
572
573
574
575
576 sfeed 1.7 was released. Hiltjo
577
578 sfeed is a tool to convert RSS or Atom feeds from XML
579 to a TAB-separated file.
580
581 It can be found at:
582
583 sfeed has the following small changes compared to 1.6:
584 sfeed_curses:
585
586 o Add SCO keys for next, prior (CSI I and CSI G).
587 Tested on DragonFlyBSD (cons25 console).
588
589 o Add SUN keys support. Tested on OpenIndiana.
590 sfeed_gopher:
591
592 o Remove unnecesary PATH_MAX restricting the path
593 length. This also makes it compile cleanly on
594 GNU/Hurd.
595
596 o Man page and documentation improvements.
597
598 I want to thank all people who gave feedback,
599
600 Thanks, Hiltjo
601
602
603
604 Volunteers for a The Gopher Times trial wanted.itreich
605
606 As pioneers in the gopher world, we at Bitreich want
607 to make the gopher times more accessible to all people
608 over the world. For this, we are planning a trial to
609 have printed out the gopher times sent to your
610 doorstep.
611
612 If you want to participate, please send your name and
613 address to
614
615 Christoph Lohmann <[email protected]>
616
617 World delivery to all remote places is possible too.
618
619 Sincerely yours, 20h Chief Press Officer (CPO)
620
621
622
623
624 Brcon2023 from August 7th to 13th Bitreich
625
626 The community has decided! Brcon2023 will happen be-
627 tween 7th to 13th of August beginning with an online
628 session from 7th to 10th August and a presence part
629 from 11th to 13th of August in Callenberg, Germany:
630
631 This means, the call for papers/presentations is open.
632 This year the main topic will of course be gopher and
633 all kind of simple services created for gopherspace.
634 All other simple protocols are welcome too.
635
636 Some topics that are already planned and may inspire
637 you:
638
639 o Entropy services via gopher.
640
641 o Serving highly-complex memes via IRC/gopher includ-
642 ing gopher GPU services.
643
644 o Geo / map services via gopher.
645
646 o Qi Gong for beginners (in the forest!) including an
647 inspiring forest walk in the sun.
648
649 o Gophers and other family members in a museum exhibi-
650 tion with an exclusive tour.
651
652 It is very simple to hold a presentation. Please see
653 the slides from a previous con:
654
655 And it is possible from all over the world! The world
656 is invited!
657
658 Please send proposals for talks to Christoph Lohmann
659 <[email protected]>.
660
661 See you at brcon2023!
662
663 Sincerely yours, 20h Chief Conference Officer (CCO)
664
665
666
667 Publishing in The Gopher Times you
668
669 Want your article published? Want to announce some-
670 thing to the Gopher world?
671
672 Directly related to Gopher or not, reach us on IRC
673 with an article in any format, we will handle the
674 rest.
675
676 ircs://irc.bitreich.org/#bitreich-en
677 gopher://bitreich.org/1/tgtimes/
678 git://bitreich.org/tgtimes/
679
680 Did you notice the new layout? We now can jump be-
681 tween single and double column as it is more fit: Some
682 large code chunks will not fit in a two-column layout,
683 but text is more pleasant to read on two columns.
684
685
686
687
You are viewing proxied material from bitreich.org. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.