Lord of the Morning, he said, I have come for you.And then, as often, Robert Jordan began books citing some of the prophecy he invented:
On the island, the air shimmered and coalesced. The black-clad man stood staring at the fiery mountain rising out of the plain. His face twisted in rage and contempt. You cannot escape so easily, Dragon. It is not done between us. It will not be done until the end of time. Then he was gone, and the mountain and the island stood alone. Waiting.
And it came to pass in those days, as it had come before and would come again, that the Dark lay heavy on the land and weighed down the hearts of men, and the green things failed, and hope died. And men cried out to the Creator, saying, O Light of the Heavens, Light of the World, let the Promised One be born of the mountain, according to the prophecies, as he was in ages past and will be in ages to come. Let the Prince of the Morning sing to the land that green things will grow and the valleys give forth lambs. Let the arm of the Lord of the Dawn shelter us from the Dark, and the great sword of justice defend us. Let the Dragon ride again on the winds of time. from Charal Drianaan to Calamon,And then, the grand opening to each of the books in the 11,000-page series, something like this:
The Cycle of the Dragon.
Author unknown, the Fourth Age
The Wheel of Time turns, and Ages come and pass, leaving memories that become legend. Legend fades to myth, and even myth is long forgotten when the Age that gave it birth comes again. In one Age, called the Third Age by some, an Age yet to come, an Age long past, a wind rose in the Mountains of Mist. The wind was not the beginning. There are neither beginnings nor endings to the turning of the Wheel of Time. But it was a beginning. Born below the ever cloud-capped peaks that gave the mountains their name, the wind blew east, out across the Sand Hills, once the shore of a great ocean, before the Breaking of the World. Down it flailed into the Two Rivers, into the tangled forest called the Westwood, and beat at two men walking with a cart and horse down the rock-strewn track called the Quarry Road.And yesterday, 11,000 pages later, I have completed the series. Really, how could I have put down a book with such a majestic beginning as that? It hinted at the epic that was to come, the amazing literature I was going to read. I didn t read it straight through; I enjoyed books like War and Peace along the way. But what a trip the Wheel of Time series was. The characters were so detailed, so deep, the setting so elaborate, the plots so grand and also so small everyone from servants to queens were well-represented in the books. Not every section was a page-turner; in fact, around the 4th or 5th book, the series started to plod for a thousand pages or two, reading more like a history book than a novel. Sometimes the prejudices and stereotypes of the characters, particularly the sexism that both the men and women displayed, were frustrating to read. I never quite figured out of this was brilliant writing (making the reader feel frustrated at the plodding pace of the book when it was describing characters being frustrated at the plodding pace of events), or if it could have been trimmed down by 2/3 in some places. But really, the number of brilliant endings, laugh-out-loud situations, and page-turning suspense that somehow managed to build over hundreds, and then even thousands of pages, outweighed the flaws.
Politics is a foggy mire full of snakes. - The Eye of the World
Ah. Furlan washed his hands in one direction, then rubbed them in the other. Ah. Forgive me, Master Andra, but Lady Alys is a fierce sounding woman. Only with those who displease her, Lan said blandly. Her bite is far worse than her bark. Ah. Ah. Ah. Your rooms are this way. . . - The Dragon RebornOne of the marks of truly good writing is that I leave a book or series with a sense of sadness or nostalgia, leaving characters that seem almost like friends. I felt that after finishing the last book in the series, A Memory of Light. The ending was deep, and satisfying, but ultimately left me wanting even more even more than 11,000 pages, somehow.
Elienda and Briain woke from the dream. She might have been speaking of the weather rather than two deaths among women she knew. We all must wake eventually. - Knife of DreamsI was often touched by the way the Aiel referred to each other. A desert people, their fond farewall was may you always find water and shade. A fitting metaphor for anyone s life, I think. And they referred to their spouse as shade of my heart. Jordan touched on quite a few themes of religion and philosophy. In that quote above, he has the Aiel referring to death as waking from a dream. An intriguing metaphor, isn t it? He even writes conflicts of philosophy, religion, and culture into the series. I was particularly impressed with his treatment of theodicy and the problem of evil (the argument and religious response relating to the presence of evil in the world in the face of a loving God.) It is the most impressive treatment I have seen in fiction, and does a better job of advancing the theodistic argument than many philosophers have, I suspect. It is hard to really go into that one here because of the length and potential for spoilers. I can, however, comment on his treatment of existential nihilism the theory that life and the universe is without meaning, and the sometimes-related comment that what does anything matter then anyway? Here are a couple of quotes:
In Maradon, I saw what had been done to men who followed me. I saw Light in them, Min. Defying the Dark One no matter the length of his shadow. We will live, that defiance said. We will love and we will hope. And I saw him trying so hard to destroy that. He knows that if he could break them, it would mean something. Something much more than Maradon. Breaking the spirit of men he thirsts for that. He struck far harder than he otherwise would have because he wanted to break my spirit. His voice grew softer and he opened his eyes, looking down at her. And so I stood against him. - Towers of Midnight
What if I think it s all meaningless? he demanded with the loud voice of a king. What if I don t want it to keep turning? We live our lives by the blood of others! And those others become forgotten. What good is it if everything we know will fade? Great deeds or great tragedies, neither means anything! They will become legends, then those legends will be forgotten, then it will all start over again!I unfortunately can t put in in its proper context due to spoilers, but it is a pivotal turning point in the series, relating to the preservation of the world. By giving what we might normally call a characteristic or behavior evil an almost-human voice and character, it can be discussed in interesting ways.
Why? Rand thought with wonder. Because each time we live, we get to love again.
It felt relaxing to stare out at that distant light, so welcoming and noble. Storms will soon come, it seemed to say. But for now, I am here. I am here. - The Gathering Storm
We are always more afraid than we wish to be, but we can always be braver than we expect. Hold on to your heart, and the Aes Sedai cannot harm what is really you, your heart. They are not nearly so far above us as we believed. May you always find water and shade, Egwene. And always remember your heart. - Lord of Chaos
Eben is dead. Would you want to forget your pain if you lost that hulking giant of yours? Have your feelings for him cut away like some spoiled chunk of flesh in an otherwise good roast? - The Gathering StormThese quotes are examples of characters in the series dealing with difficult situations. In one, a character is yelled at for offering to use her special powers to numb the pain of another person over a death. It brings up a question that those of us that have known pain might find interesting: would we really have wanted our pain erased? And suggests perhaps not. That there is a benefit to it. That we get through it by embracing it by embracing it while still being true to our heart.
He had four rules concerning action and information. Never make a plan without knowing as much as you can of the enemy. Never be afraid to change your plans when you receive new information. Never believe you know everything. And never wait to know everything. - Lord of ChaosSometimes the series treats us to logical thinkers, whether they are generals or innkeepers, and gives us little tidbits like this one.
Androl brushed off his hands, smiling. Children were so adaptable. Before them, centuries of tradition, terror and superstition could melt away like butter left too long in the sun. - Towers of MidnightAnd sometimes, things to chew over. Isn t that an interesting comment on prejudice? Children aren t born prejudiced; we can see how easily they make friends with anyone. It is sad that we teach them to be, isn t it? Wheel of Time is a fine story, expertly woven. But it is not just a story. It is true, in the sense that it illuminates truths, just like Romeo and Juliet can. In it, I see lessons and echoes of the civil rights era, comments on what makes good leaders, characters wrestling with decisions without adequate data, people putting on a mask of emotions, sacrifice, and the overall theme of the entire series: the power of love and compassion. The inspiration of the series for me well, it is there, but it may take a few more days to figure it out. I think it has something to do with this: The wind rose high and free, to soar in an open sky with no clouds.
2013 is nearly all finished up and so I thought I'd spend a little time
writing up what was noteable in the last twelve months. When I did so I
found an unfinished draft from the year before. It would be a shame for
it to go to waste, so here it is.
2012 was an interesting year in many respects with personal highs
and lows. Every year I see a lots of "round-up"-style blog posts
on the web, titled things like "2012 in music", which attempt to summarize the
highlights of the year in that particular context. Here's JWZ's
effort, for example.
Often they are prefixed with statements like "2012 was a strong year for music"
or whatever. For me, 2012 was not a particularly great year. I discovered quite
a lot of stuff that I love that was new to me, but not new in any other sense.
In Music, there were a bunch of come-back albums that made the headlines. I
picked up both of Orbital's Wonky and Brian Eno's Lux (debatably a
comeback: his first ambient record since 1983, his first solo effort since
2005, but his fourth collaborative effort on Warp in the naughties). I've
enjoyed them both, but I've already forgotten Wonky and I still haven't fully
embraced Lux (and On Land has not been knocked from the top spot when I
want to listen to ambience.) There was also Throbbing Gristle's (or X-TG)
final effort, a semi/post-TG, partly posthumous double-album swan song effort
which, even more than Lux, I still haven't fully digested. In all honesty I
think it was eclipsed by the surprise one-off release of a live recording of a
TG side project featuring Nik Void of Factory Floor: Carter Tutti Void's
Transverse, which is excellent. Ostensibly a four-track release, there's a
studio excerpt V4 studio (Slap 1) which is available from (at least)
Amazon.
There's also a much more obscure fifth "unreleased" track cruX which I managed
to "buy" from one of the web shops for zero cost.
The other big musical surprise for me last year was Beth Jeans Houghton and the
Hooves of Destiny: Yours Truly, Cellophane Nose. I knew nothing of BJH,
although it turns out I've heard some of her singles repeatedly on Radio 6, but
her band's guitarist Ed Blazey and his partner lived in the flat below me
briefly. In that time I managed to get to the pub with him just once, but he
kindly gave me a copy of their album on 12" afterwards. It reminds me a bit of
Goldfrapp circa "Seventh Tree": I really like it and I'm looking forward to
whatever they do next.
Reznor's How To Destroy Angels squeezed out An Omen EP which failed to set
my world on fire as a coherent collection, despite a few strong songs
individually.
In movies, sadly once again I'd say most of the things I recall seeing would be
"also rans". Prometheus was a disappointment, although I will probably rewatch
it in 2D at least once. The final Batman was fun although not groundbreaking to
me and it didn't surpass Ledger's efforts in The Dark Knight. Inception remains
my favourite Nolan by a long shot. Looper is perhaps the stand-out, not least
because it came from nowhere and I managed to avoid any hype.
In games, I moaned about having moaning about too many
games, most of which are much older than 2012. I started
Borderlands 2 after enjoying Borderlands (disqualified on age grounds) but
to this day haven't persued it much further. I mostly played the two similar
meta-games: The Playstation Plus download free games in a fixed time period
and the more sporadic but bountiful humble bundle whack-a-mole. More on
these another time.
In reading, as is typical I mostly read stuff that was not written in 2012.
Of that which was, Charles Stross's The Apocalypse Codex was an
improvement over The Fuller Memorandum which I did not enjoy much, but in
general I'm finding I much prefer Stross's older work to his newer; David
Byrne's How Music Works was my first (and currently last) Google Books ebook
purchase, and I read it entirely on a Nexus 7. I thoroughly enjoyed the book
but the experience has not made a convert of me away from paper. He leans
heavily on his own experiences which is inevitable but fortunately they are
wide and numerous. Iain Banks' Stonemouth was an enjoyable romp around a
fictional Scottish town (one which, I am reliably informed, is incredibly
realistical rendered). One of his "mainstream" novels, It avoided a particular
plot pattern that I've grown to dread with Banks, much to my suprise (and
pleasure). Finally, the stand-out pleasant surprise novel of the year was
Pratchett and Baxter's The Long Earth. With a plot device not unlike Banks'
Transition or Stross's Family Trade series, the pair managed to write a
journey-book capturing the sense-of-wonder that these multiverse plots are
good for. (Or perhaps I have a weakness for them). It's hard to find the lines
between Baxter and Pratchett's writing, but the debatably-reincarnated Tibetan
Monk-cum-Artificial Intelligence 'Lobsang' must surely be Pratchett's.
Pratchett managed to squeeze out another non-Discworld novel (Dodger) as well
as a long-overdue short story collection, although I haven't read either of
them yet.
On to 2013's write-up...
Jebediah boarded the airplane. It was a Bombardier CRJ900 with two
turbofan jet engines. Run by SPARK, a subset of Ada. He sat down
in his assigned seat and listened to the purser inform him that he
was free to use his phone door-to-door on all Delta Connection
flights. As long as the Airplane Mode was switched on.
Jebediah knew that this was why Delta owned 49% of Virgin Atlantic.
On the plane ride, a woman in too much makeup asked Jebediah to
get the man next to him so she could borrow his copy of the
Economist. The man said she could keep it and that it was old.
He had stubby little fingers. She was foreign.
At Terminal 2, they passed by Kids on the Fly, an exhibit of the
Chicago Children's Museum at Chicago O'Hare International Airport.
A play area. Jebediah thought of Dennis.
The Blue Line of the Chicago Transit Authority was disrupted by
weekend construction, so they had to take a small detour through
Wicker Park. Wicker Park is a neighborhood. In Chicago. Jebediah
looked at Glazed & Infused Doughnuts. He wondered if they made
doughnuts there. Because of the meeting, he knocked someone off
a Divvy bike and pedaled it to the Loop.
The Berghoff was opened in 1898 by Herman Joseph Berghoff.
Once he got to the Berghoff, he got a table for seven on the west
wall. He eyed the electrical outlet and groaned. He had brought
3 cigarette lighter adapters with him, but nothing to plug into
an AC outlet. How would he charge his device? An older gentleman
came in. And greeted him.
Hello, I'm Detective Chief Inspector Detweiler. Did you bring
the evidence? Said the man.
Jebediah coughed and said that he had to go downstairs. He went
downstairs and looked at the doors. He breathed a sigh of relief.
Seeing the word washroom in print reminded him of his home state
of Canada. Back at the table he opened a bag, glared angrily
at a cigarette lighter adapter, and pulled out a Palm m125.
Running Palm OS 4.0. He noticed a third person at the table.
It was the ghost of Bob Ross.
, said the ghost of Bob Ross. It was
good for him to communicate telepathically with Sarah Palin.
This has eight megabytes of RAM, Jebediah informed the newcomer.
Bob Ross's ghost right-clicked on his face and rated him one star.
Jebediah looked angrily at the AC outlet and fidgeted with two
of his cigarette lighter adapters.
DCI Detweiler said, I had a Handspring Visor Deluxe, and pulled
out a Samsung Galaxy Tab 3 8.0 eight-inch Android-based tablet
computer running the Android 4.2.2 Jelly Bean operating system
by Google. This also has eight megabytes of RAM, he continued.
As you requested, I brought the video of your nemesis at the
Robie House.
Jebediah stared at the tablet. He could see a compressed video
file, compressed with NetBSD compression and GNU encryption.
It was on the tablet. Some bridges you just don't cross,
he hissed.
Meanwhile, in Gloucestershire, someone who looked suspiciously
like Bobby Rainsbury opened up a MacBook Air and typed in a
three-digit passcode. Across the street a wall safe slid
out of the wall. And dropped onto someone's head. She
closed the laptop. And went to Dumfries.
Not far from the fallen safe, a group of men held a discussion.
FBI: Why are we here on this junket?
CIA: Where are we?
DIA: We're here.
JIA: This is confusing.
NSA: I have to get back to that place in Germany where I don't work.
ATF: We're talking about giant robots here, people.
EPA: Huh?
Part 2
AUD:USD 1.0645
donuts:dozen 12
Gold $1318.60
Giant robot spiders fought each other in a supermarket parking
lot.
Detective Seabiscuit sucked on a throat lozenge. Who are you
again? he asked the toll-booth operator.
I said my name is Rogery Sterling, replied the toll-booth
operator.
Rajry what?
I said my name is Rogery Sterling, replied the toll-booth
operator. Again.
Where am I?
Look, I'm telling you that that murder you're investigating
was caused by software bugs in the software.
Are we on a boat?
Look at the diagram. This agency paid money to introduce,
quite deliberately, weaknesses in the security of this library,
through this company here, and this company here.
Library, oh no. I have overdue fees.
And they're running a PR campaign to increase use of this
library. Saying that the competing options are inferior.
But don't worry, they're trying to undermine those too.
Detective Seabiscuit wasn't listening. He had just remembered
that he needed to stop by the Robie House.
"I can land no more upon this Eastern coast of New Holland, and on the Western side I can make no new discovery the honour of which belongs to the Dutch Navigators and as such they may lay Claim to it as their property, but the Eastern Coast from the Latitude of 38 South down to this place I am confident was never seen or viseted by any European before us and therefore by the same Rule belongs to great Brittan."
"Australia [now has] a population of three and a half millions, and the American people numbered only between three and four millions when they formed the great commonwealth of the United States. The numbers were about the same, and surely what the Americans had done by war, the Australians could bring about in peace, without breaking the ties that held them to the mother country."Though Parkes would not live to see it, his vision would be achieved within a little over a decade, and he is remembered as the "father of federation". The Commonwealth of Australia came into being when the Federal Constitution was proclaimed by the Governor-General, Lord Hopetoun, on 1 January 1901. Australia took part in WWI. The contributions of Australian and New Zealand troops during the 1915 Gallipoli Campaign against the Ottoman Empire had a great impact on the national consciousness at home, and marked a watershed in the transition of Australia and New Zealand from colonies to nations in their own right. The countries continue to commemorate this occasion on ANZAC Day. Australia achieved independent Sovereign Nation status after World War I, under the Statute of Westminster, which defined Dominions of the British empire in the following way:
"They are autonomous Communities within the British Empire, equal in status, in no way subordinate one to another in any aspect of their domestic or external affairs, though united by a common allegiance to the Crown, and freely associated as members of the British Commonwealth of Nations."The parliaments of Canada, Australia, New Zealand, the Union of South Africa, the Irish Free State and Newfoundland (currently part of Canada) were now independent of British legislative control, they could nullify British laws and Britain could no longer pass laws for them without their consent. The Australia Act 1986 removed any remaining links between the British Parliament and the Australian states.
This is the fourth post in a series of posts (part 1, part 2, part 3) describing a secure alternative to applications like WhatsApp. I started with the following statement:
I believe it is possible to build a system with the simplicity and functionality of WhatsApp or Viber, which provides end-to-end encryption, is built on free software and open protocols, that supports federation and is almost decentralised, and that would allow interested companies to turn a profit without compromising any of these principles.Now that most of the infrastructure has been described, in this post I will talk about the user-visible part: a mobile SIP client specially tailored for this architecture.
All the motors start talking to Blender through ROS. Some interesting shaky behavior and a few issues with inverse kinematics are revealed.
I was at the OpenStack Summit this week. The overwhelming majority of OpenStack deployments are Linux-based, yet the most popular laptop vendor (by a long way) at the conference was Apple. People are writing code with the intention of deploying it on Linux, but they're doing so under an entirely different OS.
I recently bought a new Lenovo X1 Carbon. It is the new second-generation, type 20A7 laptop, based on Intel s Haswell microarchiteture with the adaptive keyboard. It is the version released in 2014. I also ordered the Thinkpad OneLink Dock which I have returned for the OneLink Pro Dock which I have not yet received.
The system is still very new, challenging, and different, but seems to support GNU/Linux reasonably well if you are willing to run a bleeding edge version and/or patch your kernel and if you are not afraid to spend an afternoon or two tweaking things. What follows are my installation notes for Debian testing (jessie) when I installed it in early May 2014. My general impressions about the laptop as a GNU/Linux system and overall are at the end of this write-up.
00:00.0 Host bridge: Intel Corporation Haswell-ULT DRAM Controller (rev 0b) 00:02.0 VGA compatible controller: Intel Corporation Haswell-ULT Integrated Graphics Controller (rev 0b) 00:03.0 Audio device: Intel Corporation Haswell-ULT HD Audio Controller (rev 0b) 00:14.0 USB controller: Intel Corporation Lynx Point-LP USB xHCI HC (rev 04) 00:16.0 Communication controller: Intel Corporation Lynx Point-LP HECI #0 (rev 04) 00:16.3 Serial controller: Intel Corporation Lynx Point-LP HECI KT (rev 04) 00:19.0 Ethernet controller: Intel Corporation Ethernet Connection I218-LM (rev 04) 00:1b.0 Audio device: Intel Corporation Lynx Point-LP HD Audio Controller (rev 04) 00:1c.0 PCI bridge: Intel Corporation Lynx Point-LP PCI Express Root Port 6 (rev e4) 00:1c.1 PCI bridge: Intel Corporation Lynx Point-LP PCI Express Root Port 3 (rev e4) 00:1d.0 USB controller: Intel Corporation Lynx Point-LP USB EHCI #1 (rev 04) 00:1f.0 ISA bridge: Intel Corporation Lynx Point-LP LPC Controller (rev 04) 00:1f.2 SATA controller: Intel Corporation Lynx Point-LP SATA Controller 1 [AHCI mode] (rev 04) 00:1f.3 SMBus: Intel Corporation Lynx Point-LP SMBus Controller (rev 04)
I had to dump the eltorito image from the ISO they provide, after that I was able to dd the resulting image to a flash drive and the bios update went well, no cdrom needed.I updated to version 1.13 of the BIOS which fixes the suspend/resume bug. By the time you read this, there may be newer versions that fix other things so check the Lenovo website.
Open file /usr/share/X11/xorg.conf.d/50-synaptics.conf for edit.
Find Section InputClass which the following line is Identifier Default clickpad buttons .
Edit option for SoftButtonAreas to values 64% 0 1 42% 36% 64% 1 42%, this is size of the right and middle button.
Enable option AreaBottomEdge and change value to 1, this will disable touchpad movement.
If everything done right, your class should looks like:
Section "InputClass"
Identifier "Default clickpad buttons"
MatchDriver "synaptics"
Option "SoftButtonAreas" "64% 0 1 42% 36% 64% 1 42%"
Option "AreaBottomEdge" "1"
EndSection
Essentially, the first Option line will create a middle button that is 32% of the width and 42% of the height, and a right button that is 32% of the width and 42% of the height. The synaptics manpage (man synpatics) will give you more detail on the general way this works.
Of course, something does feel very wrong about editing a file in /usr/share.
330947b save and restore adaptive keyboard mode for suspend and,resume 3a9d20b support Thinkpad X1 Carbon 2nd generation's adaptive keyboardAlthough this is not supported in Debian testing at the time of writing, a bug was filed in Debian and quickly fixed by Ben Hutchings in Debian kernel version 3.14.2-1 which is currently in sid/unstable. As a result, if you install the latest version kernel from Debian unstable (3.14.2-1 or later), the adaptive keyboard just works. If you aren t using Debian and if kernel you are using does not have support, you might be patching your kernel.
Many new Thinkpad laptops have a dock (Thinkpad OneLink Dock) containing a usb ethernet chip that is supported by the ax88179 driver. However its USB ID is not included in the driver shipped with the 3.13 kernel used in Trusty. A patch to add this ID has been sent to the LKML (see https://lkml.org/lkml/2014/2/24/649 ) and it would be very convenient for all users of the dock if it could be applied to the Trusty kernel.If your kernel does not support the USB Ethernet device in the dock, and a newer kernel doesn t fix it, the patch is straightforward.
I m holding a Debian packaging workshop for our trainees at work tomorrow, and have prepared
a sample package for a simple PHP web application (just a handful
of files) with DB connection (PostgreSQL of course), automatic setup
via dbconfig-common, and with support for both Apache 2.2
(wheezy, precise) and Apache 2.4 (jessie/sid), configuration-wise.
(It is possible to install this without Apache, just it does not
configure the webserver then.) Schema updates on software updates
are also tested (there is neither Flyway nor Liquibase which are
the tools we use at work for this, other than Roland Mas wonderful
scripts for FusionForge in Debian, but to my delight I discovered
that dbconfig-common can also do this).
Comments, suggestions, flames, etc. welcome. I know that this
should not be a native package, and will address this tomorrow,
but I wanted something that serves as decent example for how to
do this easily, Policy conformant and using modern techniques
(even those I dislike
myself for the sake of simplicity).
Permission was granted by the business administration to reproduce
this all under a BSD-style
licence, so, enjoy sharing!
Thanks to Roland Mas, for making FusionForge such a nice project,
and Arno T ll for some instant IRC help on the Apache side of this.
This is my first time using dbconfig-common, and now, I
finally feel I know enough to finish the packaging of Kivitendo which I ve started
earlier. Beta testers for that welcome, too.
(And next week or so, I ll need this for a Maven thingy. I ll
probably opt out on the DB side, there, though. Never did anything
with that, either, not being a Java guy. I guess something web
to go with tomcat7 anyone got this already?)
For quite some time I was pretty confident that Weblate will need some UI rewrite at some point. This is always problematic thing for me as I'm no way an UI designer and thus I always hope that somebody else will do that. I've anyway spent few hours on train home from LinuxTag to check what I could do with that.
The first choice for me was to try Twitter Bootstrap as I've quite good experience with using that for UI at work, so I hoped it will work quite well for Weblate as well. The first steps went quite nicely, so I could share first screenshots on Twitter and continue to work on that.
After few days, I'm quite happy with basic parts of the interface, though the most important things (eg. the page for translating) are still missing. But I think it's good time to ask for initial feedback on that.
Main motivation was to unite two tab layout used on main pages, which turned out to be quite confusing as most users did not really get into bottom page of the page and thus did not find important functions available there. So all functions are accessible from top page navigation, either directly or being in menu.
I've also decide to use colors a bit more to indicate the important things. So the progress bars are more visible now (and the same progress bar now indicates status of translation per words). The quality checks also got their severity, which in turn is used to highlight the most critical ones. The theme will probably change a bit (so far it's using default theme as I did not care much to change that).
So let's take a look at following screenshot and let me know your thoughts:
You can also try that yourself, everything is developed in the bootstrap branch in our Git repository.
Filed under: English phpMyAdmin SUSE Weblate 4 comments Flattr this!
I've been using Linode since 2010, and many of
my friends have heard me talk about how big a fan I am of linode. I've
used Debian unstable on all my Linodes, since I often use them as a remote
shell for general purpose Debian development. I've found my linodes to be
indispensable, and I really love Linode.
The Problem
Recently, because of my work on Docker, I was forced
to stop using the Linode kernel in favor of the stock Debian kernel, since
the stock Linode kernel has no aufs support, and the default LVM-based
devicemapper backend can be quite a pain.
I tried loading in btrfs support, and
using that to host the Docker instance backed with btrfs, but it was throwing
errors as well. Stuck with unstable backends, I wanted to use the
aufs backend, which, dispite problems in
aufs internally, is quite stable with Docker (and in general).
I started to run through the Linode Library's guide on PV-Grub,
but that resulted in a cryptic error with xen not understanding the compression
of the kernel. I checked for recent changes to the compresson, and lo, the
Debian kernel has been switched to use xz compression in sid. Awesome news,
really. XZ compression is awesome, and I've been super impressed with how
universally we've adopted it in Debian. Keep it up! However, it appears only
a newer pv-grub than the Linode hosts have installed will fix this.
After contacting the (ever friendly) Linode support, they were unable to give
me a timeline on adding xz support, which would entail upgrading pv-grub. It
was quite disapointing news, to be honest. Workarounds were suggested,
but I'm not quite happy with them as proper solutions.
After asking in #debian-kernel, waldi was
able to give me a few pointers, and the following is very inspired by him,
the only thing that changed much was config tweaking, which was easy enough.
Thanks, Bastian!
The Constraints
I wanted to maintain a 100% stock configuration from the kernel up.
When I upgraded my kernel, I wanted to just work. I didn't want to
unpack and repack the kernel, and I didn't want to install software
outside main on my system. It had to be 100% Debian and unmodified.
The Solution
Left unable to run my own kernel directly in the Linode interface, the tact
here was to use Linode's old pv-grub to chain-load grub-xen, which loaded
a modern kernel. Turns out this works great.
Let's start by creating a config for Linode's pv-grub to read
and use.
sudo mkdir -p /boot/grub/
grub-xen (which is just Grub 2.0, as far as I can
tell) to /boot/grub/menu.lst. And to think, I almost forgot all about
menu.lst. Almost.
default 1
timeout 3
title grub-xen shim
root (hd0)
kernel /boot/xen-shim
boot
sudo apt-get install grub-xen
sudo update-grub
/boot/load.cf file:
configfile (xen/xvda)/boot/grub/grub.cfg
/boot/xen-shim file that we need
to boot to:
grub-mkimage --prefix '(xen/xvda)/boot/grub' -c /boot/load.cf -O x86_64-xen /usr/lib/grub/x86_64-xen/*.mod > /boot/xen-shim
pv-grub, and give the machine
a kick. Should work great! If you run into issues, use the lish shell to
debug it, and let me know what else I should include in this post!
Hack on!
This is the second post in a series of posts describing a secure alternative to applications like WhatsApp. I started with the following statement:
I believe it is possible to build a system with the simplicity and functionality of WhatsApp or Viber, which provides end-to-end encryption, is built on free software and open protocols, that supports federation and is almost decentralised, and that would allow interested companies to turn a profit without compromising any of these principles.In this post, I will outline the concepts behind the most critical component of the architecture: the directory service.
I ve been searching for interesting ways to manipulate RDF graphs in Python, to create an application that would handle Linked Data Resources in an OO-way, i.e. using Python classes and not tables/sets/lists of triples. The data will be persisted in graphs in a triple store, accessed through a SPARQL enpoint.
In this post, I ll illustrate how I managed to tie RDFLib s SPARQLStore plugin and RDFAlchemy to reach a rather nice looking result.
(predicate, object) tuples.
Here comes the second tool, RDFAlchemy, which allows to create descriptor classes mapping RDF Resources to Python classes. Here again, there isn t much docs available, but I found the excellent tutorial by Ted Lawless Reading and writing RDF for VIVO with RDFAlchemy.
Now we can put the 2 pieces together, modulo a few precautions : the SPARQLStore plugin of RDFLib will generate SPARQL queries everytime a graph is navigated, whereas RDFAlchemy expects the graph to be in memory (at least AFAIU). So we ll have to manually pre-load the contents of the graphs that we need for all the attributes of the descriptor classes.
I ve written an example code that illustrates this by trying to query french films in Wikipedia. Here s a copy of the gist. Attention, it will query DBPedia a lot, so pay attention to the bandwidth and memory if you change parameters.
It isn t perfect, and I still need to investigate benefits and limitations of the approach. On clear limitation is the number of SPARQL queries made on the endpoint, instead of a smarter pre-loading.
Also, on a side note, during tests I could spot a few issues with SPARQLStore, which seems lagging behind probably not used by so many people. The RDFAlchemy project doesn t seem to be in great health, mostly unmaintained from what I can see (and notice that I linked to the GitHub clone/fork that seemed to be the latest maintained while the original author s seems dead), but nevertheless, the code works with a more recent RDFLib, so that s not so bad.
Stay tuned for more adventures in Linked Data land in Python.
Today I released version 0.25 of my console mail client, which is a release focussed upon portability (DragonFly BSD, and MacOSX specifically).
Over the past couple of weeks I've written a fair bit of code, wondering if I want to make the jump to a graphical email client, but the conclusion for the moment has to be no.
With the scripting support built into my client, and even before then using the hooks/hacks that mutt supported, I just process mail so much more quickly than via a GUI system.
I also benefit from reading the mail on the host to which it is delivered - mail gets filtered by something like procmail, and I read it in-situa. IMAP is available if I travel, but I rarely do so.
Having a GUI client might be fun, but it would mean I'd read mail on my desktop - pretty much the only system I don't backup (except for images, videos, and local media). It would also involve running imapsync, or similar, to pull the mail in, and relaying through the remote server to avoid my ISPs poor IP-reputation.
In short I believe if I use a GUI client I'll get slower, and I'll still need the remote host regardless.
It was this time last year when I thought it was functional, but now it is functional, battle-tested, and reliable.
So I guess I'm done with email for the next few years. Maybe in that time somebody will write something better - console based for preference, GUI as a last resort, and certainly not another webmail client.
In other news ..
I had a fun interview on Monday, it went well until they admitted they couldn't afford me - so their goal is to pay a junior member a small salary and hope to get somebody senior to work part-time for a similarly minimal salary. Might work for somebody else, but it wouldn't for me right now, so on that basis I declined.
The most annoying thing about interviewing is the waiting, between the early flirting about duties and expectations, to scheduling meetings, and then awaiting decisions.
On that note I'm half-way through building a new desk which is a nice physical job I can really concentrate upon. I'm currently waiting for the stain to dry on the legs, and then I'll get the damn thing finished. It probably looks more "rustic" than "modern", but it smells nice, so that's the main thing ;)
Expect pictures when it is finished.
Endlich tut mal jemand was gegen die
rechte Hetzpartei! Ein Arbeitskollege fragt, ob man die nicht
einfach mit einem langen Heckenschneider abmachen kann aber sie so
l cherlich zu machen hat auch was
Finally, someone is doing something against this Nazi party! A coworker wondered whether it s legal to cut them off with a long tool, but making them ridiculous like this is also funny
(Explanation: the Pro NRW people put their campaign thingies (sorry, I don t speak English well) up on lamp posts very high, because they are taken down by other citizens immediately otherwise, so there s now people making fun of them for using long ladders (to put them up there, so the offended citizens need equally long ladders or tools with long arms) in leaning on the saying that lies have long legs here: ladders.)
Using % ?_smp_flags can speed up your build a lot.Above RPM macro enables SMP, use all CPU cores to build package and it looks good. We can easily buy multi core processor machine nowadays even if it is cheapest laptop.
Next.