the GNU Hackers' Meeting 2022 banner

GNU Hackers' Meeting 2022 — İzmir, Turkey

The GNU Hackers' Meetings or or “GHMs” are a venue to discuss technical topics related to GNU and free software. The event atmosphere is friendly and informal. Anybody is welcome to register and attend, including newcomers.
GNU Hackers' Meetings have been taking place since 2007: you may want to look at the pages documenting past editions, which in many cases include video recordings.

The GNU Hackers' Meeting 2022 will take place in the beautiful İzmir, Turkey, on Saturday 1st October and Sunday 2nd October 2022.


Remote streaming

We will try to stream the event live to the public over BigBlueButton, for those who cannot reach us in İzmir. People following remotely need no registration.

During the event this live streaming link will be active. We wish to thank Linux Weekly News for gratiously providing the BBB instance.

Notice that all the time indication in the schedule below are in the local Turkish time zone, which is UTC+3.


Workshop

GNU Jitter workshop

Luca Saiu (GNU Jitter, GNU epsilon).

Starting from a parser provided by me I will help the audience write a complete JIT for a simple programming language, using Jitter; I will implement a solution live, giving time for the audience to work on their laptops.

The workshop will follow the general ideas from Mohammad's talk about Jitter, but with many details greatly simplified as appropriate for a hackers' meeting.

I mean to keep the workshop accessible to any good programmer even not from the programming language field: because of this no particular experience on compilers will be required: knowledge of C is the only prerequisite.

The audience is invited to bring laptops with a GNU/Linux system installed or at least an SSH client.

Duration: as long as the audience is interested.

Here are the files needed for the workshop.


Presentations

There is still a little time for more people to register and submit talk proposals.
Please contact us if you would like to add your talk to this list.

Emacs as a C/C++ development environment

Ali Chegini

Emacs is a powerful editor. Thanks to extensibility of Emacs, we can make it aware of C/C++ constructs by installing a few packages.

In this talk I will go through steps of extending vanilla Emacs to add features like auto-completion, real time error checking and making Emacs aware of whole project.

Duration: 10 minutes.


The Gungadin Tools for Volcanologists and Explorationists

Christopher Dimech (GNU Behistun).

The Gungadin-Opcon Terminal Tools and the Gungadin-Typex Tools will be introduced. A long and impressive list of techniques will be discussed. Finally, there will be some action.

The Gungadin-Opcon Tools provide a unique gratifying experience, making things happen right within the terminal with command line tools made with a unique purpose of cutting down on the time and hassle in using the Gnu Core Utilities for Unix-Like environments.

The Gungadin-Typex Tools provide a sturdy configuration for Emacs, that includes a noteworthy collection of commands. These include: an accessible color and contrast environment that complies with international readability metrics; an environment for attaining the highest level of work intensity and involvement; and an abbreviated symbolic writing method for brevity and speed using a keyboard;

The typical approach by scholastic and computing pinheads is to spend time tinkering with the various commands; which although powerful, are not quick to grasp. This is at odds with volcanologists and explorationists who need to spend their time working on what is needed, and do it quick. If you desire the latter, this seance is for you.

Duration: 1 hour.


Realisations of Cosmic Complexities

Christopher Dimech (GNU Behistun).

A form of reasoning common in the seventeenth century was the Law of Economy. A primary figure in establishing simplification was the fourteenth century medieval English Theologian William of Ockham. The approach - known today as Ockham's Razor - summarises the shaving off of sophisticated machinery. Newton's Laws of Gravitation and the Copernican System of Planetary Orbits are examples of broadly applicable physical principles epitomising simplicity in classical physics. Simplicity is a very old school of thought, and has been going on long before William of Ockham. Egyptian Astronomer Claudius Ptolemy (Latin: Claudius Ptolemaeus) (100AD-170AD), for instance, wrote about it 1,200 years before William of Ockham came.

