Z pamiętnika z życia programisty FLOSS: Bezpieczna konfiguracja

Jakiś czas temu byłem zafascynowany projektem etckeeper. Prawdopodobnie przeczytałem o nim w Linux Magazine. Projekt robi w pewnym sensie to samo, co snapper, a mianowicie pozwala na przywracanie i zapisywanie konfiguracji systemu (choć snapper ma większy zakres działań).

Parę dni temu rozpocząłem projekt, który podchodzi do tego od innej strony. Również pozwala wyświetlić administratorowi listę dokonanych zmian, ale zamiast pozwalać na dokonanie zmian w systemie przed możliwością ich podejrzenia, izoluje zmiany i wyświetla je administratorowi z pytaniem czy je potwierdza.

Z pamiętnika z życia programisty FLOSS: Nowe/stare spojrzenie na GUI

Ponieważ ostatnio wyjechałem na parę dni na wakacje, postanowiłem coś napisać. Padło na prosty projekt, który od dawna chodził mi po głowie - coś, co uczyni okna bardziej modern...

Projekt o nazwie LessBar został już opublikowany. Jest na domenie publicznej. Z czym on się je? Otóż, jest to zestaw prostych trzech okienek - przycisku, okna dialogowego i docka na kontrolki. Do tej kontrolki możesz dodać dzieci - każda jako oddzielny panel. Panele domyślnie są ukryte i trzeba najechać na wspomniany przycisk, by pokazało się okno dające do nich dostęp.

Hybrydowe skrypty command i bash

W tym poradniku opiszę sposób tworzenia hybrydowych skryptów command i bash. Rozwiązanie nie będzie idealne - ma pewne wady, których chyba nie da się usunąć - na Windowsie wypisze, że polecenie #!/bin/bash jest nierozpoznawalne, a na GNU/Linux wypisze, że polecenie @echo off jest nierozpoznawalne. Coś jednak za coś. Dzięki rozwiązaniu otrzymujemy możliwość dostarczania oprogramowania na wiele systemów operacyjnych, korzystając tylko z jednego pliku.

Progress: Call To Power i Civilization V

Ostatnimi czasy miałem więcej wolnego czasu. Wygospodarowałem wystarczająco, by napisać jakoś działający plaster (trudno to nazwać warstwą) kompatybilności z grą Civilization V. Idąc dalej dodałem do zestawu reguł progressCiv5 złote ery i polityki, jakie były w Civilization V, gdyż te na wzór Cywilizacji 4/6 były dostępne wcześniej.

Jak dodałem wspomniane rzeczy do nowego zestawu reguł?

Pierwszą rzeczą dodaną do silnika gry są liczniki, następnie własne mnożniki, a na samym końcu blokada zmiany polityki społecznej.

OpenSuSE Tumbleweed na HP 15-bs010ne

Na swoim nowym laptopie postanowiłem zainstalować OpenSuSE. Miałem dwa problemy, które opiszę.

Pierwszy problem dotyczy zbyt małej partycji efi, przez co instalator nie chciał zainstalować bootloadera. Co prawda, instalator ostrzegał mnie o tym, ale kazałem mu kontynuować. Rozwiązanie było trywialne - utworzenie dodatkowej partycji EFI i wskazanie, by była montowana pod /boot/efi.

Kolejnym problemem była karta AMD, która powoduje problemy uniemożliwiające uruchomienie serwera X, Początkowo rozwiązywał to, napisany przeze mnie ten skrypt:

Propozycje nowego systemu konfiguracji

Zastanawiam się nad stworzeniem nowego systemu konfiguracji, który mógłby być używany przez wiele aplikacji. Głównym motywem jest współdzielenie konfiguracji między aplikacjami służących do wykonywania podobnych zadań.

Dla przykładu GNOME/Plasma5/Xfce4 mogłyby odczytywać wspólną, jak i indywidualną konfigurację. Oddzielne API zostałoby zaprojektowane do zapisywania konfiguracji.

Jednym z pomysłów byłoby użycie czegoś w stylu media queries z CSS-a. Dodatkowo przetwarzanie plików byłoby kaskadowo, czyli od góry w dół.

Tworzenie własnego zestawu reguł „Postęp"

Praca nad Postęp (ang. Progress) była na jakiś czas zawieszona, jednak od wczoraj wprowadzam drobne ulepszenia. W tym wpisie jednak opiszę, jak wykorzystać elementy dodane do Postęp w porównaniu do Freeciv, by tworzyć reguły gry. Postęp bazuje na Freeciv, więc opiszę tylko te elementy, których nie ma we Freeciv. To nie jest poradnik dla gracza, a dla modera.

Nowości w Postęp

Postęp wprowadza następujące nowości, względem Freeciv:

  • Wielkich ludzi
  • Akumulatory efektów (effects accumulators)
  • Iteratory efektów (effects iterators)

Nowa wersja Postęp: Wielcy ludzie i prawa obywatelskie

Właśnie przed chwilą udostępniłem nową wersję Postęp (ang. Progress). Zmiany są raczej kosmetyczne. Dodanie obsługi wielkich ludzi i Prawa obywatelskie (ang. Civics). Kod wielkich ludzi nie sprawia problemów, choć jest nie kompletny. Kod Civics jest bardziej kompletny, lecz sprawia więcej problemów.

Wielcy ludzie są mechanizmem znanym od Cywilizacji IV - no dobrze, w trójce wprowadzono armie. Polega on na tym, że co jakiś czas pojawia się jakaś osoba z listą akcji do wyboru.

Z pamiętnika z życia programisty FLOSS: Postęp

Jako, że moje poprzednie projekty spotkały się z brakiem zainteresowania, to postanowiłem zmienić trochę kierunek. Zamiast się skupiać na przydatnych do programowania bibliotekach i tym podobnych oraz rzeczach o dyskusyjnej przydatności (innowacyjnych; tworzonych w celu zbadania rynku), postanowiłem skupić się na aplikacjach dla końcowego użytkownika, które mogą odnieść sukces. Nie odbierzcie tego źle - stare projekty również będą kontynuowane, jednak poświęcę im mniej czasu.

Pierwszą nową aplikacją jest Postęp (ang.