Skip to main content

Posts

Kobalto-60: Kaj helpema kaj minaca

Dum mi interparolis kun aliaj esperantistoj ĉe lastatempa renkontiĝo en publika kafejo, mi aŭdis la konversacion de apuda ne-esperantista grupo. Ili estis universitataj studentoj, diskutantaj pri fiziko kaj radiado. Oportuno amikiĝi instigis min interrompi ilin, dirante (en la angla): “Pardonu la interrompon. Mi ne intence kaŝaŭskultis, sed kobalto-60 estas mia plej ŝatata.” Unu studento maltrankvile rigardis min. Studento: “Kiel vi scias pri tio?” Mi: “Nu… ĝi estas sufiĉe konata temo, ĉu?” Studento: “Ne… ne estas.” Esperantistoj: “Kio estas kobalto-60?” Anstataŭ komenci amikan interŝanĝon, en kiu ili eble demandos nin pri nia lingvo, mi senintence kreis impreson, ke ni estas grupo de esperantaj teroristoj! Por elturni ion bonan el mia socia mispaŝo, mi decidis, ke la temo taŭgas por artikolo en nia bulteno. Do… Superrigardo Kobalto estas brila, griza metalo kun multaj uzoj. Ĝi estas uzata en la fabrikado de reŝargeblaj piloj, fortaj magnetoj, veturilaj aerkusenoj, kaj j...

La irlanda semaforo de Sirakuso

En la kvartalo Tipperary Hill de Sirakuso, Novjorkio, staras neordinara semaforo, kiu defias la kutimajn normojn. Tiuj renversitaj trafiklumoj, kun verda ampolo super la ruĝa, estas simbolo de la irlanda komunumo en la urbo. Dum la deknaŭa jarcento, Sirakuso grande transformiĝis pro la konstruo de la kanalo Erie kaj rapida kresko de sia salindustrio. La urbo allogis milojn da homoj serĉantaj pli bonan vivon, inkluzive migrintojn el Irlando, kiuj fuĝis pro malsato. La irlandanoj kunportis siajn tradiciojn kaj morojn, kaj profunde influis la karakteron de la urbo. Ili nomis la kvartalon Tipperary Hill, omaĝe al sia hejmo, la graflando Tipperary en Irlando. En la 1920-aj jaroj la urbestroj instalis modernajn semaforojn en la urbo, inkluzive de unu en la kvartalo ĉe la vojkruciĝo de stratoj Tompkins Street kaj Milton Avenue. Sed tiu semaforo baldaŭ fariĝis neatendita batalkampo de kultura rezisto. La irlandaj junuloj koleriĝis, vidante ke la ruĝa koloro, ofte asociita kun Britujo, sta...

La ekesto de artefaritaj verkistoj

En la lasta numero mi verkis pri la populariĝo kaj problemoj de artefaritaj intelektoj (AI), kiuj kreas bildojn el tekstaj priskriboj. Ekzistas ankaŭ aliaj AI-sistemoj kiel ekzemple ChatGPT, kiuj respondas al demandoj kaj kreas tekstojn. Kaj simile, laŭdoj kaj plendoj pri ili abundas. En tiu ĉi artikolo mi prezentos informon pri ChatGPT, pri ĝiaj limoj, kaj kiel vi povas uzi ĝin Esperante. Kio estas ChatGPT? Genera antaŭtrejnita transformilo (GPT, angle: Generative Pretrained Transformer) estas speco de AI por fari tekstojn. OpenAI kreis la unuan version en 2018, konsistantan el 0,12 miliardo da parametroj kaj trejnitan per 4,5 GB da teksto por laŭkuntekste prognozi la sekvan vorton en frazo. Ekzemple, se oni dirus al vi, “Pasporto al la tuta ____”, verŝajne vi respondus, “mondo”. Sed, ĉu oni ne uzas pasporton por viziti specifajn landojn? Danke al la tiel nomata Esperanto-kurso, la vortoj “Pasporto al la tuta mondo” aperas pli ofte en Esperantaj tekstoj ol “Pasporto al la tu...

La ekesto de artefaritaj artistoj

“Bauhaus style dog house.” (de Midjourney) Artefaritaj intelektoj (AI) kiel DALL-E, Midjourney, kaj Stable Diffusion, kiuj kreas bildojn el teksto, ricevas multe da atento lastatempe pro siaj kapabloj krei unikajn kaj belegajn artaĵojn. Tamen la atento ne estas tute pozitiva. Multaj homoj timas pri la rezultoj de la teknologio, precipe, ke ĝi ŝtelos laboron de homaj artistoj. Estas ankaŭ diversaj etikaj, juraj, kaj sociaj zorgoj. Tiuj estas gravaj, ĉar la teknologio pliboniĝas rapide, kaj ĝia akcepto fariĝas pli kaj pli vasta. Kiel funkcias programoj por fari bildojn el teksto? La celo estas krei bildojn surbaze de tekstaj priskriboj, ekzemple, “duetaĝa rozkolora domo kun blanka barilo”. La programoj dependas de speciale trejnitaj AI-modeloj por kompreni la priskribojn. Esence, la modeloj estas kreitaj per granda kvanto da datumoj, per kiuj ili agordas reton de interligitaj nodoj. La nodoj agas kiel filtriloj, rekonante specifajn trajtojn. Kun sufiĉe da tempo, datumoj, kaj bonŝ...

