You are here

Agreguesi i feed

4.15.11: stable

Kernel Linux - Hën, 19/03/2018 - 9:16pd
Version:4.15.11 (stable) Released:2018-03-19 Source:linux-4.15.11.tar.xz PGP Signature:linux-4.15.11.tar.sign Patch:full (incremental) ChangeLog:ChangeLog-4.15.11

next-20180319: linux-next

Kernel Linux - Hën, 19/03/2018 - 8:51pd
Version:next-20180319 (linux-next) Released:2018-03-19

4.14.28: longterm

Kernel Linux - Hën, 19/03/2018 - 8:42pd
Version:4.14.28 (longterm) Released:2018-03-19 Source:linux-4.14.28.tar.xz PGP Signature:linux-4.14.28.tar.sign Patch:full (incremental) ChangeLog:ChangeLog-4.14.28

4.16-rc6: mainline

Kernel Linux - Hën, 19/03/2018 - 1:48pd
Version:4.16-rc6 (mainline) Released:2018-03-19 Source:linux-4.16-rc6.tar.gz Patch:full (incremental)

4.9.88: longterm

Kernel Linux - Dje, 18/03/2018 - 11:18pd
Version:4.9.88 (longterm) Released:2018-03-18 Source:linux-4.9.88.tar.xz PGP Signature:linux-4.9.88.tar.sign Patch:full (incremental) ChangeLog:ChangeLog-4.9.88

4.4.122: longterm

Kernel Linux - Dje, 18/03/2018 - 11:17pd
Version:4.4.122 (longterm) Released:2018-03-18 Source:linux-4.4.122.tar.xz PGP Signature:linux-4.4.122.tar.sign Patch:full (incremental) ChangeLog:ChangeLog-4.4.122

3.18.100: longterm

Kernel Linux - Dje, 18/03/2018 - 11:15pd
Version:3.18.100 (EOL) (longterm) Released:2018-03-18 Source:linux-3.18.100.tar.xz PGP Signature:linux-3.18.100.tar.sign Patch:full (incremental) ChangeLog:ChangeLog-3.18.100

yescrypt - modern KDF and password hashing scheme - Pre, 16/03/2018 - 12:22md yescrypt is a password-based key derivation function (KDF) and password hashing scheme. It builds upon Colin Percival's scrypt and includes classic scrypt, a minor extension of scrypt known as YESCRYPT_WORM (named that for "write once, read [potentially] many [times]", which is how scrypt works), and the full native yescrypt also known as YESCRYPT_RW (for "read-write").

The Chrome extension that knows its you by the way you type - Pre, 16/03/2018 - 12:10md Using multi-factor authentication (MFA) is more secure than relying on passwords alone - but could it be made even better?

Warning - 3 Popular VPN Services Are Leaking Your IP Address - Pre, 16/03/2018 - 12:09md Researchers found critical vulnerabilities in three popular VPN services that could leak users' real IP addresses and other sensitive data.

Why a hard drive RAID array can save your bacon - Enj, 15/03/2018 - 11:28pd How valuable is your data? If your storage drive crashed, would it ruin your day? Your week? Your entire career? Only you can answer those questions for yourself and your organization. But I'll tell you, personally, I need my files -- not only to get my day-to-day job done, but to reference older information and even look at personal keepsakes (like all my digital photos).

Linus Torvalds slams CTS Labs over AMD vulnerability report - Enj, 15/03/2018 - 11:27pd CTS Labs, a heretofore unknown Tel Aviv-based cybersecurity startup, has claimed it's found over a dozen security problems with AMD Ryzen and EPYC processors. Linus Torvalds, Linux's creator, doesnt buy it. Torvalds, in a Google+ discussion, wrote:

Samba settings SNAFU lets any user change admin passwords - Mër, 14/03/2018 - 12:41md Samba admins: get patching and/or updating. Unless you're content to have your admin passwords overwritten by, well, anyone else using Samba.

Let's Encrypt free wildcard certificates now live - Mër, 14/03/2018 - 12:03md A project dear to its heart, Let's Encrypt has now made wildcard certificate support live in the next step to encrypt the Web. The certificate authority, which offers free SSL and TLS certificates to webmasters, said this week that support is now live for wildcard certificates, alongside ACMEv2.

FBI: we don't want a backdoor; we just want you to break encryption - Mar, 13/03/2018 - 12:19md "We're not looking for a 'back door'" that breaks encryption, the FBI said on Wednesday. Don't even know what that is, really, said director Christopher Wray: He thinks it's some type of "secret, insecure means of access" - is that right?

Firefox turns out the lights on two privacy-sucking features - Mar, 13/03/2018 - 12:18md Did you know that the websites you browse can ask your phone how far away your face is from the screen, and that they can determine the ambient light levels of the room you're in? No, me neither, and I do this stuff for a living.

Federico Mena-Quintero: Librsvg and Gnome-class accepting interns

Planet GNOME - Mar, 13/03/2018 - 2:00pd

I would like to mentor people for librsvg and gnome-class this Summer, both for Outreachy and Summer of Code.

Librsvg projects

Project: port filter effects from C to Rust

Currently librsvg implements SVG filter effects in C. These are basic image processing filters like Gaussian blur, matrix convolution, Porter-Duff alpha compositing, etc.