In actuality, however, physical phenomena are significantly more complicated when introspected in detail. The 2019 Global Coronavirus Pandemic culminated the next major scientific leap - the introspection of Networked Dynamical Systems characterised by interconnectivity, uncontrolability, and unpredictability. The realisation of the complexity of the cosmos inevitably cracks the Reductionist Paradigm. A similar refutation of reductionism was provided for mathematics by the Incompleteness Theorems of Austrian Logician Kurt Gödel. Geophysics presents us with an impressive number of natural complications. The most interesting component is how systems are characterised by their interacting structures, driven by organizing principles that function at different scales. These intricacies will be discussed.

Things will get more specific, by considering the exotic capability of recontructing vibrational patterns from continuous measurements of stellar and planetary microseismic wavefields in specific low-frequency spectral bands. An effective computational scheme for generating hypersensed coherance functions is presented, Rather than continuing with the compulsive emotional patters many are accustomed to, this session demonstates how mathematical complications are capable of producing wonderful transformations of science and beyond.

Duration: 1 hour.


GNU Poke: the extensible editor for structured binary data

José E. Marchesi (GNU poke, GNU recutils, GNU ferret).

GNU poke is an interactive, extensible editor for binary data. Not limited to editing basic entities such as bits and bytes, it provides a full-fledged procedural, interactive programming language designed to describe data structures and to operate on them.

In this talk I will be introducing the tool, its fundamentals, explain how it works, show some implementation details, and highlight what is new in recently released versions.

Duration: 1 hour and 30 minutes.

How GNU programs are developed: a practical guide

José E. Marchesi (GNU poke, GNU recutils, GNU ferret).

Behind GNU programs lies a complex infrastructure of software, standards, communication tools, to make the maintainer life's easier.

Even non-GNU programs might want to take inspiration. Or would you like to become the new author or maintainer of some GNU software yourself?

Duration: 1 hour.


poked: GNU poke beyond CLI

Mohammad-Reza Nabipoor (GNU poke).

GNU poke is about manipulating structured binary data. For a long time, the only available user interface (UI) for poke was the CLI interface. But that's not the case anymore! Now we have ‘poked’ and a lot of pokelets. ‘poked’ is the daemon responsible for enabling pokelets provide their UIs. The most mature pokelet is poke-el (an Emacs interface). This talk explains why this approach is a good and powerful idea. And how it enables users to make their own task-specific UIs very fast, or extend GNU poke with more capabilities (like making GNU poke a more powerful Wireshark-like tool, or adding disassembly capabilities).

Duration: 1 hour.


So you need a virtual machine? Use GNU Jitter

Mohammad-Reza Nabipoor (GNU poke).

So you have a great idea regarding a new awesome programming language, you already have a parser for your language, and you need to run your code? It's your lucky day! In this code-oriented tutorial I'll go through all steps from an Abstract Syntax Tree (AST) to actually executing the code of a simple programming language.

The purpose is to show you how easy it is to get a fast virtual machine, without spending too much time on non-fun stuff.
Now you can spend most of your time designing your awesome new language and not waste your time trying to get your code run faster on different platforms! Now it's Jitter's responsibility!

GNU Jitter supports every platform that has a standard C compiler. If your platform supports advanced compilers like ‘gcc’, it even can generate much faster code for you, automagically! All behind the scenes!

Duration: 1 hours and 30 mintes.


Using GNU Lilypond to control software instruments

Tobias Platen (GNU Lilypond).

Lilypond can be extended using Guile, the GNU's scripting language. One example of the use of Guile is the Singing Computer project which uses an extension to Lilypond to control the Festival Speech Synthesis System. In this talk I will propose ways how to control software music instruments, including singing voice synthesizers, drum computers and karplus strong guitar player bots using Lilypond and Guile. An exporter for MusicXML could be made using the same interface, that the Singing Computer project uses.

Duration: 1 hour.


Novelties in Rust for C and C++ developers

Egeyar Saiu.

An introduction to Rust and its features, intended for people who know C or C++ and are considering a safer alternative.

Duration: 1 hour.


The joy of being precise: exact garbage collection from C and a language VM

Luca Saiu (GNU Jitter, GNU epsilon).

The Boehm-Demers-Weiser garbage collector is a successful piece of software, very widely used but not loved. In this talk I will start with an apology of Boehm's remarkable and underappreciated system and then present my completely different alternative garbage collector, to be included in Jitter.

