Language Selection

English French German Italian Portuguese Spanish

GNOME Development Updates

Filed under
GNOME
  • libgepub + rust

    In 2010 I was working with evince, the gnome PDF document viewer, trying to add some accessibility to PDF files. That was really hard, not because GTK+ or ATK technology but because the PDF format itself. The PDF format is really cool for printing because you know that the piece of paper will look the same as the PDF doc, and because it's vector it scales and don't loose quality and files are smaller than image files, but almost all PDF files have not any metadata for sections, headings, tablets or so, this depends on the creation tool, but it's really hard to deal with PDF content text, because you don't know event if the text that you're reading is really in the same order that you read from the PDF.

    After my fight against the PDF format hell and poppler, I discovered the epub format that's a really simple format for electronic books. An epub is a zip with some XML files describing the book index and every chapter is a xhtml and xhtml is a good format compared to PDF because you can parse easily with any XML lib and the content is tagged and well structured so you know what's a heading, what's a paragraph, etc.

    So I started to write a simple C library to read epub files, thinking about add epub support to evince. That's how libgepub was born. I tried to integrate libgepub in evince, I've something working, rendering with webkit, but nothing really useful, because evince needs pages and it's not easy to split an xhtml file in pages with the same height, because xhtml is continuous text and it adapts to the page width, so I give up and leave this branch.

  • My final report for GSoC 2018

    The Google Summer of Code 2018 is coming to an end for me, so it means that it’s time for the final report!

    [...]

    I’ve created a media (although for now it only works with pictures) viewer for Fractal. Its purpose is to easily have a better view of the images within a room, to be able to zoom in and out of them, to navigate between the different images of the room in the chronological order, to enter in a full screen mode and to save a copy of the media in the filesystem. I made a first implementation and then had to do a lot of other improvements. I’ve spent about a month working on it.

    There is still the need to improve the zoom of the media viewer as the pictures are a little bit blurred and it’s not possible to zoom beyond 100%. There are optimizations to do as the application becomes very slow when trying to zoom beyond 100% on large pictures.

  • GUADEC 2018

    A few weeks ago I attended GUADEC in Almeria, Spain. The travel was a bit of an adventure, because Julian and I went there and back from Italy by train. It was great though, because we had lots of time to hack on Fractal on the train.

    [...]

    On Monday I attended the all-day Librem 5 BoF, together with my colleagues from Purism, and some community members, such as Jordan and Julian from Fractal.

    We talked about apps, particularly the messaging situation and Fractal. We discussed what will be needed in order to split the app, make the UI adaptive, and get end-to-end encryption. Daniel’s work on the database and Julian’s message history refactor are currently laying the groundwork for these.

    On the shell side we talked through the design of various parts of the shell, such as keyboard, notifications, multitasking, and gestures. Though many of those things won’t be implemented in the near future, we have a plan for where we’re going with these, and getting designers and developers in one room was very productive for working out some of the details.

    We also discussed a number of exciting new widgets to make it easier to get GNOME apps to work at smaller sizes, such as a new adaptive preferences window, and a way to allow modal windows to take up the entire screen at small sizes.

More in Tux Machines

Red Hat: OpenShift and Awards

  • OpenShift Commons Briefing: OpenShift 3.11 Release Update with Scott McCarty (Red Hat)
    In this briefing, Red Hat’s Scott McCarty and numerous other members of the OpenShift Product Management team gave an in-depth look at Red Hat’s OpenShift’s latest release 3.11 and some insights in to the road ahead.
  • Awards roll call: Red Hat awards, June to October 2018
    Depending on the weather in your region, it’s safe to say that the seasons are changing so it’s a good time to look back at what was a busy few months for Red Hat, especially when it came to industry awards for our technical and product leadership. In recent months, Red Hat products and technologies took home twenty awards, highlighting the breadth and depth of our product portfolio as well as the expertise that we provide to our customers. In addition, Red Hat as a company won five awards recognizing its growth and culture as a leader in the industry.
  • More advice from a judge - what it takes to win a Red Hat Innovation Award
    Last year I penned the below post to provide insight into what the judges of the Red Hat Innovation Awards are looking for when reviewing submissions. Looking back, I would give almost the identical advice again this year...maybe with a few tweaks. With all the stellar nominations that we receive, the question I often get is, “how can we make our entry standout?” There’s no magic formula for winning the Red Hat Innovation Awards, but there are things that the other judges and I look for in the entries. Overall, we’re looking for the project that tells a compelling story. It’s not just about sharing what Red Hat products and services you used, we want to hear the full narrative. What challenges did you face; how you implemented the project; and ultimately, what was the true business impact and transformation that took place? Submissions that are able to showcase how open source culture and values were key to success, or how the project is making a difference in the lives of others, are the entries that most often rise to the top.

today's howtos

