Posted
over 3 years
ago
Review: Children of Earth and Sky, by Guy Gavriel Kay
Publisher:
New American Library
Copyright:
2016
ISBN:
0-698-18327-4
Format:
Kindle
Pages:
572
Nine hundred years have
... [More]
passed since the events of
Lord of Emperors. Twenty-five years
ago, Sarantium, queen of cities, fell to the Osmanlis, who have renamed it
Asharias in honor of their Asherite faith. The repercussions are still
echoing through the western world, as the Osmanlis attempt each spring to
push farther west and the forces of Rodolfo, Holy Emperor in Obravic and
defender of the Jaddite faith, hold them back.
Seressa and Dubrava are city-state republics built on the sea trade.
Seressa is the larger and most renown, money-lenders to Rodolfo and
notorious for their focus on business and profit, including willingness to
trade with the Osmanlis. Dubrava has a more tenuous position: smaller,
reliant on trade and other assistance from Seressa, but also holding a
more-favored trading position with Asharias. Both are harassed by piracy
from Senjan, a fiercely Jaddite raiding city north up the coast from
Dubrava and renown for its bravery against the Asherites. The Senjani
are bad for business. Seressa would love to wipe them out, but they have
the favor of the Holy Emperor. They settled for attempting to starve the
city with a blockade.
As Children of Earth and Sky opens, Seressa is sending out new
spies. One is a woman named Leonora Valeri, who will present herself as
the wife of a doctor that Seressa is sending to Dubrava. She is neither
his wife nor Seressani, but this assignment gets her out of the convent to
which her noble father exiled her after an unapproved love affair. The
other new spy is the young artist Pero Villani, a minor painter whose only
notable work was destroyed by the woman who commissioned it for being too
revealing. Pero's destination is farther east: Grand Khalif Gurçu the
Destroyer, the man whose forces took Sarantium, wants to be painted in the
western style. Pero will do so, and observe all he can, and if the
opportunity arises to do more than that, well, so much the better.
Pero and Leonora are traveling on a ship owned by Marin Djivo, the younger
son of a wealthy Dubravan merchant family, when their ship is captured by
Senjani raiders. Among the raiders is Danica Gradek, the archer who broke
the Seressani blockade of Senjan. This sort of piracy, while tense,
should be an economic transaction: some theft, some bargaining, some
ransom, and everyone goes on their way. That is not what happens.
Moments later, two men lie dead, and Danica's life has become entangled
with Dubravan merchants and Seressani spies.
Children of Earth and Sky is in some sense a sequel to the
Sarantine Mosaic, and knowing the events
of that series adds some emotional depth and significant moments to this
story, but you can easily read it as a stand-alone novel. (That said, I
recommend the Sarantine Mosaic regardless.) As with nearly all of
Kay's work, it's historical fiction with the names changed (less this time
than in most of this books) and a bit of magic added. The setting is the
middle of the 15th century. Seressa is, of course, Venice. The Osmanlis
are the Ottoman Turks, and Asharias is Istanbul, the captured
Constantinople. Rodolfo is a Habsburg Holy Roman Emperor, holding court
in an amalgam of northern cities that (per the afterward) is primarily
Prague. Dubrava, which is central to much of this book, is Dubrovnik in
Croatia. As usual with Kay's novels, you don't need to know this to enjoy
the story, but it may spark some fun secondary reading.
The touch of magic is present in several places, but comes primarily from
Danica, whose grandfather resides as a voice in her head. He is the last
of her family that she is in contact with. Her father and older brother
were killed by Osmanli raiders, and her younger brother taken as a slave
to be raised as a djanni warrior in the khalif's infantry. (Djannis are
akin to Mamluks in our world.) Damaz, as he is now known, is the
remaining major viewpoint character I've not mentioned. There are a
couple of key events in the book that have magic at the center, generally
involving Danica or Damaz, but most of the story is straight historical
fiction (albeit with significant divergences from our world).
I'd talked myself out of starting this novel several times before I
finally picked it up. Like most of Kay's, it's a long book, and I wasn't
sure if I was in the mood for epic narration and a huge cast. And indeed,
I found it slow at the start. Once the story got underway, though, I was
as enthralled as always. There is a bit of sag in the middle of the book,
in part because Kay didn't follow up on some relationships that I wish
were more central to the plot and in part because he overdoes the
narrative weight in one scene, but the ending is exceptional.
Guy Gavriel Kay is the master of a specific type of omniscient tight third
person narration, one in which the reader sees what a character is
thinking but also gets narrative commentary, foreshadowing, and emotional
emphasis apart from the character's thoughts. It can feel heavy-handed;
if something is important, Kay tells you, explicitly and sometimes
repetitively, and the foreshadowing frequently can be described as
portentous. But in return, Kay gets fine control of pacing and emphasis.
The narrative commentary functions like a soundtrack in a movie. It tells
you when to pay close attention and when you can relax, what moments are
important, where to slow down, when to brace yourself, and when you can
speed up. That in turn requires trust; if you're not in the mood for the
author to dictate your reading pace to the degree Kay is attempting, it
can be irritating. If you are in the mood, though, it makes his novels
easy to relax into. The narrator will ensure that you don't miss anything
important, and it's an effective way to build tension.
Kay also strikes just the right balance between showing multiple
perspectives on a single moment and spending too much time retelling the
same story. He will often switch viewpoint characters in the middle of a
scene, but he avoids the trap of replaying the scene and thus losing the
reader's interest. There is instead just a moment of doubled perspective
or retrospective commentary, just enough information for the reader to
extrapolate the other character's experience backwards, and then the story
moves on. Kay has an excellent feel for when I badly wanted to see
another character's perspective on something that just happened.
Some of Kay's novels revolve around a specific event or person.
Children of Earth and Sky is not one of those. It's a braided
novel following five main characters, each with their own story. Some of
those stories converge; some of them touch for a while and then diverge
again. About three-quarters of the way through, I wasn't sure how Kay
would manage a satisfying conclusion for the numerous separate threads
that didn't feel rushed, but I need not have worried. The ending had very
little of the shape that I had expected, focused more on the small than
the large (although there are some world-changing events here), but it was
an absolute delight, with some beautiful moments of happiness that took
the rest of the novel to set up.
This is not the sort of novel with a clear theme, but insofar as it has
one, it's a story about how much of the future shape and events of the
world are unknowable. All we can control is our own choices, and we may
never know their impact. Each individual must decide who they want to be
and attempt to live their life in accordance with that decision, hopefully
with some grace towards others in the world.
The novel does, alas, still have some of Kay's standard weaknesses. There
is (at last!) an important female friendship, and I had great hopes for a
second one, but sadly it lasted only a scant handful of pages. Men
interact with each other and with women; women interact almost exclusively
with men. Kay does slightly less awarding of women to male characters
than in some previous books (although it still happens), but this world is
still weirdly obsessed with handing women to men for sex as a hospitality
gesture. None of this is too belabored or central to the story, or I
would be complaining more, but as soon as one sees how regressive the
gender roles typically are in a Kay novel, it's hard to unsee.
And, as always for Kay, the sex in this book is weirdly off-putting to me.
I think this goes hand in hand with Kay's ability to write some of the
best conversations in fantasy. Kay's characters spar and thrust with
every line and read nuance into small details of wording. Frequently, the
turn of the story rests on the outcome of a careful conversation. This is
great reading; it's the part of Kay's writing I enjoy the most. But I'm
not sure he knows how to turn it off between characters who love and trust
each other. The characters never fully relax; sex feels like another move
in ongoing chess games, which in turn makes it feel weirdly transactional
or manipulative instead of open-hearted and intimate. It doesn't help
that Kay appears to believe that arousal is a far more irresistible force
for men than I do.
Those problems did get in the way of my enjoyment occasionally, but I
didn't think they ruined the book. The rest of the story is too good.
Danica in particular is a wonderful character: thoughtful, brave,
determined, and deeply honest with herself in that way that is typical of
the best of Kay's characters. I wanted to read the book where Danica's
and Leonora's stories stayed more entwined; alas, that's not the story Kay
was writing. But I am in awe at Kay's ability to write characters who
feel thoughtful and insightful even when working at cross purposes, in a
world that mostly avoids simple villains, with a plot that never hinges on
someone doing something stupid. I love reading about these people. Their
triumphs, when they finally come, are deeply satisfying.
Children of Earth and Sky is probably not in the top echelon of
Kay's works with the Sarantine Mosaic and Under Heaven, but it's close. If you like his other writing, you
will like this as well. Highly recommended.
Rating: 9 out of 10 [Less]
|
Posted
over 3 years
ago
Every month we review the work funded by Freexian’s Debian LTS offering. Please find the report for January below.
Debian project funding
In January we saw a new funded project proposed. The project is meant to bring in a number of
... [More]
changes to the Tryton modules and packages in Debian. Tryton, a full featured, entirely open source business software platform, is supported by its own foundation. You can track the current status of all our funded projects at its dedicated web page.
Folks continue to add to the Grow Your Ideas project page, that’s great.
In January € 2550 was put aside to fund Debian projects.
We continue to looking forward to hearing about Debian project proposals from various Debian stakeholders. This month has seen work on a survey that will go out to Debian Developers to gather feedback on what they think should be the priorities for funding in the project. Learn more about the rationale behind this initiative in this article.
Debian LTS contributors
In January, 13 contributors were paid to work on Debian LTS, their reports are available below. If you’re interested in participating in the LTS or ELTS teams, we welcome participation from the Debian community. Simply get in touch with Jeremiah or Raphaël.
Abhijith Pa worked 5 hours out of 5 available.
Anton Gladky worked 12 hours out of 12 available.
Ben Hutchings worked 16 hours out of 24 available and carried over 8 for February.
Chris Lamb worked 18 hours out of 18 available.
Emilio Pozuelo Monfort worked 55 hours out of 58.25 available and carried over 3.25 for February
Jeremiah Foster worked 20 hours out of 20 available on LTS administration and 8.3 hours on funded projects.
Lee Garrett didn’t spend any hours in January and carries over 39.25 hours to February
Markus Koschany worked 34 hours out of 40 available and carried over 6 for February.
Ola Lundqvist reported via email that they didn’t spend any hours in January and carries over 11 from December for a total of 12 hours for February.
Roberto C. Sanchez worked 9 hours out of 32 available and carried over 23 for February
Sylvain Beucler worked 22 hours out of 40 available and carried over 14 for February
Thorsten Alteholz worked 40 hours out of 40 available.
Utkarsh Gupta worked 58.25 hours out of 58.25 available.
Evolution of the situation
In January we released 34 DLAs.
The security tracker currently lists 39 packages with a known CVE and the dla-needed.txt file has 20 packages still needing an update.
Thanks to our sponsors
Sponsors that joined recently are in bold.
Platinum sponsors:
TOSHIBA (for 77 months)
GitHub (for 68 months)
Civil Infrastructure Platform (CIP) (for 45 months)
Gold sponsors:
Roche Diagnostics International AG (for 88 months)
Linode (for 82 months)
Babiel GmbH (for 71 months)
Plat’Home (for 71 months)
University of Oxford (for 27 months)
Deveryware (for 14 months)
VyOS Inc (for 9 months)
Silver sponsors:
The Positive Internet Company (for 93 months)
Domeneshop AS (for 92 months)
Nantes Métropole (for 86 months)
Univention GmbH (for 78 months)
Université Jean Monnet de St Etienne (for 78 months)
Ribbon Communications, Inc. (for 72 months)
Exonet B.V. (for 62 months)
Leibniz Rechenzentrum (for 56 months)
CINECA (for 45 months)
Ministère de l’Europe et des Affaires Étrangères (for 39 months)
Cloudways Ltd (for 29 months)
Dinahosting SL (for 27 months)
Bauer Xcel Media Deutschland KG (for 21 months)
Platform.sh (for 21 months)
Moxa Intelligence Co., Ltd. (for 15 months)
sipgate GmbH (for 12 months)
OVH US LLC (for 10 months)
Tilburg University (for 10 months)
GSI Helmholtzzentrum für Schwerionenforschung GmbH
Telecats BV
Bronze sponsors:
Evolix (for 93 months)
Seznam.cz, a.s. (for 93 months)
Intevation GmbH (for 90 months)
Linuxhotel GmbH (for 90 months)
Daevel SARL (for 88 months)
Bitfolk LTD (for 87 months)
Megaspace Internet Services GmbH (for 87 months)
Greenbone Networks GmbH (for 86 months)
NUMLOG (for 86 months)
WinGo AG (for 86 months)
Ecole Centrale de Nantes – LHEEA (for 82 months)
Entr’ouvert (for 77 months)
Adfinis AG (for 74 months)
GNI MEDIA (for 69 months)
Laboratoire LEGI – UMR 5519 / CNRS (for 69 months)
Tesorion (for 69 months)
Bearstech (for 60 months)
LiHAS (for 60 months)
People Doc (for 57 months)
Catalyst IT Ltd (for 55 months)
Supagro (for 50 months)
Demarcq SAS (for 49 months)
Université Grenoble Alpes (for 35 months)
TouchWeb SAS (for 27 months)
SPiN AG (for 24 months)
CoreFiling (for 19 months)
Institut des sciences cognitives Marc Jeannerod (for 14 months)
Observatoire des Sciences de l’Univers de Grenoble (for 11 months)
Tem Innovations GmbH (for 6 months)
WordFinder.pro (for 5 months)
CNRS DT INSU Résif (for 4 months)
[Less]
|
Posted
over 3 years
ago
John Grisham The King of Torts
Lots of things have been happening and I have been unable to be on top of things. There are so many things that happen and keep on happening and a lot of it is just not in control. For those who are watching
... [More]
Brexit, India is going through the same/similar phenomena just without Brexit. I would not like to delve much into Indian happenings as there is no sweet story to tell.
Mum is in hospital (diabetic foot) so a lot of time to read books. So I have been making use of the time and at the same time learning or making connections from what I know of the history of the world which goes on enriching what I read all the time. For e.g. in this book, opens up with people who are on Crack. Now while the book is set in 2003, it is still relevant today for a lot of things. There have been rumors and whatnot that the President of the United States, Ronald Reagan supplied a lot of cocaine to black folks in the early 1980s. While that has never been proved, it has been proved somewhat that the CIA and even people in the state department were part of providing crack cocaine to African Americans (as they refer to blacks) in those days. Whether this was because of black power rising or non-profits like ACLU or other organizations is beyond me. I had also read that the GOP (Republicans/Grand Old Party) in the 1970s itself when computers became fast and could do a lot of processing, came to know if education would be as it is, then soon they would no voters. hence they decided to defund education in America, the end result being massive education loans to prospective students and perhaps partly the reason why China produces more than enough STEM graduates than the total number of Americans who become graduates. It is a shame nonetheless, that education in the U.S. is never top . This is somewhat from a Republican perspective. That is also the reason they are much anti-science.
Tort Cases
India doesn’t have either class-action suits or tort cases. But before we go headlong, this is what tort means. The book however is not about general tort cases but medical tort cases. The idea is that medical companies often produce medicines claiming they solve x or y issues but more often than not they take short-cuts to get approval from FDA and other regulators. And sooner or later those medicines can and do have harmful effects on the body, sometimes resulting in death.
One of the more interesting articles that I read and probably also shared is the work done by Mr. Rob Bilott. While it is a typical David and Goliath story once you read the book, you realize that there are and were many difficulties in Mr. Rob’s path that are never fully appreciated or even worked out. The biggest issue is the 8 years that he paid out of his own pocket to get the hundreds and thousands of people tested. How many of us would do that?
And this is before proving causation of any disease, illness or anything to a particular environment, pollution etc. is hard even then and even now. Whatever money the victims receive afterward and whatever went to Mr. Rob Bilott would never compensate for the stress faced by him. And lawyers have to be careful, if they ask too little, they are not hurting the company and there is no change in its behavior. If they ask too much, the company can declare Chapter 11, bankruptcy so they have to keep the balance.
There is also a lot of greed shown by the tort lawyer and while at the end he does tell about a company’s nefarious activities that he suspects he could share his opinion only after giving up his law career. There is and was talk of tort-reform in the book but as can be seen if you ‘reform’ tort there is just no way to punish such companies but that is in the U.S.
There is also some observations that I have shared over the years, for e.g. Europe bans far more drugs than the U.S. does. A major part of it is perhaps due to the fact that Europe has 26/27 independent medical regulators and one country bans medicine for one or the other reason, the rest of Europe also bans the same. In the U.S. it is only the FDA. I have read they have had both funding and staffing issues for years and this is from before the pandemic. The Indian regulators are much worse. One could follow Priyanka Pulla’s articles in Mint and others where she has shared how the regulator is corrupt and lazy and a combo of both.
And all of this is besides how doctors are corrupted in India by marketing executives of pharma companies. That would be a whole article in itself. In short, when you read this book, there are so many thoughts that come alive when you are reading the book. The sad part is the book doesn’t offer any solutions at all. John Grisham’s books are usually legal thrillers and courtroom exchanges, this one though is and was very different. This one sadly doesn’t take one to any conclusion apart from the fact that we live in an imperfect world and there don’t seem to be any solutions. This was even shared by Rep. Katie Porter in her pinned tweet. The Abbvie’s of the world will continue to take common people like you and me for a ride. [Less]
|
Posted
over 3 years
ago
The diffoscope maintainers are pleased to announce the release of diffoscope
version 205. This version includes the following changes:
* Fix a file(1)-related regression where .changes files that contained
non-ASCII text were not identified as
... [More]
being .changes files, resulting in
seemingly arbitrary packages on tests.reproducible-builds.org and elswhere
not comparing the package at all. The non-ASCII parts could have been in
the Maintainer or in the upload changelog, so we were effectively
penalising anyone outside of the Anglosphere.
(Closes: reproducible-builds/diffoscope#291)
* Don't print a warning to the console regarding NT_GNU_BUILD_ID changes in
ELF binaries.
You find out more by visiting the project homepage. [Less]
|
Posted
over 3 years
ago
The RcppSimdJson package was updated to release 0.1.7 today. CRAN had sent a note overnight that it triggered ‘LENGTH_1’ error (where boolean comparisons happen with longer vectors). That may be debatable in the two cases flagged if one looks at
... [More]
the commit but life being too short to debate this so we just fixed it. The email came in at 04:50h-ish when I was sound asleep, but four hours later the fixed version was on CRAN thanks to the automated processing:
RcppSimdJson wraps the fantastic and genuinely impressive simdjson library by Daniel Lemire and collaborators. Via very clever algorithmic engineering to obtain largely branch-free code, coupled with modern C++ and newer compiler instructions, it results in parsing gigabytes of JSON parsed per second which is quite mindboggling. The best-case performance is ‘faster than CPU speed’ as use of parallel SIMD instructions and careful branch avoidance can lead to less than one cpu cycle per byte parsed; see the video of the talk by Daniel Lemire at QCon (also voted best talk).
The very short NEWS entry for this release follows.
Changes in version 0.1.7 (2022-02-18)
Two URLs were updated in 'README.md', and Travis artifacts and badges have been removed (Dirk).
One unit test file was updated to not trigger a 'LENGTH_1' warning (Dirk closing #76).
Courtesy of my CRANberries, there is also a diffstat report for this release. For questions, suggestions, or issues please use the issue tracker at the GitHub repo.
If you like this or other open-source work I do, you can now sponsor me at GitHub.
This post by Dirk Eddelbuettel originated on his Thinking inside the box blog. Please report excessive re-aggregation in third-party for-profit settings.
[Less]
|
Posted
over 3 years
ago
As of 2022-02-16, Launchpad supports a couple of features on its SSH
endpoints (git.launchpad.net, bazaar.launchpad.net, ppa.launchpad.net,
and upload.ubuntu.com) that it previously didn’t: Ed25519 public
keys (a well-regarded format,
supported
... [More]
by OpenSSH since 6.5 in 2014) and signatures with existing RSA
public keys using SHA-2 rather than
SHA-1 (supported by OpenSSH since
7.2 in 2016).
I’m hesitant to call these features “new”, since they’ve been around for a
long time elsewhere, and people might quite reasonably ask why it’s taken us
so long. The problem has always been that Launchpad can’t really use a
normal SSH server such as OpenSSH because it needs features that aren’t
practical to implement that way, such as virtual filesystems and dynamic
user key authorization against the Launchpad database. Instead, we use
Twisted Conch, which is
a very extensible Python SSH implementation that has generally served us
well. The downside is that, because it’s an independent implementation and
one that occupies a relatively small niche, it often lags behind in terms of
newer protocol features.
Catching up to this point has been something we’ve been working on for
around five years, although it’s taken a painfully long time for a variety
of reasons which I thought some people might find interesting to go into, at
least people who have the patience for details of the SSH protocol. Many of
the delays were my own responsibility, although realistically we probably
couldn’t have added Ed25519 support before OpenSSL/cryptography work that
landed in 2019.
In 2015, we did some similar work on SHA-2 key exchange and MAC
algorithms.
In 2016, various other contributors were working on ECDSA and Ed25519
support (e.g. #533 and
#644). At the time, it
seemed best to keep an eye on this but mainly leave them to it. I’m very
glad that some people worked on this before me - studying their PRs
helped a lot, even parts that didn’t end up being merged directly.
In 2017, it became clear that this was likely to need some more
attention, but before we could do anything else we had to revamp
Launchpad’s build system to use pip
rather than buildout, since
without that we couldn’t upgrade to any newer versions of Twisted. That
proved to be a substantial piece of yak-shaving: first we had to upgrade
Launchpad off Ubuntu 12.04, and then the actual build system
rewrite
was a complicated project of its own.
In 2018, I fixed an authentication
hang that happened if a client
even tried to offer ECDSA or Ed25519 public keys to Launchpad, and we got
ECDSA support fully working in Launchpad. We also discovered as a result
of automated interoperability tests run as part of the Debian OpenSSH
packaging that Twisted needed to gain support for the new
openssh-key-v1 private key format, which became a prerequisite for
Ed25519 support since OpenSSH only ever writes those keys in the new
format, and so I fixed
that.
In 2019, Python’s cryptography
package gained support for X25519 (the Diffie-Hellman key exchange
function based on Curve25519)
and Ed25519, and it became somewhat practical to add support to Twisted
on top of that. However, it required OpenSSL 1.1.1b, and it seemed
unlikely that we would be in a position to upgrade all the relevant bits
of Launchpad’s infrastructure to use that in the near term. I at least
managed to add curve25519-sha256 key exchange
support to Twisted based
on some previous work by
another contributor, and I prepared support for Ed25519
keys in Twisted even
though I knew we weren’t going to be able to use it yet.
2020 was … well, everyone knows what 2020 was like, plus we had a new
baby. I did some experimentation in spare moments, but I didn’t really
have the focus to be able to move this sort of complex problem forward.
In 2021, I bit the bullet and started seriously working on fallback
mechanisms to allow us to use
Ed25519 even on systems
lacking a sufficient version of OpenSSL, though found myself blocked on
figuring out type-checking issues following a code review. It then
became clear on the release of OpenSSH
8.8 that we were going
to have to deal with RSA SHA-2 signatures as well, since otherwise
OpenSSH in Ubuntu soon wouldn’t be able to authenticate to Launchpad by
default (which also caused me to delay uploading 8.8 to Debian
unstable for a while). To deal with
that, I first had to add SSH extension
negotiation to Twisted.
Finally, in 2022, I added RSA SHA-2 signature
support to Twisted,
finally unblocked myself on the type-checking issue with the Ed25519
fallback mechanism, quickly put together a similar fallback mechanism
for
X25519,
backported the whole mess to Twisted 20.3.0 since we currently can’t use
anything newer due to the somewhat old version of Python 3 that we’re
running, promptly ran into and fixed a
regression that affected
SFTP uploads to ppa.launchpad.net and upload.ubuntu.com, and finally
added Ed25519 as a permissible key type in Launchpad’s authserver.
Phew! Thanks to everyone who works on Twisted, cryptography, and OpenSSL
- it’s been really useful to be able to build on solid lower-level
cryptographic primitives - and to those who helped with code review. [Less]
|
Posted
over 3 years
ago
by
[email protected] (Abiola Ajadi)
Hi everyone!
In today’s blog post I will be talking about the progress i have made , the hurdles I encountered and how my current progress differs from my original expectations.
I applied to Debian community with a particular timeline and
... [More]
expected it to go that way, but after starting out i realized i had alot to learn in Ruby and the codebase.
So far i have worked on issues i am proud of and when i use Debci i see some of the changes i added for example the self-service form remembering values that was filled after an error message / it reloads.
Another milestone for me is writing test cases, I learnt about test driven development which is an awesome process is developing software.
Looking back at the beginning before the internship started I can see how much experience i have gained and also improvement I made.
Road block
Some tasks took longer than expected for example writing the test cases as i was new to this way of building and also i had to refactor some code, I was very careful doing this as i wanted to make sure i do it the right way.
The journey continues
I had to modify my initial expectations and my mentors have been so supportive. I hope to add more features to Debci and also write more tests.
So far, it has been a great experience. Till next time! [Less]
|
Posted
over 3 years
ago
Munin plugin and it’s CPU usage (and a rewrite in rust)
With my last blog on the Munin plugins CPU usage I complained about Oracle
Linux doing something really weird, driving up CPU usage when running
a fairly simple Shell script with a loop in.
... [More]
Turns out, I was wrong. It is not OL7 that makes this problem show
up. It appears to be something from the Oracle “Enterprise” Database
installed on the system, that makes it go this crazy. I’ve now had
this show up on RedHat7 systems too, and the only thing that singles
them out is that overpriced index card system on it.
I still don’t know what the actual reason for this is, and honestly,
don’t have enough time to dig deep into it. It is not something that a
bit of debugging/tracing finds - especially as it does start out all
nice, and accumulates more CPU usage over time. Which would suggest
some kind of leak leading to more processing needed, or so - but then
it is only CPU affected, not memory, and ONLY on systems with that
database on. Meh.
Well, I recently (December vacation) got me to look deeper into
learning Rust. My first project with that was a multi-threaded milter
to do some TLS checks on outgoing mails (kind of fun customer
requirements there), and heck, Rust did make that a surprisingly easy
task in the end. (Comparing the old, single-threaded C code with my
multi-threaded Rust version, a third of the code length doing more,
and being way easier to extend with wanted new features is nice).
So my second project was “Replace this shell script with a Rust binary
doing the same”. Hell yeah. Didn’t take that long and looks good
(well, the result. Not sure about the code. People knowing rust may
possibly scratch out eyes when looking at it). Not
yet running for that long, but even compared to the shell on systems
that did not show the above mentioned bugs (read: Debian, without
Oracle foo), uses WAY less CPU (again, mentioned by highly accurate
outputs of the top command). So longer term I hope this version won’t
run into the same problems as the shell one. Time will tell.
If you are interested in the code, go find it
here, and if you happen to know
rust and not run away screaming, I’m happy for tips and code fixes,
I’m sure this can be improved lots. (At least cargo clippy is happy,
so basics are done…)
Update: According to munin, the rust version creates 14
forks/second less than the shell one. And the fork rate change is same
on machines with/without the database. That 14 is more than I would
have guessed. CPU usage as expected: only on the problem hosts with
Oracle Database installed you can see a huge difference, otherwise it
is not an easily noticable difference. That is, on an otherwise idle
host (munin graph shows average use of low one-digit numbers), one can
see a drop of around 1% in the CPU usage graph from munin. Ohwell,
poor Shell. [Less]
|
Posted
over 3 years
ago
Munin plugin and it’s CPU usage (and a rewrite in rust)
With my last blog on the Munin plugins CPU usage I complained about Oracle
Linux doing something really weird, driving up CPU usage when running
a fairly simple Shell script with a loop in.
... [More]
Turns out, I was wrong. It is not OL7 that makes this problem show
up. It appears to be something from the Oracle “Enterprise” Database
installed on the system, that makes it go this crazy. I’ve now had
this show up on RedHat7 systems too, and the only thing that singles
them out is that overpriced index card system on it.
I still don’t know what the actual reason for this is, and honestly,
don’t have enough time to dig deep into it. It is not something that a
bit of debugging/tracing finds - especially as it does start out all
nice, and accumulates more CPU usage over time. Which would suggest
some kind of leak leading to more processing needed, or so - but then
it is only CPU affected, not memory, and ONLY on systems with that
database on. Meh.
Well, I recently (December vacation) got me to look deeper into
learning Rust. My first project with that was a multi-threaded milter
to do some TLS checks on outgoing mails (kind of fun customer
requirements there), and heck, Rust did make that a surprisingly easy
task in the end. (Comparing the old, single-threaded C code with my
multi-threaded Rust version, a third of the code length doing more,
and being way easier to extend with wanted new features is nice).
So my second project was “Replace this shell script with a Rust binary
doing the same”. Hell yeah. Didn’t take that long and looks good
(well, the result. Not sure about the code. People knowing rust may
possibly scratch out eyes when looking at it). Not
yet running for that long, but even compared to the shell on systems
that did not show the above mentioned bugs (read: Debian, without
Oracle foo), uses WAY less CPU (again, mentioned by highly accurate
outputs of the top command). So longer term I hope this version won’t
run into the same problems as the shell one. Time will tell.
If you are interested in the code, go find it
here, and if you happen to know
rust and not run away screaming, I’m happy for tips and code fixes,
I’m sure this can be improved lots. (At least cargo clippy is happy,
so basics are done…) [Less]
|
Posted
over 3 years
ago
Earlier this week, Neil McGovern announced that he is due to be stepping down as the Executive Director as the GNOME Foundation later this year. As the President of the board and Neil’s effective manager together with the Executive Committee, I
... [More]
wanted to take a moment to reflect on his achievements in the past 5 years and explain a little about what the next steps would be.
Since joining in 2017, Neil has overseen a productive period of growth and maturity for the Foundation, increasing our influence both within the GNOME project and the wider Free and Open Source Software community. Here’s a few highlights of what he’s achieved together with the Foundation team and the community:
Improved public perception of GNOME as a desktop and GTK as a development platform, helping to align interests between key contributors and wider ecosystem stakeholders and establishing an ongoing collaboration with KDE around the Linux App Summit.
Worked with the board to improve the maturity of the board itself and allow it to work at a more strategic level, instigating staggered two-year terms for directors providing much-needed stability, and established the Executive and Finance committees to handle specific topics and the Governance committees to take a longer-term look at the board’s composition and capabilities.
Arranged 3 major grants to the Foundation totaling $2M and raised a further $250k through targeted fundraising initiatives.
Grown the Foundation team to its largest ever size, investing in staff development, and established ongoing direct contributions to GNOME, GTK and Flathub by Foundation staff and contractors.
Launched and incubated Flathub as an inclusive and sustainable ecosystem for Linux app developers to engage directly with their users, and delivered the Community Engagement Challenge to invest in the sustainability of our contributor base – the Foundation’s largest and most substantial programs outside of GNOME itself since Outreachy.
Achieved a fantastic resolution for GNOME and the wider community, by negotiating a settlement which protects FOSS developers from patent enforcement by the Rothschild group of non-practicing entities.
Stood for a diverse and inclusive Foundation, implementing a code of conduct for GNOME events and online spaces, establishing our first code of conduct committee and updating the bylaws to be gender-neutral.
Established the GNOME Circle program together with the board, broadening the membership base of the foundation by welcoming app and library developers from the wider ecosystem.
Recognizing and appreciating the amazing progress that GNOME has made with Neil’s support, the search for a new Executive Director provides the opportunity for the Foundation board to set the agenda and next high-level goals we’d like to achieve together with our new Executive Director.
In terms of the desktop, applications, technology, design and development processes, whilst there are always improvements to be made, the board’s general feeling is that thanks to the work of our amazing community of contributors, GNOME is doing very well in terms of what we produce and publish. Recent desktop releases have looked great, highly polished and well-received, and the application ecosystem is growing and improving through new developers and applications bringing great energy at the moment. From here, our largest opportunity in terms of growing the community and our user base is being able to articulate the benefits of what we’ve produced to a wider public audience, and deliver impact which allows us to secure and grow new and sustainable sources of funding.
For individuals, we are able to offer an exceedingly high quality desktop experience and a broad range of powerful applications which are affordable to all, backed by a nonprofit which can be trusted to look after your data, digital security and your best interests as an individual. From the perspective of being a public charity in the US, we also have the opportunity to establish programs that draw upon our community, technology and products to deliver impact such as developing employable skills, incubating new Open Source contributors, learning to program and more.
For our next Executive Director, we will be looking for an individual with existing experience in that nonprofit landscape, ideally with prior experience establishing and raising funds for programs that deliver impact through technology, and appreciation for the values that bring people to Free, Open Source and other Open Culture organizations. Working closely with the existing members, contributors, volunteers and whole GNOME community, and managing our relationships with the Advisory Board and other key partners, we hope to find a candidate that can build public awareness and help people learn about, use and benefit from what GNOME has built over the past two decades.
Neil has agreed to stay in his position for a 6 month transition period, during which he will support the board in our search for a new Executive Director and support a smooth hand-over. Over the coming weeks we will publish the job description for the new ED, and establish a search committee who will be responsible for sourcing and interviewing candidates to make a recommendation to the board for Neil’s successor – a hard act to follow!
I’m confident the community will join me and the board in personally thanking Neil for his 5 years of dedicated service in support of GNOME and the Foundation. Should you have any queries regarding the process, or offers of assistance in the coming hiring process, please don’t hesitate to join the discussion or reach out directly to the board. [Less]
|