<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"><channel><title>danigm.net - gtk4</title><link>https://danigm.net/</link><description></description><lastBuildDate>Sat, 09 Jul 2022 00:00:00 +0200</lastBuildDate><item><title>Gambito, a chess App in Rust</title><link>https://danigm.net/gambito.html</link><description>&lt;h2&gt;Chess&lt;/h2&gt;
&lt;p&gt;I've been always interested in Chess, but never learned to play it correctly or
even spent some time playing more than a couple of matches with friends. But
during the COVID lockdown I started to watch people &lt;a href="https://www.twitch.tv/gmhikaru"&gt;playing chess&lt;/a&gt;, and
then I realized that the game is even more fun than I expected.&lt;/p&gt;
&lt;p&gt;After that I started to play a bit online and discovered the great online
platform &lt;a href="https://lichess.org/"&gt;Lichess&lt;/a&gt;, that's even &lt;a href="https://github.com/lichess-org"&gt;free software&lt;/a&gt;. I do not play a lot, but
I discovered that I like a lot the game and I watch chess streamers everyday
and I even followed the &lt;a href="https://fide.com/"&gt;professional competition&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;So if you don't play chess, give it a try, it's a really nice board game, and a
beauty "video game" that you can play online in a complete free software platform
with a lot of community resources to learn, and even if you are a bad player like me,
you can always enjoy the beauty of the chess watching other people playing.&lt;/p&gt;
&lt;h2&gt;Gambito&lt;/h2&gt;
&lt;p&gt;With this new interesting hobby, I installed the chess application that I found
in gnome. &lt;a href="https://gitlab.gnome.org/GNOME/gnome-chess"&gt;GNOME Chess&lt;/a&gt; is a good application, but then I ask myself, why
not rewrite it in Rust? Okay, it's not a rewrite, it's just a new application,
my idea is not to replace GNOME Chess, but to experiment with Gtk4 and Rust,
and that's the reason I started to work on &lt;a href="https://gitlab.gnome.org/danigm/gambito"&gt;Gambito&lt;/a&gt;, that's just a new
Chess game for GNOME, written in Rust with Gtk4.&lt;/p&gt;
&lt;p class="img"&gt;
    &lt;img src="/pictures/gambito-screenshot01.png" /&gt;
&lt;/p&gt;

&lt;p&gt;The first idea was to create a simple app, without widget inheritance or
anything, just draw a board with existing Gtk Widgets, and do the drawing with
CSS and the interaction with drag &amp;amp; drop. And I did that for almost all the
application, but at some point I needed something more specific that I was
unable to do without a new widget. So right now almost everything is done that
way but the marks and arrows, that are custom widgets.&lt;/p&gt;
&lt;p&gt;I'm doing almost all the development in live streaming (in Spanish),
&lt;a href="https://www.twitch.tv/abentogil/"&gt;in my twitch account&lt;/a&gt;, so you can find some of the videos here in my
&lt;a href="https://www.youtube.com/c/danigmx/search?query=gambito"&gt;youtube channel&lt;/a&gt;.&lt;/p&gt;
&lt;p class="img"&gt;
    &lt;img src="/pictures/gambito-screenshot03.png" /&gt;
&lt;/p&gt;