La Espero

Preskaŭ ĉiu esperantisto konas la himnon La Espero, kies vortoj devenas de la samnoma poemo de d-ro Zamenhof. La plej vaste kantata melodio estas verkita en 1909 de Félicien de Ménil. Tamen ekzistas ne nur unu melodio – mi jam sciis, ke esperantistoj foje kantas la poemon laŭ melodio de Achille Motteau, kiu estis verkita ses jarojn pli frue ol la de-menila melodio. Kaj ekzistas kelkaj aliaj. Sed kiom? Tion mi scivolis, do mi komencis esploron en 2018, en kiu mi malkovris preskaŭ dudek versiojn de La Espero verkitajn inter 1891 kaj 2020. Bedaŭrinde nur kelkaj melodioj estas facile troveblaj en Interreto; la plej multon mi trovis per katalogo de iu arĥivo aŭ nacia biblioteko, kaj mi petis kopion. Ju pli da ekzempleroj mi kolektis, des pli forte mi deziris, ke la muziko ne estu forgesita. Tiu muziko apartenas al la kultura heredaĵo de nia movado; ĉiu himno staras kiel ekzemplo de muzika esprimado, inspirita de amo por Esperanto kaj kredo je ĝia celo. La esploro ŝanĝiĝis al ne-atendita p...

Safely Identify Dependencies for Chrooting

The most difficult part of setting up a chroot environment is identifying dependencies for the programs you want to copy to the jail. For example, to make cp available, not only do you need to copy its binary from /bin and any shared libraries it depends on, but the dependencies can have their own dependencies too that need to be copied. The internet suggests using ldd to list a binary’s dependencies, but that has its own problems. The man page for ldd warns not to use the script for untrusted programs because it works by setting a special environment variable and then executes the program. What’s a security-conscious systems administrator to do? The ldd man page recommends objdump as a safe alternative. objdump outputs information about an object file, including what shared libraries it links against. It doesn’t identify the dependencies’ dependencies, but it’s still a good start because it doesn’t try to execute the target file. We can overcome the dependencies of depende...

A Unicode fgetc() in PHP

In preparation for a presentation I’m giving at this month’s Syracuse PHP Users Group meeting, I found the need to read in Unicode characters in PHP one at a time. Unicode is still second-class in PHP; PHP6 failed and we have to fallback to extensions like the mbstring extension and/or libraries like Portable UTF-8 . And even with those, I didn’t see a unicode-capable fgetc() so I wrote my own. Years ago, I wrote a post describing how to read Unicode characters in C , so the logic was already familiar. As a refresher, UTF-8 is a multi-byte encoding scheme capable of representing over 2 million characters using 4 bytes or less. The first 128 characters are encoded the same as 7-bit ASCII with 0 as the most-significant bit. The other characters are encoded using multiple bytes, each byte with 1 as the most-significant bit. The bit pattern in the first byte of a multi-byte sequence tells us how many bytes are needed to represent the character. Here’s what the function looks like: f...

Some Go Irks and Quirks

Now that Jump Start MySQL is published, I’m taking advantage of the spare time I have on my hands while it lasts. I’ve helped organize the Syracuse PHP Users Group , reconnected with some old friends, and gave some love to Kiwi , my forever-project programming language. Moreover, I decided to rewrite Kiwi using Go as it’s one of those languages I found interesting but never had a reason to use in any serious fashion. And now that I’ve got some real experience with it, while I still find myself impressed by some of Go’s features, some things have become really annoying. I still really like Go’s data typing; it’s static, but it feels dynamic because the compiler is smart enough to deduce a value’s type. If you write your code well then you’ll rarely see a type name outside of a function signature or struct or interface definition. It’s nice to have type safety without the verbosity (yes I’m looking at you, PHP7). I wish := behaved slightly different, though. Instead of always an allo...

PHP Frameworks Don't Save Time

Experience has shown me frameworks can be useful for maintaining structure in large code base developed by multiple teams. Every developer has different abilities and a framework enforces structure and consistency throughout the code. But I've not experienced saving any substantial amount of time on a PHP project because of a framework. The other day someone posted in the PHP subreddit asking for advice. He was about to begin work on a small project and wanted to know whether he should use a framework, and if so then which framework would be appropriate. I should have known better than to offer my two cents but I did anyway. Slim + NotORM + Twig is nice. If it's a simple project, you probably don't need much more than that. I'm not a fan of frameworks in the slightest but I do enjoy the aforementioned combination. They're lightweight and stay out of my way, allowing me to write my functionality. Another redditor picked up on my distaste for frameworks and ask...

New Writers Guide now on GitHub

Writing can be a fun and rewarding way to share your knowledge, experience, and opinions with others. Unfortunately, it can also be intimidating or frustrating for some people. When I was managing editor for SitePoint's PHPMaster property, I prepared a guide to help alleviate some of the frustration and self-doubt that new writers (and even experienced writers) might experience. The guide wasn't something commissioned by SitePoint; I wrote it on my own for my authors. And though it's been about eight months since PHPMaster was absorbed into the main SitePoint site and I stepped down as managing editor, people continue to ask me about it. So, I've decided to make the guide publicly available. The New Writers Guide offers advice for finding inspiration, structuring an article's content, growing one's self-confidence, and overcoming other challenges that programming writers may face. Hopefully it'll continue to help people write awesome articles and realiz...