OSS Leftovers

  • How to be an effective and professional member of the Samba user and development Community
    For many years we have run these lists dedicated to developing and promoting Samba, without any set of clear guidelines for people to know what to expect when participating.  What do we require? What kind of behavior is encouraged?
  • Blockcerts Updates Open Source Blockchain Architecture
    Learning Machine is making changes to its Blockcerts Credential Issuer, Verifier and Wallet to enable native support for records issuance and verification using any blockchain. Blockcerts was launched by Learning Machine and MIT Media Lab in 2016 as new way to allow students to receive digital diplomas through an app, complementing a traditional paper degree. Blockcerts was originally designed to be blockchain-agnostic, which means that open standards can be used to anchor records in any blockchain. The Blockcerts Universal Identifier recognizes which blockchain is being used and verifies accordingly. Currently, the open source project has added support for bitcoin and Ethereum blockchains, but anyone can add support through the project's GitHub page.
  • First full featured open-source Ethereum block explorer BlockScout launched by POA Network
  • Amsterdam-based ING Bank Introduces Open-Source Zero Knowledge Technology
  • ING Bank Launches Open Source Privacy Improvement Add-On for Blockchains
  • Imec tool accelerates DNA sequencing 10x
    As a result, in a typical run, elPrep is up to ten times faster than other software tools using the same resources. It is designed as a seamless replacement that delivers the exact same results as GATK4.0 developed by the Broad Institute. elPrep has been written in the Go programming language and is available through the open-source GNU Affero General Public License v3 (AGPL-3.0).
  • On the low adoption of automated testing in FOSS
    A few times in the recent past I've been in the unfortunate position of using a prominent Free and Open Source Software (FOSS) program or library, and running into issues of such fundamental nature that made me wonder how those issues even made it into a release. In all cases, the answer came quickly when I realized that, invariably, the project involved either didn't have a test suite, or, if it did have one, it was not adequately comprehensive. I am using the term comprehensive in a very practical, non extreme way. I understand that it's often not feasible to test every possible scenario and interaction, but, at the very least, a decent test suite should ensure that under typical circumstances the code delivers all the functionality it promises to. [...] Most FOSS projects, at least those not supported by some commercial entity, don't come with any warranty; it's even stated in the various licenses! The lack of any formal obligations makes it relatively inexpensive, both in terms of time and money, to have the occasional bug in the codebase. This means that there are fewer incentives for the developer to spend extra resources to try to safeguard against bugs. When bugs come up, the developers can decide at their own leisure if and when to fix them and when to release the fixed version. Easy! At first sight, this may seem like a reasonably pragmatic attitude to have. After all, if fixing bugs is so cheap, is it worth spending extra resources trying to prevent them?
  •  
  • Chrome for Linux, Mac, and Windows Now Features Picture-in-Picture by Default
    Chromium evanghelist at Google François Beaufort announced today that Picture-in-Picture (PiP) support is now enabled by defualt in the Google Chrome web browser for Linux, Mac, and Windows platforms. Google's engineers have been working for months to add Picture-in-Picture (PiP) support to the Google Chrome web browser, but the long-anticipated feature is finally here, enabled by default in the latest version for Linux, Mac, and Windows operating systems. The feature lets you detach a video in a floating window so you can watch it while doing something else on your computer.
  • Teaching With an Index Card: the Benefits of Free, Open-Source Tools
  • Decentralized Authentication for Self-Sovereign Identities using Name Systems
    The GNU Name System (GNS) is a fully decentralized public key infrastructure and name system with private information retrieval semantics. It serves a holistic approach to interact seamlessly with IoT ecosystems and enables people and their smart objects to prove their identity, membership and privileges - compatible with existing technologies. In this report we demonstrate how a wide range of private authentication and identity management scenarios are addressed by GNS in a cost-efficient, usable and secure manner. This simple, secure and privacy-friendly authentication method is a significant breakthrough when cyber peace, privacy and liability are the priorities for the benefit of a wide range of the population. After an introduction to GNS itself, we show how GNS can be used to authenticate servers, replacing the Domain Name System (DNS) and X.509 certificate authorities (CAs) with a more privacy-friendly but equally usable protocol which is trustworthy, human-centric and includes group authentication. We also built a demonstrator to highlight how GNS can be used in medical computing to simplify privacy-sensitive data processing in the Swiss health-care system. Combining GNS with attribute-based encryption, we created ReclaimID, a robust and reliable OpenID Connect-compatible authorization system. It includes simple, secure and privacy-friendly single sign-on to seamlessly share selected attributes with Web services, cloud ecosystems. Further, we demonstrate how ReclaimID can be used to solve the problem of addressing, authentication and data sharing for IoT devices. These applications are just the beginning for GNS; the versatility and extensibility of the protocol will lend itself to an even broader range of use-cases. GNS is an open standard with a complete free software reference implementation created by the GNU project. It can therefore be easily audited, adapted, enhanced, tailored, developed and/or integrated, as anyone is allowed to use the core protocols and implementations free of charge, and to adopt them to their needs under the terms of the GNU Affero General Public License, a free software license approved by the Free Software Foundation.
  • Make: an open source hardware, Arduino-powered, 3D-printed wire-bending machine
    How To Mechatronics has pulled together detailed instructions and a great video explaining how to make an Arduino-powered, 3D-printed wire-bending machine whose gears can create arbitrary vector images out of precision-bent continuous lengths of wire.
  • RApiDatetime 0.0.4: Updates and Extensions
    The first update in a little while brings us release 0.0.4 of RApiDatetime which got onto CRAN this morning via the lovely automated sequence of submission, pretest-recheck and pretest-publish. RApiDatetime provides seven entry points for C-level functions of the R API for Date and Datetime calculations. The functions asPOSIXlt and asPOSIXct convert between long and compact datetime representation, formatPOSIXlt and Rstrptime convert to and from character strings, and POSIXlt2D and D2POSIXlt convert between Date and POSIXlt datetime. This releases brings asDatePOSIXct as a seventh courtesy of Josh Ulrich. All these functions are all fairly useful, but not one of them was previously exported by R for C-level use by other packages. Which is silly as this is generally extremely carefully written and tested code.
  • 6 JavaScript books you should know
    If there was ever the potential for a giant book list it's one based on our favorite Javascript books. But, this list is short and easy to digest. Maybe it will help you get started, gently. Plus, check out three of our top Javascript articles with even more books, resources, and tips.

Security: Telstra, Google+ and Facebook Incidents, and Latest Updates