&lt;p&gt;Right now you can use the application to play against Stockfish or to analyse a
match. At the beginning the idea was to create just a chess game, but right now
I'm thinking more about a chess learning application, so I think I'll work more
in analysis tools, tactic training games, and maybe some good content for
beginners, inside the application, like a tutorial and some kind of assistant with
theory.&lt;/p&gt;
&lt;p&gt;And there's a lot of fun things to do, like linking with the Lichess platform,
to be able to watch games in live, play online using the app instead the web
interface, analyze Lichess matches and look for cheaters doing some kind of IA
(yes, there are cheaters using chess engines to win matches in online chess
platforms, I don't know why, but there are people like that).&lt;/p&gt;
&lt;p&gt;So I'm getting a lot of fun from the old game Chess, fun playing, fun watching
an fun writing a Chess game.&lt;/p&gt;
&lt;p&gt;Have fun!&lt;/p&gt;
&lt;p class="img"&gt;
    &lt;img src="/pictures/gambito-logo.png" /&gt;
&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">danigm</dc:creator><pubDate>Sat, 09 Jul 2022 00:00:00 +0200</pubDate><guid isPermaLink="false">tag:danigm.net,2022-07-09:/gambito.html</guid><category>blog</category><category>gambito</category><category>chess</category><category>gtk4</category><category>gnome</category><category>rust</category><category>twitch</category></item><item><title>GNOME Outreachy 2022</title><link>https://danigm.net/outreachy-2022.html</link><description>&lt;h2&gt;GNOME Translation Editor, Road to Gtk4&lt;/h2&gt;
&lt;p&gt;It's time to move to Gtk4. That could be an easy task for new project or for
small projects without a lot of custom widgets, but &lt;a href="https://gitlab.gnome.org/GNOME/gtranslator"&gt;gtranslator&lt;/a&gt; is old and
the migration will require some time.&lt;/p&gt;
&lt;p&gt;Some time ago I did the &lt;a href="https://danigm.net/gtranslator-resurrection.html"&gt;Gtk2 to Gtk3&lt;/a&gt; migration. It was fun and during the
journey we redesigned a bit the interface, but the internals didn't change a
lot. Now we can do the same, migrate to Gtk4 and also update the User
Interface.&lt;/p&gt;
&lt;p&gt;Thankfully, I'm not alone this time, the GNOME community is there to help. A
couple of months ago, &lt;a href="https://gitlab.gnome.org/GNOME/gtranslator/-/commits/master?author=msandova"&gt;Maximiliano&lt;/a&gt; started a series of commits to prepare
the project to the Gtk4 migration, and today starts the Outreachy program and
we've a great intern to work in this. &lt;a href="https://www.outreachy.org/alums/2022-05/"&gt;Afshan Ahmed Khan&lt;/a&gt; will be working
during this summer in the GNOME Translation Editor migration to Gtk4.&lt;/p&gt;
&lt;h2&gt;Outreachy&lt;/h2&gt;
&lt;p&gt;The &lt;a href="https://www.outreachy.org/"&gt;Outreachy&lt;/a&gt; program provides internship to work in Free and Open Source
Software. This year I've proposed the "Migrate GNOME Translation Editor to Gtk4"
project and we had a lot of applicants. We had some great contributions during
the application phase, and at the end Afshan was selected.&lt;/p&gt;
&lt;p&gt;We've now an initial &lt;a href="https://dev.to/redoca2k/beginning-outreachy-journey-with-gnome-o8j"&gt;intern blog post&lt;/a&gt; and he is working now in the first
step, trying to build the project with Gtk4. It's not a simple task, because
gtranslator uses a lot of inheritance and there's a lot of widgets in the
project.&lt;/p&gt;
&lt;h2&gt;User Interface redesign?&lt;/h2&gt;
&lt;p&gt;Once we've the project working with Gtk4 and libadwaita we can start to think
about user interface improvements, and all the collaboration here is welcome,
so if some designer or translator want to help, don't hesitate to take a look
to the &lt;a href="https://flathub.org/apps/details/org.gnome.Gtranslator"&gt;current interface&lt;/a&gt; and propose some ideas in the &lt;a href="https://gitlab.gnome.org/GNOME/gtranslator/-/issues/159"&gt;corresponding task&lt;/a&gt;&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">danigm</dc:creator><pubDate>Mon, 30 May 2022 00:00:00 +0200</pubDate><guid isPermaLink="false">tag:danigm.net,2022-05-30:/outreachy-2022.html</guid><category>blog</category><category>gnome</category><category>outreachy</category><category>gtranslator</category><category>gtk4</category></item></channel></rss>