<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"><channel><title>danigm.net - hackfest</title><link>https://danigm.net/</link><description></description><lastBuildDate>Sun, 16 Dec 2018 00:00:00 +0100</lastBuildDate><item><title>Fractal December'18 Hackfest (part 2)</title><link>https://danigm.net/fractal-december-18-hackfest-2.html</link><description>&lt;p&gt;The Friday 14th was the last day of the &lt;a href="https://wiki.gnome.org/Hackfests/FractalDecember2018"&gt;second Fractal Hackfest&lt;/a&gt;. I've not
spend much time writing real code, the Thursday was mainly another hacking day
and I've been able to continue with the &lt;strong&gt;fractal-backend&lt;/strong&gt; creation, but
there's a lot of work to do there.&lt;/p&gt;
&lt;p&gt;But the hackfest was really productive, we've talked about big issues, project
management, some design ideas, new functionalities, the application refactor,
etc.&lt;/p&gt;
&lt;p&gt;&lt;center&gt;
    &lt;p class="img"&gt;
    &lt;img src="/pictures/fractal-seville-hackfest-2.jpg" width="100%"/&gt;
    &lt;/p&gt;
&lt;/center&gt;&lt;/p&gt;
&lt;h3&gt;GNOME newcomers experience&lt;/h3&gt;
&lt;p&gt;We talked about how to improve the GNOME newcomers experience and how to
improve the main view of Fractal. I think that Tobias will talk more about this,
he was working in some cool design for this and I think we can start to
implement this new views soon.&lt;/p&gt;
&lt;h3&gt;Best practices&lt;/h3&gt;
&lt;p&gt;We've been developing Fractal in a fast way, without spend a lot of time
thinking about the code quality, maintainability and that stuff. Recently we've
set the &lt;strong&gt;rustfmt&lt;/strong&gt; linter in the CI pipeline and we've some tests, but the
Merge Requests process wasn't defined and for example I was pushing directly
to master.&lt;/p&gt;
&lt;p&gt;To improve the quality of Fractal we've started a new wiki page to have a list
of &lt;a href="https://gitlab.gnome.org/GNOME/fractal/wikis/Best-practices-for-Fractal-development"&gt;best practices&lt;/a&gt; to follow. There we'll add some guidances on how we
should write code and the processes to follow to improve Fractal.&lt;/p&gt;
&lt;p&gt;We've decided that we should be more strict with the Merge Request code review
and now, direct push to master is not allowed, all changes will go through the
review process. We should wait at least two days to merge something and have
at least two people that approve the change.&lt;/p&gt;
&lt;p&gt;This will slow down the MR process, but will improve the code quality and
will reduce regressions. Any help is welcome, if you're able to test the MR,
you can leave a comment and other reviewers will have more confident in the
change.&lt;/p&gt;
&lt;p&gt;We're also working in the code quality using the cargo clippy tool. There's a 
Merge Request waiting for review, so we'll have a better rust source code soon.&lt;/p&gt;
&lt;h3&gt;Fractal is now in the GNOME group&lt;/h3&gt;
&lt;p&gt;The &lt;a href="https://gitlab.gnome.org/GNOME/fractal/"&gt;Fractal&lt;/a&gt; project was on the &lt;strong&gt;World&lt;/strong&gt; group inside the GNOME gitlab.
Fractal is a GNOME application, the most active developers are GNOME developers
and we try to follow the GNOME Human Interface Guidelines.&lt;/p&gt;
&lt;p&gt;Fractal is one of the first new applications that born just during the gitlab
migration so we go through a new process. At first Fractal was in my personal
gitlab under &lt;strong&gt;/danigm/fractal&lt;/strong&gt; then we move to the World group under
&lt;strong&gt;/World/fractal&lt;/strong&gt; and finally we're in the main GNOME group &lt;strong&gt;/GNOME/fractal&lt;/strong&gt;.&lt;/p&gt;
&lt;h3&gt;New release 4.0.0&lt;/h3&gt;
&lt;p&gt;The last release was the 3.30.0, more than three months has passed since this
release and we've a lot of changes so we want to provide a new stable release.&lt;/p&gt;
&lt;p&gt;We discuss a bit about the &lt;a href="https://gitlab.gnome.org/GNOME/fractal/issues/350"&gt;version number&lt;/a&gt; that we should follow and we
decided that we should do use our own version number system, because we want
to release as much as possible, when we've important changes.&lt;/p&gt;
&lt;p&gt;We're working in the &lt;a href="https://gitlab.gnome.org/GNOME/fractal/issues/396"&gt;4.0.0&lt;/a&gt; release, we're stabilizing and fixing important
bugs before the release and maybe we can have the new release during the next
week.&lt;/p&gt;
&lt;p&gt;So I've spend the last day looking for bugs and preparing the new release.&lt;/p&gt;
&lt;h3&gt;Matrix Live&lt;/h3&gt;
&lt;p&gt;We've a meeting with the people from Matrix.org to talk about Fractal and the
hackfest. You can view the full interview in youtube:&lt;/p&gt;
&lt;iframe width="560" height="315" src="https://www.youtube.com/embed/SgyLHi8zZXQ" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen&gt;&lt;/iframe&gt;