There are some things that need to be done:

  • Split the single rsvg-filter.c into multiple source files, so it's easier to port each one individually.

  • Figure out the common infrasctructure: RsvgFilter, RsvgFilterPrimitive. All the filter use these to store intermediate results when processing SVG elements.

  • Experiment with the correct Rust abstractions to process images pixel-by-pixel. We would like to omit per-pixel bounds checks on array accesses. The image crate has some nice iterator traits for pixels. WebKit's implementation of SVG filters also has interesting abstractions for things like the need for a sliding window with edge handling for Gaussian blurs.

  • Ensure that our current filters code is actually working. Not all of the official SVG test suite's tests are in place right now for the filter effects; it is likely that some of our implementation is broken.

For this project, it will be especially helpful to have a little background in image processing. You don't need to be an expert; just to have done some pixel crunching at some point. You need to be able to read C and write Rust.

Project: CSS styling with rust-selectors

Librsvg uses an very simplistic algorithm for CSS cascading. It uses libcroco to parse CSS style data; libcroco is unmaintained and rather prone to exploits. I want to use Servo's selectors crate to do the cascading; we already use the rust-cssparser crate as a tokenizer for basic CSS properties.

  • For each node in its DOM tree, librsvg's Node structure keeps a Vec<> of children. We need to move this to store the next sibling and the first/last children instead. This is the data structure that rust-selectors prefers. The Kuchiki crate has an example implementation; borrowing some patterns from there could also help us simplify our reference counting for nodes.

  • Our styling machinery needs porting to Rust. We have a big RsvgState struct which holds the CSS state for each node. It is easy to port this to Rust; it's more interesting to gradually move it to a scheme like Servo's, with a distinction between specified/computed/used values for each CSS property.

For this project, it will be helpful to know a bit of how CSS works. Definitely be comfortable with Rust concepts like ownership and borrowing. You don't need to be an expert, but if you are going through the "fighting the borrow checker" stage, you'll have a harder time with this. Or it may be what lets you grow out of it! You need to be able to read C and write Rust.

Bugs for newcomers: We have a number of easy bugs for newcomers to librsvg. Some of these are in the Rust part, some in the C part, some in both — take your pick!

Projects for gnome-class

Gnome-class is the code generator that lets you write GObject implementations in Rust. Or at least that's the intention — the project is in early development. The code is so new that practically all of our bugs are of an exploratory nature.

Gnome-class works like a little compiler. This is from one of the examples; note the call to gobject_gen! in there:

struct SignalerPrivate { val: Cell<u32> } impl Default for SignalerPrivate { fn default() -> Self { SignalerPrivate { val: Cell::new(0) } } } gobject_gen! { class Signaler { type InstancePrivate = SignalerPrivate; } impl Signaler { signal fn value_changed(&self); fn set_value(&self, v: u32) { let private = self.get_priv(); private.val.set(v); self.emit_value_changed(); } } }

Gnome-class implements this gobject_gen! macro as follows:

  1. First we parse the code inside the macro using the syn crate. This is a crate that lets you parse Rust source code from the TokenStream that the compiler hands to implementations of procedural macros. You give a TokenStream to syn, and it gives you back structs that represent function definitions, impl blocks, expressions, etc. From this parsing stage we build an Abstract Syntax Tree (AST) that closely matches the structure of the code that the user wrote.

  2. Second, we take the AST and convert it to higher-level concepts, while verifying that the code is semantically valid. For example, we build up a Class structure for each defined GObject class, and annotate it with the methods and signals that the user defined for it. This stage is the High-level Internal Representation (HIR).

  3. Third, we generate Rust code from the validated HIR. For each class, we write out the boilerplate needed to register it against the GObject type system. For each virtual method we write a trampoline to let the C code call into the Rust implementation, and then write out the actual Rust impl that the user wrote. For each signal, we register it against the GObjectClass, and write the appropriate trampolines both to invoke the signal's default handler and any Rust callbacks for signal handlers.

For this project, you definitely need to have written GObject code in C in the past. You don't need to know the GObject internals; just know that there are things like type registration, signal creation, argument marshalling, etc.

You don't need to know about compiler internals.

You don't need to have written Rust procedural macros; you can learn as you go. The code has enough infrastructure right now that you can cut&paste useful bits to get started with new features. You should definitely be comfortable with the Rust borrow checker and simple lifetimes — again, you can cut&paste useful code already, and I'm happy to help with those.

This project demands a little patience. Working on the implementation of procedural macros is not the smoothest experience right now (one needs to examine generated code carefully, and play some tricks with the compiler to debug things), but it's getting better very fast.

How to apply as an intern

Details for Outreachy

Details for Summer of Code

Michael Meeks: 2018-03-12 Monday

Planet GNOME - Hën, 12/03/2018 - 10:00md
  • Practice with E. scales decaying over the weekend; hmm. Mail chew, sync with Miklos. Lunch with J. Sync with kendy, call with Jeroen. TDF call. Stories in the evening - Asimov for E. Max Lucado for H.

Marco Barisione: Karton 1.0

Planet GNOME - Hën, 12/03/2018 - 4:06md

After more than a year using Karton regularly, I released version 1.0 with the last few features I was missing for my use case.

Karton is a tool which can transparently run Linux programs on a different Linux distribution, on macOS, or on a different architecture.
By using Docker, Karton manages semi-persistent containers with easy to use automatic folder sharing and lots of small details which make the experience smooth. You shouldn’t notice you are using command line programs from a different OS or distro.

If you are interested, check the Karton website.

SparkyLinux 5.3 Rolling Linux OS Debuts Based on Debian GNU/Linux 10 "Buster" - Hën, 12/03/2018 - 12:38md The developers of the Debian-based SparkyLinux GNU/Linux operating system announced over the weekend the release of the SparkyLinux 5.3 "Nibiru" Rolling ISO snapshot.


Subscribe to AlbLinux agreguesi