The new Jitter garbage collector features precise rather than conservative pointer finding: its higher performance comes at the cost of a much more complex and error-prone C API.

I will show how to write a C system interfacing with Jitter's garbage collector, and how to use the collector from language VM code.
Studying garbage collection and language VMs reminds us of a very obvious design principle for performance-oriented software: optimising for the common case.

How can we generalise this design from a sequential to a parallel system? Is this generalisation even worth the trouble?

Duration: ???.


Free software on cell phones: my experience with Replicant

Luca Saiu (GNU Jitter, GNU epsilon).

Replicant is a free-software variant of Android, and is the only system I use on my only cell phone. Replicant is a compromise giving control to the user on top of a hostile hardware platform.

I will speak about the project and relate my experience, mostly positive. Replicant is not difficult to install on supported hardware and can be used right now in production even if performance and reliability are not perfect.

I will show you the utilities I use to handle my Replicant phone from GNU/Linux computer: mounting the phone file system over USB, transferring files, backing up, installing free software apps, accessing the logs — plus something more fun, such as running an application using GNU Jitter on the phone.

In case you want to contribute I can direct to people who can use your help; the project does need help from competent programmers.

I am a somewhat advanced user of Replicant but I do not participate in its development; this talk will probably be the least technical of the entire meeting.

Duration: 45 minutes.


In defence of language as an interface — a statement of the obvious

Luca Saiu (GNU Jitter, GNU epsilon).

While preparing the presentation about Replicant I started with a premise about my personal dislike for some kinds of user interfaces. As my rant grew and grew, rather than cutting it as off-topic, I decided to split it off into a separate talk. I believe that this premise turned out to be more interesting than the main talk.

My claim is that the best way of harnessing the power of computers is trough linguistic interface of some kind, independently from the specific encoding of language terms. I propose to generalise Abelson and Sussman's three elements of programming to human-computer interface.

Duration: 45 minutes.


Event schedule

All the times as given in TRT UTC+3.

Friday 30th September

Pre-event dinner at BigChefs Alsancak.
Address: Kültür, Atatürk Cd. No:172, 35220 Konak/İzmir, Turkey
Date and time: Friday 2022-09-30, 19:30 TRT (UTC+3)

Please let us know if you arrive early enough and you are interested.


Saturday 1st October

Time Speaker Title
09:00 - 09:15 - Welcome
09:15 - 09:30 Luca Saiu Free software, the GNU Project and the GNU Hackers' Meetings
09:30 - 09:40 - A round of introductions
09:45 - 10:45 Christopher Dimech The Gungadin Tools for Volcanologists and Explorationists (remote talk, live from the Kamchatka peninsula)
10:45 - 11:00 coffee break
11:00 - 12:30 Mohammad-Reza Nabipoor So you need a virtual machine? Use GNU Jitter (remote talk, live from Iran)
12:30 - 13:30 lunch break
13:30 - 15:00 José E. Marchesi GNU Poke: the extensible editor for structured binary data
15:00 - 15:15 coffee break
15:15 - 16:15 Tobias Platen Using GNU Lilypond to control software instruments (remote talk, live from Germany)
16:20 - 16:30 Ali Chegini Lightning talk: Emacs as a C/C++ development environment (either live from Iran or from a pre-recorded video)
16:35 - 18:00 Luca Saiu In defence of language as an interface — a statement of the obvious immediately followed by Free software on cell phones: my experience with Replicant
starting from 18:00 dinner at [to be announced]


Sunday 2nd October