&lt;h2&gt;Friday sponsored lunch&lt;/h2&gt;
&lt;p&gt;We've a sponsored lunch the Friday 14th, the local group &lt;a href="https://www.plan4d.eu"&gt;Plan4D&lt;/a&gt; invite
us to a great lunch in the city center.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.plan4d.eu/"&gt;&lt;center&gt;
    &lt;p class="img"&gt;
    &lt;img src="/pictures/plan4d.jpg"/&gt;
    &lt;/p&gt;
&lt;/center&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;After that, I goes back to my home and leave the other people there in Seville
doing some tourism, I've to go back to Málaga.&lt;/p&gt;
&lt;p&gt;The hackfest was great and we have done a lot of things. This was the second
Fractal hackfest in 2018, and we meet at the GUADEC too. We've had two GSoC
students and now we've another intern thanks to the outreachy program. There's
a lot of people contributing to Fractal and that's great.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;GNOME is a great community&lt;/strong&gt; and I think that Matrix.org and Rust are helping
to this project a lot. The Matrix.org people are supporting us, indeed, Matthew
comes to the first hackfest and I think that the success of Fractal and the
community behind has a lot to thank to the Rust language and to the people
working in the Rust + GNOME integration, Gtk-rs is a great project.&lt;/p&gt;
&lt;p&gt;I want to apologize about the network problem during the hackfest. We've been
working all days thank to Julian network sharing, with eduroam, because we
aren't able to have guest access in the university.&lt;/p&gt;
&lt;p&gt;The university has a strict internet connection filtering, so only a professor
can ask for a guest connection for events and we do the request too late.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">danigm</dc:creator><pubDate>Sun, 16 Dec 2018 00:00:00 +0100</pubDate><guid isPermaLink="false">tag:danigm.net,2018-12-16:/fractal-december-18-hackfest-2.html</guid><category>blog</category><category>gnome</category><category>fractal</category><category>hackfest</category><category>wadobo</category><category>seville</category></item><item><title>Fractal December'18 Hackfest (part 1)</title><link>https://danigm.net/fractal-december-18-hackfest-1.html</link><description>&lt;h2&gt;First two days of work&lt;/h2&gt;
&lt;p&gt;The Tuesday 11th started the &lt;a href="https://wiki.gnome.org/Hackfests/FractalDecember2018"&gt;second Fractal Hackfest&lt;/a&gt;. I've organized this
hackfest in Seville, the city where I studied computer science and here I've a
lot of friends in the University so is a good place to do it here.&lt;/p&gt;
&lt;p&gt;The weather was important too for the hackfest selection, in December
Seville is a good choice because the weather is not too cold, we're having
sunny days.&lt;/p&gt;
&lt;p&gt;The first day was a good day, thinking about some relevant issues and planning
what we want to do. We talked about the work needed for the interface split,
about the E2EE support, new features and the need for a new release.&lt;/p&gt;
&lt;p&gt;We're having some problems with the internet connection, because the University
has a restricted network policy and we ask for the guess internet connection
the Monday, but we're still waiting.&lt;/p&gt;
&lt;p&gt;Meantime we have to thanks to Julian Sparber the hackfest wifi, because
he's using his laptop to stream the eduroam connection.&lt;/p&gt;
&lt;h2&gt;Newcomers&lt;/h2&gt;
&lt;p&gt;The first day we try to promote as a newcomers day, and some people comes.
We've some contributions and I spend some time trying to help people to
introduce to the GNOME community.&lt;/p&gt;
&lt;h2&gt;GNOME Foundation sponsored dinner&lt;/h2&gt;
&lt;p&gt;The &lt;a href="https://gnome.org"&gt;GNOME Foundation&lt;/a&gt; payed for a Fractal dev day dinner, so we should
thanks this great dinner to GNOME:&lt;/p&gt;
&lt;p&gt;&lt;center&gt;
    &lt;p class="img"&gt;
    &lt;img src="/pictures/fractal-seville-hackfest-dinner.jpg" width="100%"/&gt;
    &lt;/p&gt;
&lt;/center&gt;&lt;/p&gt;
&lt;p&gt;We've a good time eating and drinking in the &lt;em&gt;Coco Verde&lt;/em&gt;. We talk about GNOME,
the desktop, matrix.org and other communication tools.&lt;/p&gt;
&lt;h1&gt;Hacking day&lt;/h1&gt;
&lt;p&gt;Today was a hacking day, so we started to work in the stuff that we talk about
yesterday. We've resolved some minor issues and I started with the
&lt;strong&gt;fractal-backend&lt;/strong&gt; crate.&lt;/p&gt;
&lt;p&gt;&lt;center&gt;
    &lt;p class="img"&gt;
    &lt;img src="/pictures/fractal-seville-hackfest-computer.jpg" width="100%"/&gt;
    &lt;/p&gt;
&lt;/center&gt;&lt;/p&gt;
&lt;p&gt;We talked about move all the app data model and logic to the &lt;strong&gt;fractal-backend&lt;/strong&gt;
and leave &lt;strong&gt;fractal-gtk&lt;/strong&gt; only as UI management.&lt;/p&gt;
&lt;p&gt;We talked about the &lt;strong&gt;LMDB&lt;/strong&gt; use to store rooms and messages and we decided
that the best solution should be to use a relational database, because we've
relations and with the key-value thing we'll end creating those relations and
maintaining by hand. In any case, I've this decision in mind and I'm
implementing all this with a trait to hide the storage detail so we can change
easily in the future.&lt;/p&gt;
&lt;p&gt;So today I've spend a lot of time implementing this trait and a first
implementation for the &lt;strong&gt;Room&lt;/strong&gt; struct. I've decided to use &lt;strong&gt;rusqlite&lt;/strong&gt; instead
the &lt;strong&gt;diesel&lt;/strong&gt; orm because I want to keep it simple.&lt;/p&gt;
&lt;p&gt;I want to finish all the database storage and move the AppOp main loop to the
&lt;strong&gt;fractal-backend&lt;/strong&gt; and try to update the &lt;strong&gt;fractal-gtk&lt;/strong&gt; to use the backend
instead the AppOp struct to get the rooms and messages. But maybe is a lot of
work, I don't know if I'll be able to finish this before the end of the
hackfest.&lt;/p&gt;
&lt;p&gt;&lt;center&gt;
    &lt;p class="img"&gt;
    &lt;img src="/pictures/fractal-seville-hackfest-julian.jpg" width="100%"/&gt;
    &lt;/p&gt;
&lt;/center&gt;&lt;/p&gt;
&lt;h2&gt;Thanks&lt;/h2&gt;
&lt;p&gt;This hackfest is possible because there's a lot of volunteer work and people
helping us. First of all, the Fractal core team that comes &lt;em&gt;Tobias Bernard&lt;/em&gt;,
&lt;em&gt;Julian Sparber&lt;/em&gt; and &lt;em&gt;Alexandre Franke&lt;/em&gt; and of course the &lt;em&gt;GNOME Foundation&lt;/em&gt;.
And also we've to thank &lt;em&gt;Alejandro Domínguez&lt;/em&gt;, a newcomer that is doing a really
good job fixing bugs and cleaning some old code.&lt;/p&gt;
&lt;p&gt;Then I want to thank the &lt;a href="https://sugus.eii.us.es/"&gt;Linux local group, SUGUS&lt;/a&gt; for the help and also
I want to thank to other free software related group &lt;a href="https://www.plan4d.eu"&gt;Plan4D&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.plan4d.eu/"&gt;&lt;center&gt;
    &lt;p class="img"&gt;
    &lt;img src="/pictures/plan4d.jpg"/&gt;
    &lt;/p&gt;
&lt;/center&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Plan4D is giving us some help with the place and cookies, fruits, juices and
some tea.&lt;/p&gt;
&lt;p&gt;And finally I want to thank again to my coworkers in &lt;a href="https://wadobo.com"&gt;wadobo&lt;/a&gt; because they
support me to spend a full work week working in gnome and they also spend some
time helping us to organize all the hackfest stuff.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">danigm</dc:creator><pubDate>Wed, 12 Dec 2018 00:00:00 +0100</pubDate><guid isPermaLink="false">tag:danigm.net,2018-12-12:/fractal-december-18-hackfest-1.html</guid><category>blog</category><category>gnome</category><category>fractal</category><category>hackfest</category><category>wadobo</category><category>seville</category></item></channel></rss>