(Sunday's schedule is still subject to change)

Time Speaker Title
09:00 - 09:15 - Welcome
09:20 - 10:20 Christopher Dimech Realisations of Cosmic Complexities (remote talk, live from the Kamchatka peninsula)
10:20 - 10:35 coffee break
10:35 - 11:35 Mohammad-Reza Nabipoor poked: GNU poke beyond CLI (remote talk, live from Iran)
11:35 - 13:00 lunch break
13:00 - 14:00 Egeyar Saiu Novelties in Rust for C and C++ developers
14:00 - 14:15 coffee break
14:15 - 16:45 ? Luca Saiu GNU Jitter workshop
17:00 - 18:00 José E. Marchesi How GNU programs are developed: a practical guide

Practical information

Venue

Hotel Park Inn by Radisson
Cumhuriyet Bulvari 124, 35210 İzmir, Turkey
info.izmir@parkinn.com
+90 232 4044242
Latitude 38.42721, Longitude 27.13326. See
a map of the area around the hotel on OpenStreetMap.

GHM 2022 will take place at Park Inn by Radison, İzmir; which is one block away from well-known Cumhuriyet Meydanı (Rebublic Square) in the district of Konak. We agreed to an attendance fee of 60€ per person, which includes two coffee breaks and snacks: one break in the morning, one in the afternoon.

We decided to help students who wish to attend by contributing 50€ out of their 60€ attendance fee; they will need to only pay 10€, upon presenting proof of enrolment to us.

Accommodation

Our venue provider Park Inn by Radison offered us a slight discount as well: A standard room is 80€ for one person or 100€ for two people, per night.
Otherwise, many other hotels surround Cumhuriyet Square. Within 10 minutes of walking distance from the venue, the prices of standard hotel rooms vary between 25€ and 135€ per night.

Almost all hotels include breakfast, which is the most important meal of the day in Turkey. We humbly suggest you not to skip that.

Transportation

The closest airport is Adnan Menderes Airport (ADB) which is connected to many main European airports by direct flights. We regret to suggest avoiding Corendon Airlines, known for often cancelling flights.

One can of course take a cab from the airport to the hotel. Alternatively, Egeyar suggests taking the IZBAN train from the airport to Alsancak train station, walking towards the Alsancak port (10 min), and then walking along the coast for 15 minutes to reach Cumhuriyet Meydanı.

Athens and İzmir are connected by the two ferry lines Pireas-Chios-Cesme and Pireas-Kusadası. Keep in mind that you'd need to drive over an hour after landing to reach the İzmir city centre.

Unfortunately there is only a single train connection between Turkey and Europe, between Sophia and Istanbul where one can then hop on a train to İzmir. Both main train stations of İzmir, namely Basmane Garı and Alsancak Garı, are at a walking distance from the Cumhuriyet square.

Meals

The GHM registration fee includes coffee breaks with snacks, but meals are not included.

Tips for İzmir

The attendee Burak Sulak has published some tips for people visiting İzmir on his web site carrot.monster.


How to contact us

The event is organised by Egeyar Saiu who takes care of the logistics and by Luca Saiu who is dealing with the event schedule.

You may:

Of course everybody is welcome to subscribe to ghm-discuss.

Registration

Please contact us by email at ghm2022@gnu.org in order to register.

Submitting a talk proposal

We welcome talk proposals or proposals of technical demos / workshops. Any technical talk related to GNU and free software is considered on-topic.

Please contact us by email at ghm2022@gnu.org or, in case you want to discuss your idea in public, write to the ghm-discuss mailing list. In either case please indicate:


GHM 2022 banner

If you want to promote the event on your website you may use this banner, reminiscent of the one prepared with Sylvain for the 2013 edition, to link to this page:

a banner for linking to the GNU Hackers' Meeting 2022 page

You might write, for example,

<span style="max-width: 90%; max-height: 5em;">
  <a href="https://www.gnu.org/ghm/2022">
    <img style="display:block; margin-left: auto; margin-right: auto; border-style: none;"
         src="ghm-2022-banner-small.jpg"
         alt="GNU Hackers Meeting 2022 banner"/>
  </a>
  <p style="font-size: 80%; text-align: center">
    Banner released under <a href="http://artlibre.org/licence/lal/en">FAL</a>,
    <a href="https://www.gnu.org/copyleft/fdl.html">GFDL-1.3+</a>,
    or
    <a href="https://creativecommons.org/licenses/by-sa/2.0/">CC BY-SA 2.0</a>.
    Banner copyright &copy; 2022 Luca Saiu, Egeyar Saiu.
  </p>
</span>

The banner is available as:

About the banner: Copyright © 2022 Luca Saiu, Egeyar Saiu. The banner is distributed under a choice of:

The banner is based on: