mozilla

Mozilla Nederland LogoDe Nederlandse
Mozilla gemeenschap

Abonneren op feed Mozilla planet
Planet Mozilla - http://planet.mozilla.org/
Bijgewerkt: 14 uur 53 min geleden

Karl Dubost: Reducing your bandwidth bill by customizing 404 responses.

wo, 30/07/2014 - 07:50

In this post, you will learn on how to improve and reduce the bandwidth cost for both the user and the server owner. But first we need to understand a bit the issue (but in case you know all about it, you can jump to the tips at the end of the blog post).

Well-Known Location Doom Empire

Starting a long time ago, in 1994, because of a spidering program behaving badly, robots.txt was introduced and quickly adopted by WebCrawler, Lycos and other search engines at the time. Now, Web clients had the possibility to first inspect the robots.txt at the root of the Web site and to not index the section of the Web sites which declared "not welcome" to Web spiders. This file was put at the root of the Web site, http://example.org/robots.txt. It is called a "Well known location" resource. It means that the HTTP client is expecting to find something at that address when doing a HTTP GET.

Since then many of these resources have been created unfortunately. The issues is that it imposes on server owners certain names they might have want to use for something else. Let's say, as a Web site owner, I decide to create a Web page /contact at the root of my Web site. One day, a powerful company decides that it would be cool if everyone had a /contact with a dedicated format. I then become forced to adjust my own URI space to not create conflict with this new de facto popular practice. We usually say that it is cluttering the Web site namespace.

What are the other common resources which have been created since robots.txt?

  • 1994 /robots.txt
  • 1999 /favicon.ico
  • 2002 /w3c/p3p.xml
  • 2005 /sitemap.xml
  • 2008 /crossdomain.xml
  • 2008 /apple-touch-icon.png, /apple-touch-icon-precomposed.png
  • 2011 /humans.txt

Note that in the future if you would like to create a knew well-known resource, RFC 5785 (Defining Well-Known Uniform Resource Identifiers (URIs)) has been proposed specifically for addressing this issue.

Bandwidth Waste

In terms of bandwidth, why could it be an issue? These are files which are most of the time requested by autonomous Web clients. When an HTTP client requests a resource which is not available on the HTTP server, it will send back a 404 response. These response can be very simple light text or a full HTML page with a lot of code.

Google evaluated that the waste of bandwidth generated by missing apple-touch-icon on mobile was 3% to 4%. This means that the server is sending bits on the wire which are useless (cost for the site owner) and the same for the client receiving them (cost for the mobile owner).

It's there a way to fix that? Maybe.

Let's Hack Around It

So what about instead of having the burden to specify every resources in place for each clients, we could send a very light 404 answer targeted to the Web clients that are requesting the resources we do not have on our own server.

Let's say for the purpose of the demo, that only favicon and robots are available on your Web site. We need then to send a specialized light 404 for the rest of the possible resources.

Apache

With Apache, we can use the Location directive. This must be defined in the server configuration file httpd.conf or the virtual host configuration file. It can not be defined in .htaccess.

<VirtualHost *:80> DocumentRoot "/somewhere/over/the/rainbow" ServerName example.org <Directory "/somewhere/over/the/rainbow"> # Here some options # And your common 404 file ErrorDocument 404 /fancy-404.html </Directory> # your customized errors #<Location /robots.txt> # ErrorDocument 404 /plain-404.txt #</Location> #<Location /favicon.ico> # ErrorDocument 404 /plain-404.txt #</Location> <Location /humans.txt> ErrorDocument 404 /plain-404.txt </Location> <Location /crossdomain.xml> ErrorDocument 404 /plain-404.txt </Location> <Location /w3c/p3p.xml> ErrorDocument 404 /plain-404.txt </Location> <Location /apple-touch-icon.png> ErrorDocument 404 /plain-404.txt </Location> <Location /apple-touch-icon-precomposed.png> ErrorDocument 404 /plain-404.txt </Location> </VirtualHost>

Here I put in comments the robots.txt and the favicon.ico but you can adjust to your own needs and send errors or not to specific requests.

The plain-404.txt is a very simple text file with just NOT FOUND inside and the fancy-404.html is an html file helping humans to understand what is happening and invite them to find their way on the site. The result is quite cool.

For a classical mistake, let say requesting http://example.org/foba6365djh, we receive the html error.

GET /foba6365djh HTTP/1.1 Host: example.org HTTP/1.1 404 Not Found Content-Length: 1926 Content-Type: text/html; charset=utf-8 Date: Wed, 30 Jul 2014 05:30:33 GMT ETag: "f7660-786-4e55273ef8a80;4ff4eb6306700" Last-Modified: Sun, 01 Sep 2013 13:30:02 GMT <!DOCTYPE html> …

And then for a request to let say http://crossdomain.xml/foba6365djh, we get the plain light error message.

GET /crossdomain.xml HTTP/1.1 Host: example.org HTTP/1.1 404 Not Found Content-Length: 9 Content-Type: text/plain Date: Wed, 30 Jul 2014 05:29:11 GMT NOT FOUND nginx

It is probably possible to do it for nginx too. Be my guest, I'll link your post from here.

Otsukare.

Categorieën: Mozilla-nl planet

Zack Weinberg: 2014 Hugo Awards ballot

wo, 30/07/2014 - 03:51

I’m not attending the Worldcon, but I most certainly am voting the Hugos this year, and moreover I am publishing my ballot with one-paragraph reviews of everything I voted on. If you care about this sort of thing you probably already know why. If you don’t, the short version is: Some of the works nominated this year allegedly only made the shortlist because of bloc voting by Larry Correia’s fans, he having published a slate of recommendations.

There’s nothing intrinsically wrong with publishing a slate of recommendations—don’t we all tell our friends to read the stuff we love? In this case, though, the slate came with a bunch of political bloviation attached, and one of the recommended works was written by “Vox Day,” who is such a horrible person that even your common or garden variety Internet asshole backs slowly away from him, but nonetheless he has a posse of devoted fanboys and sock puppets. A frank exchange of views ensued; be glad you missed it, and I hope the reviews are useful to you anyway. If you want more detail, Far Beyond Reality has a link roundup.

I value characterization, sociological plausibility, and big ideas, in that order. I often appreciate ambitious and/or experimental stylistic choices. I don’t mind an absence of plot or conflict; if everyone involved is having a good time exploring the vast enigmatic construction, nothing bad happens, and it’s all about the mystery, that’s just fine by me. However, if I find that I don’t care what happens to these people, no amount of plot or concept will compensate. In the context of the Hugos, I am also giving a lot of weight to novelty. There is a lot of stuff in this year’s ballot that has been done already, and the prior art was much better. For similar reasons, volume N of a series has to be really good to make up for being volume N.

With two exceptions (both movies I didn’t get around to) I at least tried to read/watch everything mentioned below, and where I didn’t finish something, that is clearly indicated. This is strictly my personal strategy for this sort of thing and I am not putting it forward as right or wrong for anyone else.

Links go to the full text of the nominated work where possible, a Goodreads or IMDB page otherwise.

Note to other Hugo voters: I’m making pretty heavy use of No Award. If you mean to do the same, make sure you understand the correct way to use it:

If you want to vote No Award over something, put No Award at the end of your ballot and DO NOT list the things you’re voting No Award over.

The ballot below (unlike the ballot I submitted) includes line items below No Award, so that I have a space to explain my reasons.

Best Novel
  1. Ancillary Justice, Ann Leckie

    Let’s get one thing out of the way first: this book features the Roman Empire (with aspects of Persia and China and probably a couple others I missed), IN SPACE! That was out of fashion for quite some time, and rightly so, on account of having been done to death. However, it has been long enough that a genuinely fresh take is acceptable, if done well, and I happen to think this was done very well. It does not glorify conquest, but neither does it paint the conquerors a uniform shade of Evil; it depicts a multitude of cultures (more than one on the same planet, even!); it has realistic-given-the-setting stakes and conflicts of interest, and believable characters both human and otherwise. I might not have chosen to tell the story out of temporal sequence; one does spend an awfully long time wondering why the protagonist’s goals are as they are. But I see why Leckie did it the way she did it.

    Nearly every review of this novel talks about the thing where the protagonist’s native language doesn’t make gender distinctions and so e is always picking the wrong casemarkers, pronouns, etc. when speaking languages that do. I kinda wish they wouldn’t focus so much on that, because it is just one aspect of a larger problem the protagonist has: e didn’t used to be a human being and is, over the course of the novel, having to learn how to be one. E doesn’t know how to handle eir ‘irrational’ attachment to Lieutenant Seivarden either, and eir problem-solving strategies start out much more appropriate to the entity e used to be and progressively become suited to eir current state. It is also neither the most unusual nor the most interesting thing about Radchaai culture. I don’t believe I have ever before seen Space Romans with a state religion, a system of clientage, or a plot driven by a political quandary that the real Romans (as far as I understand) actually had.

  2. Neptune’s Brood, Charles Stross

    This reminds me of The Witches of Karres, in a good way. Distant-future setting, check. Packed to the gills with ideas, check. Self-contained storyline, check. Extraordinarily high stakes, check. Hardly anyone has any idea what’s going on, but they don’t let that stop them, check. It’s technically a sequel, but it might as well be a standalone novel, which is fortunate, because I bounced off Saturn’s Children really quite hard—the protagonist here is more congenial company, and the society depicted, more plausible. The plot is fundamentally a MacGuffin hunt, but played in a novel and entertaining manner.

    Strictly in terms of the story, this is neck and neck with Ancillary Justice, but it falls short on writing technique. There was a great deal of infodumpage, paired with excessive showing of work—at one point the first-person narrator actually says “I am now going to bore you to death with $TOPIC.” I like geeking out about political economy, but not at the expense of the narrative. (Continuing with the comparison to The Witches of Karres, Schmitz was much better at giving the reader just barely enough detail.) The ending is almost Stephensonian in its abruptness, and a little too pat—it sounded good at the time, but half an hour later I found myself unconvinced that the MacGuffin would have its stated consequences. Finally, there’s an irritating and frequent stylistic quirk, in which multi-clause sentences are, incorrectly, punctuated with colons instead of semicolons.

  3. Parasite, Mira Grant

    You know how the movie studios sometimes do A/B testing to decide which of several different edits of a movie to release as the finished product? I want to do that with this book. Specifically, I want to find out whether or not it’d be a better book if there weren’t page-length quotations from in-universe documents at the beginning of each chapter. These documents make it much clearer what is actually going on, which is a good thing in that the reader might be completely lost without them, and a bad thing in that the reader can (as I did) figure out exactly where the plot is going by the end of chapter 2.

    It’s reasonably well written, modulo some clumsy infodumpage in the middle, and it is a credible attempt to write a stock type of thriller novel (exactly which type would be a spoiler) without making the science completely laughable. Bonus points for actually being familiar with the geography, traffic headaches, and cultural diversity of the San Francisco Bay Area. However, it is, in the end, a stock type of thriller novel, and may not appeal if you don’t already like that sort of thing. (If you get to the end of chapter 2 and find yourself thinking “ugh, this is clearly going to be about X” … yeah, you can go ahead and put the book down.)

  4. No Award

  5. The Wheel of Time, Robert Jordan and Brandon Sanderson

    The rules need to be changed so that completed gargantua-series are their own category, or perhaps some sort of special award, considering there might or might not be any completed gargantua-series in any given year. I’d be showing up at the business meeting with a revision proposal if I were attending the Worldcon.

    Perennial latecomer to cultural phenomena that I am, I didn’t even notice that these novels existed until there were about seven of them, at which point the consensus on USENET (yeah, it was that long ago) seemed to be that they were not terribly inventive and the plot had ceased to make forward progress. So I didn’t bother picking them up. The Hugo voters’ packet contains the entire thing in one giant e-book file. I am on the last leg of a long plane flight as I type this, and I have just finished the first 8% of that e-book, i.e. The Eye of the World. I enjoyed it well enough, as it happens, and will probably continue reading the series as further long plane flights, sick days, and similar present themselves. If I don’t get too fed up with the plot failing to make forward progress, I may even finish it someday.

    However, based on that volume plus the aforementioned USENET commentary and what I’ve heard from other people since, it is not Hugo quality, for three reasons. First and foremost, as I was told so long ago, it is not at all inventive. The setting is exactly what was being skewered by The Tough Guide to Fantasyland. Worse, the plot of the first novel is Campbell’s monomyth, verbatim. (Well, the first few stages of it.) It escapes “Extruded Fantasy Product” territory only by virtue of having a whole bunch of characters who, at this point anyway, are all three-dimensional people with plausible motivations and most of whom are entertaining to watch. Second, I don’t have a lot of patience for whiny teenagers who spend much of the book refusing the call to adventure, distrusting the adults who actually know what’s going on, or both simultaneously. Yes, they’ve spent all their lives hearing stories starring the Aes Sedai as villains, but c’mon, Moiraine repeatedly saves everyone’s life at great personal cost, it could maybe occur to you that there might’ve been a bit of a smear campaign going on? Third, Jordan’s tendency to pad the plot is already evident in this one volume. It did not need to be 950 pages long.

  6. Warbound, Book III of the Grimnoir Chronicles, Larry Correia

    Noir-flavored urban fantasy, set in an alternate 1930s USA where people started developing superpowers (of the comic book variety) in roughly 1880. I would love to read a good detective noir with superheroes and/or fairy tale magic. This, however, is yet another jingoistic retread of the Pacific theater of the Second World War, shifted into the middle of the Great Depression, with The Good Guys (USA! USA! with superheroes) versus The Bad Guys (Imperial Japan circa 1934—an excellent choice if you like your Bad Guys utterly evil, I’ll admit—with supervillains) and a secret society trying to emulate Charles Xavier and failing at it because they’re too busy arguing and scheming. I almost gave up fifty pages into volume I because no sympathetic protagonists had yet appeared. Fortunately, someone whose story I was interested in did appear shortly thereafter, but it was still pretty slim pickings all the way to the end. This is not a case of bad characterization; it’s that most of the characters are unpleasant, petty, self-absorbed, and incapable of empathizing with people who don’t share their circumstances. Additional demerits for setting the story in the Great Depression, and then making nearly everyone we’re supposed to like, wealthy.

    Ironically, one of the most sympathetic characters in the entire trilogy is the leader of Imperial Japan (known almost exclusively as The Chairman)—I think this was because Correia knew he needed a villain who wasn’t cut from purest cardboard, but it didn’t occur to him that he needed to put as much work into his heroes. And by the same token, it did not occur to him that he had failed to convincingly refute his villain’s philosophy: if your villain espouses the rule of the strongest, and is then defeated by superior technology, intellect, and strength of will, that in itself only demonstrates that force of arms is weaker than those things.

    Regarding Larry Correia’s recommendation slate, all I care to say is that his taste in writing by others reflects the flaws in his own writing.

Best Novella
  1. Wakulla Springs, Andy Duncan and Ellen Klages

    Apart from a few unexplained-and-might-not-even-have-happened phenomena near the very end, this could be historical fiction with no speculative elements. Wakulla Springs is a real place and they really did film Tarzan and The Creature from the Black Lagoon there, and they really did turn various animals loose in the Florida swamps when they were done. However, if you squint at it a different way, it’s a fairy tale moved to the twentieth century, not any specific fairy tale but the bones of them all, with movie stars standing in for kings and princes, and rubber-suit monsters standing in for, well, monsters. And the characters are all just fun to be around.

  2. Six-Gun Snow White, Catherynne M. Valente

    This is overtly a fairy tale, specifically Snow White, moved to the nineteenth-century Wild West and shook up in a blender with the style and the form of the stories of Coyote. The first half of it is compelling, and the third quarter works okay, but the conclusion is disappointing. The problem is that if you’re going to retell Snow White, either you have to stick with love conquering all in the end (and you have to set that up proper), or you have to jump the tracks before Snow White eats the poison apple. And if you’re going to set Snow White up as a mythic hero after the fashion of Coyote, maybe you should give her at least some of Coyote’s miraculous ability to get back out of trouble? Valente deliberately avoided doing any of those things and so painted herself into a corner.

    Having said that, I’m still giving this the #2 slot because I really like the concept, and it only fails by not executing successfully on its grand ambitions, which is a thing I am prepared to cut an author some slack for.

  3. Equoid, Charles Stross

    Marvelously creepy cryptozoological meditation on unicorns, their life cycle and role in the ecosystem, and why they must be exterminated. In the Laundry Files continuity, and does not stand alone terribly well. Also, stay away if you dislike body horror.

  4. No Award

  5. The Chaplain’s Legacy, Brad Torgersen

    Remember what I said above about things that have been done already? This is a retread of Enemy Mine, breaking no new ground itself. Characterization is flat and style pedestrian. Not so boring as to make me put it down in the middle, and thankfully didn’t go for the cheap moral that I thought it would, but on the whole, disappointing.

  6. The Butcher of Khardov, Dan Wells

    An extended character study of an antihero of the most boring, clichéd, and overdone type: mistreated due to his size and strength, doubly mistreated due to his uncanny abilities, learns from betrayal to take everything personally, believes the only thing he’s good at is killing people, and in his secret heart, just wants to be loved. Overflowing with manpain. Told out of chronological order for no apparent reason, causing the ending to make no sense. Vaguely folktale-Russia setting (with steampunk and magic) that a better writer could have done something interesting with; I am given to understand that this is in fact the WARMACHINE tabletop wargaming setting. I do not object to tie-in fiction, but neither will I cut it any slack on that account. For instance, the Butcher himself is an official WARMACHINE character; I don’t know if Wells invented him or just got tapped to flesh out his backstory; regardless, I do not consider that a valid excuse for any of the above.

Best Novelette
  1. The Waiting Stars, Aliette de Bodard

    This one is difficult to describe without spoiling it, so I’ll just say that it’s a clash-of-cultures story, set in the extremely far future, and I liked how the two cultures are both somewhat sympathetic despite valuing very different things and being legitimately horrified by the other’s practices. The ending may be laying it on a little too thick, but I don’t know that it can be toned down without spoiling the effect.

  2. The Lady Astronaut of Mars, Mary Robinette Kowal

    Elma, the titular Lady Astronaut, was on the first manned expedition to Mars; that was thirty-odd years ago, and she is now semi-retired, living on Mars, and torn between getting back into space and taking care of her husband, who is dying. Apart from the setting, this could be mainstream literary fiction, and a type of mainstream literary fiction that, as a rule, rubs me entirely the wrong way. This one, however, I liked. The characters all seem genuine, and the setting throws the central question of the plot into sharp relief, forcing us to take it more seriously than we might otherwise have.

  3. The Truth of Fact, the Truth of Feeling, Ted Chiang

    Philosophical musing on the nature of memory and how technological aids change that. This used to be a professional interest of mine, but I didn’t think Chiang did all that much with it here. Told in two intertwined narratives, of which the story of the Tiv is more compelling, or perhaps it is just that the first-person narrator of the other half is kind of a blowhard.

  4. No Award

  5. The Exchange Officers, Brad Torgersen

    Near future plausible geopolitical conflict in low Earth orbit, POV first person smartass grunt-on-the-front-line. Entertaining, but neither memorable nor innovative.

  6. “Opera Vita Aeterna”, Vox Day

    This isn’t a story; it’s an object lesson in why publishers reject 95–99% of the slush pile. The prose is uniformly, tediously purple, and nearly all of it is spent on description of rooms, traditions, and illuminated manuscripts. The characters haven’t even got one dimension. Nothing happens for the first two-thirds of the text, and then everyone in the monastery (it takes place in a monastery) is, without any warning, murdered, cut to epilogue. To the extent I can tell what the author thought the plot was, it could be summarized in a paragraph without losing anything important, and it would then need a bunch of new material added to make it into a story.

    I’ve seen several other people say that this is bad but not terrible, comparing it positively to The Eye of Argon, and I want to explicitly disagree with that. If I may quote Sarah Avery, The Eye of Argon has characters; in the course of the story, something happens; several somethings, even, with some detectable instances of cause and effect; and it has a beginning, a middle, and (in some versions of the text) an end. It’s clichéd, sure, and and crammed full of basic grammar and vocabulary errors, and that’s what makes it bad in a hilarious and memorable way. Opera Vita Aeterna, by contrast, is bad in a boring and forgettable way, which is worse.

    There is no doubt in my mind that this is only on the ballot because it was included in Correia’s recommendations and then bloc-voted onto the shortlist by Day’s fanboys. To them I say: if you did not realize it was unworthy, you should be ashamed of yourself for being so undiscerning; if you knew it was unworthy and you nominated it anyway, you have committed a sin against Apollo, and may you live to regret it.

Best Short Story

These are all good enough that rank-ordering them is hard; I’d be happy to see any of them win. They are also all floating somewhere around the magical realism attractor, which is not what I would have expected.

  1. The Water That Falls on You from Nowhere, John Chu

    Tell a lie, even a white lie, or even fail to admit the truth, and water falls on you from nowhere; this just started happening one day—otherwise this is a story of ordinary people and their troubles and their connections to each other, and the magic is used to explore those things. Very elegant in its use of language; bonus points for making use of the ways in which Chinese (Mandarin, specifically, I think) describes family relationships differently than English does. Emotionally fraught, but satisfying.

  2. Selkie Stories Are for Losers, Sofia Samatar

    I always did wonder what happened to the children after the selkie went back to the ocean. Not so much the husband. The husband got what was coming to him, which is the point of the selkie story itself; but the daughter, who usually is the one to find the skin that the husband’s kept locked in the attic or wherever; she didn’t have it coming, did she?

    A kind storyteller might have it be that the daughter goes down to the ocean every Thursday afternoon, while the husband is out fishing, and her mother comes up from the waves and they have tea. Sofia Samatar is not a kind storyteller.

  3. The Ink Readers of Doi Saket, Thomas Olde Heuvel

    Based on a real Thai festival, Loi Krathong; in the story, the paper boats that are floated down the river contain wishes for the new year. The villagers of Doi Saket consider it their duty to collect the wishes and send them onward to Buddha in paper lanterns … and some of them, somehow, come true. Is it the intervention of the river goddess? Is it all just coincidence? Is it a scam to line the pockets of the village chief? It’s hard to tell. You will reach the end of this story not being sure what happened, and you will reread it and still not be completely sure. But it’s a fun read anyway.

  4. If You Were a Dinosaur, My Love, Rachel Swirsky

    A very, very old theme, here, but a take on it that would have been impossible not so long ago. I’m not sure it’s a story, though. More of a love poem. Or a curse poem. Bit of both, really. Still, it’s going to haunt me.

Best Graphic Story
  1. Time, Randall Munroe

    Back in 2005 I doubt anyone would have guessed that the new nerd-joke webcomic on the block, xkcd, would still be around in 2013 (over a thousand strips later), let alone that it would run a 3101-panel epic starring two stick figure people who are building sandcastles on the beach … really elaborate sandcastles … meanwhile discussing why the ocean level seems to be rising up … and then setting off in search of the source of the river, since presumably that’s where the extra water is coming from … and it just keeps elaborating from there. It was presented in an inconvenient format (the link goes to a more accessible compilation), but it’s got everything one could want in an SFnal epic: engaging characters (it’s amazing how much characterization Munroe can pack into pithy dialogue among stick figures), a carefully thought-out setting, the joy of discovery, the thrill of the unknown, a suitably huge problem to be solved, and, of course, Science!

  2. Saga, Volume 2, written by Brian K. Vaughan, illustrated by Fiona Staples

    A love story against the backdrop of an endless galaxy-shattering war, sung in the key of gonzo, and influenced by the best bits of everything from Métal Hurlant to Tank Girl to Tenchi Muyo! It’s hard to tell where it’s going; what we have so far could be summarized as “Romeo and Juliet IN SPACE! Neither of them is a teenage idiot, they’re determined to survive, and their respective sides are coming after them with as much dakka as they can scrape together on short notice.” The A-plot may not even have appeared onstage at this point. One thing’s for sure, though: Vaughan and Staples mean to put on one hell of a show. For a more in-depth description I refer you to io9’s review.

    Strictly in terms of the content, I could just as easily have placed this in the #1 slot. “Time” gets the nod because Saga is not quite as novel, because the subplot with The Will and The Stalk seemed icky and gratuitous, and because volume 1 won this category last year.

  3. Girl Genius, Volume 13: Agatha Heterodyne & The Sleeping City, written by Phil and Kaja Foglio; art by Phil Foglio; colors by Cheyenne Wright

    I love Girl Genius, but it’s won this category three times already (in a row, yet!) and this volume, while continuing to be quality material, is nonetheless more of the same.

  4. No Award

  5. The Girl Who Loved Doctor Who, written by Paul Cornell, illustrated by Jimmy Broxton

    What if the Doctor fell through a crack in time and landed in this universe, where he is a fictional character? Not a new conceit, but one with legs, and I think you could build a fine Doctor Who episode around it; unfortunately, this is not that. It is too heavy on the self-referential and meta-referential, to the point where I think it only makes sense if you are familiar with the show and its fandom. The story is rushed so that they can pack in more in-jokes, and the coda takes a turn for the glurge.

  6. Meathouse Man, adapted from the story by George R.R. Martin and illustrated by Raya Golden

    I think this was meant to be a deconstruction of the notion that for everyone there is a perfect romantic partner out there somewhere, just one, and all you have to do is find them and your life will be perfect forever. Which is a notion that could use some deconstructing. Unfortunately, between the male gaze, the embrace of the equally-in-need-of-deconstruction notion that men cannot comprehend women, the relentlessly grim future backdrop, and the absence of plausible character motivations, what you get is not deconstruction but enforcement by inversion: The only thing that can fix a man’s shitty life is the perfect romantic partner, but he will never find her, so he should just give up and embrace the hollow inside. (Gendered words in previous sentence are intentional.) I regret having finished this.

Best Dramatic Presentation, Long Form
  1. Gravity, written by Alfonso Cuarón & Jonás Cuarón, directed by Alfonso Cuarón

    This is probably as close as you can get to the ideal golden age hard-SF Protagonist versus Pitilessly Inhospitable Environment story in movie format. (I have actually seen this abstract plot done with precise conformance to the laws of orbital mechanics: Lifeboat, by James White. But storytelling suffered for it.) There are places where they go for the cheap wrench at your heart, but then there are places where they don’t do the obvious and clichéd thing, and this movie isn’t really about the plot, anyway, it’s about the spectacle. Clearly groundbreaking in terms of cinematography, also; I look forward to future use of the technology they developed. For more, please go read my friend Leonard’s review, as he is better at critiquing movies than I am.

  2. Pacific Rim, screenplay by Travis Beacham & Guillermo del Toro, directed by Guillermo del Toro

    It’s a giant monster movie, but it’s a really well thought through and executed giant monster movie. (Except for the utterly nonsensical notion of building a wall around the entire Pacific Ocean, which let us pretend never happened.) And I like that the scientists save the day by doing actual experimental science. Bonus points for not going grimdark or ironic or anything like that. Yes, earnest movies in which there was never any real doubt that the good guys would win were worn out in the 80s and 90s. But bleak movies in which there aren’t any good guys to begin with, and nothing ever really changes, certainly not for the better, are worn out here in the 2010s. Further bonus points for a close personal relationship between a man and a woman which does not turn into a romance.

  3. Iron Man 3, screenplay by Drew Pearce & Shane Black, directed by Shane Black

    Marvel continues to crank out superhero movies which do interesting things with established characters. (I particularly liked, in this one, that Potts gets her own independent source of superpowers and does not require rescuing, and that Stark is forced to work out his overprotectiveness issues on his own time.) However, in the end, it is another superhero movie with established characters. I said to someone on a convention panel back in 2001 that I wished Marvel and DC would allow their superheroes to come to the end of their stories, and I still feel that way.

  4. (my official vote for this category ended at this point)

  5. Frozen, screenplay by Jennifer Lee, directed by Chris Buck & Jennifer Lee

    I didn’t get around to seeing this; I’m sure it’s another respectable installment in the field of Disneyified fairy tale, but I can’t really imagine its breaking new ground.

  6. The Hunger Games: Catching Fire, screenplay by Simon Beaufoy & Michael Arndt, directed by Francis Lawrence

    I didn’t get around to seeing this either, and I’m frankly more than a little burnt out on YA dystopia.

Best Dramatic Presentation, Short Form

I have to abstain from this category, because I watch TV shows ages after everyone else does; I imagine I’ll get to current Doctor Who episodes (for instance) sometime in 2024.

Best Related Work

I wanted to vote this category, but I have run out of time to read things, so I have to skip it as well.

Best Semiprozine, Best Fanzine, Best Fancast, Best Editor, Best Professional Artist, Best Fan Artist, Best Fan Writer

And these categories, I have no idea how to evaluate.

The John W. Campbell Award for Best New Writer

Several of the qualifying works in this category are head and shoulders above everything that was nominated in the regular categories! I will definitely be looking out for more writing by Samatar and Gladstone, and maybe also Sriduangkaew.

  1. Sofia Samatar (A Stranger in Olondria)

    A form I haven’t seen attempted in some time: the travelogue of a fantastic land. In this case, Olondria is a great city, perhaps the greatest in the world, filled with merchants, priests, and books, and the traveler/narrator is a humble farmer from the islands in the south, come to Olondria to sell his peppers, as his father did before him. Well, that’s what everyone back at home expects him to do, anyway. In truth he has fallen in love with the literature of Olondria and, through the books, the city itself, and never had all that much interest in the family business to begin with. And then the plot catches up with him: there are two sects of those priests, and both wish to use him to advance their own interests: for you see, he is haunted by the ghost of a woman of his own people, whom he barely knew, but whom he was kind to in her last illness…

    This has got everything one could possibly want in a work of SF and everything one could possibly want in a work of capital-L literature; the form is elegant and fitted precisely to the content; the characters are engaging, the narrative flows smoothly, one does not want to put it down. As I mentioned above, Sofia Samatar is not a kind storyteller; this book is painful to read in places. But, having completed it, you will not regret the journey.

  2. Max Gladstone (Three Parts Dead, Two Serpents Rise)

    Alternate-Earth (and you have to pay close attention to realize that it is Earth) fantasy. All gods are real, but many of them are dead; the wizards (excuse me, “Craftsmen”) made war on them and slew them, claiming their power in the name of humanity. That was some hundred years ago, and the world is still finding a new equilibrium. Each of these books shows a different piece of that, with very little overlap. Plotwise they are both mysteries, of the ‘investigation of a small incident leads to something bigger … much bigger …’ type, which I liked; it allows the stakes to be appropriately high while avoiding all of the overused quest fantasy tropes. And it works well for showing the readers lots of little details that illustrate how this is not the world we know. Gladstone is also excellent at characterization; even the NPCs who are only onstage in a scene or two feel fully realized.

    The only complaints I have are that the way the magic works kinda squicks me out a little (this may have been intentional) and that the ending of Two Serpents Rise didn’t quite work for me (in a way which would be too spoilery to explain here).

  3. Benjanun Sriduangkaew (“Fade to Gold”; “Silent Bridge, Pale Cascade”; “The Bees Her Heart, the Hive Her Belly”)

    These are short stories. “Fade to Gold” is a variation on a Southeast Asian folktale, starring two people trapped by their natures and the demands of society; creepy, sorrowful, tragic. The other two are far-future magical-realist meditations on the nature of family, loyalty, and history in a setting where everyone’s memory is remotely editable. All are good, but the far-future ones may not be to everyone’s taste: e.g. if you don’t care for magical realism, or for stories where it’s not clear exactly what happened even after you’ve read all of it.

  4. Ramez Naam (Nexus)

    Near-future technothriller in which an elixir of brain-augmenting nanomachines, street name Nexus, offers people the chance to become ‘posthuman’…or could be abused to enslave humanity. Three different organizations are struggling to control it, and the protagonists, who just want to be left in peace to experiment on their own minds, are caught in the middle. Generally a fun read; occasionally clunky prose (particularly in fight scenes); overspecific about gadgets in use (lots of technothrillers do this and I don’t understand why). I am a little tired of cheap drama achieved by poor communication between people who are nominally on the same side.

    Brain-augmenting nanomachinery, and the United States of America sliding into police state-hood, seem to be in the zeitgeist right now. I’ve seen both done with a lot more nuance: this gets obnoxiously preachy in places. (Recommendations in this category with more nuance: Smoking Mirror Blues, A Girl and her Fed.)

  5. No Award

  6. Wesley Chu (The Lives of Tao)

    I gave up on this after three chapters. The story concept could have been interesting—two factions of immortal, nonphysical aliens, battling in the shadows of Earth’s history, possessing humans and using them to carry out their plans—but it’s got major problems on the level of basic storytelling craft. Those first three chapters are one page after another of unnecessary detail, repetition of information the audience already has, grating shifts in tone, boring conversations about trivia, and worst of all, self-spoilers. Maybe two pages’ worth of actual story happened, and a good chunk of that probably shouldn’t have happened on stage (because it was a self-spoiler). And I had been given no reason to care what happened to the characters.

Categorieën: Mozilla-nl planet

Frédéric Harper: Le web ouvert avec Firefox OS et Firefox à Linux Montréal

wo, 30/07/2014 - 00:02
//j.mp/1o9O86K

Creative Commons: http://j.mp/1o9O86K

Mardi prochain, je serai au CRIM (situé au 405 avenue Ogilvy, suite 101) pour présenter à propos de Firefox OS, mais aussi de Firefox au groupe Linux Montréal. Lors de cette soirée, je ne discuterais pas avec ma clientèle habituelle, soit les développeurs. En effet, la présentation aura bien sûr des aspects techniques, mais sera plus considérée comme haut niveau, pour les utilisateurs avec un intérêt pour la technologie. Voici un avant-goût de la soirée:

Firefox OS, mais qu’est-ce que Mozilla avait en tête pour lancer une Xième plateforme mobile sur le marché! Quel en est le but? Quels en sont les avantages pour les utilisateurs, mais aussi pour les développeurs? Qu’en est-il de Firefox et du web ouvert? Frédéric Harper de Mozilla viendra vous parler de ces deux plateformes, de l’Open Source et de l’Open Web au sein de cette organisation hors du commun.

C’est donc un rendez-vous à 18:30 mardi prochain. Vous pouvez confirmer votre présence sur différents réseaux, soit Google+, Facebook, Twitter, LinkedIn et Meetup.


--
Le web ouvert avec Firefox OS et Firefox à Linux Montréal is a post on Out of Comfort Zone from Frédéric Harper

Related posts:

  1. FOXHACK, un hackathon Firefox OS à Montréal Le samedi 28 septembre prochain aura lieu un hackathon Firefox...
  2. Firefox OS tools & Web APIs in Krakow Today I did two presentations at the Firefox Krakow workshop....
  3. Firefox OS au Visual Studio Talkshow Il y a quelques jours j’ai participé au Visual Studio...
Categorieën: Mozilla-nl planet

Joel Maher: Say hi to Kaustabh Datta Choudhury, a newer Mozillian

di, 29/07/2014 - 21:49

A couple months ago I ran into :kaustabh93 online as he had picked up a couple good first bugs.  Since then he has continued to work very hard and submit a lot of great pull requests to Ouija and Alert Manager (here is his github profile).  After working with him for a couple of weeks, I decided it was time to learn more about him, and I would like to share that with Mozilla as a whole:

Tell us about where you live-

I live in a town called Santragachi in West Bengal. The best thing about this place is its ambience. It is not at the heart of the city but the city is easily accessible. That keeps the maddening crowd of the city away and a calm and peaceful environment prevails here.

Tell us about your school-

 I completed my schooling from Don Bosco School, Liluah. After graduating from there, now I am pursuing an undergraduate degree in Computer Science & Engineering from MCKV Institute of Engineering.

Right from when it was introduced to me, I was in love with the subject ‘Computer Science’. And introduction to coding was one of the best things that has happened to me so far.

Tell us about getting involved with Mozilla-

I was looking for some exciting real life projects to work on during my vacation & it was then that the idea of contributing to open source projects had struck me. Now I have been using Firefox for many years now and that gave me an idea of where to start looking. Eventually I found the volunteer tab and thus started my wonderful journey on Mozilla.

Right from when I was starting out, till now, one thing that I liked very much about Mozilla was that help was always at hand when needed. On my first day , I popped a few questions in the IRC channel #introduction & after getting the basic of where to start out, I started working on Ouija under the guidance of ‘dminor’ & ‘jmaher’. After a few bug fixes there, Dan recommended me to have a look at Alert Manager & I have been working on it ever since. And the experience of working for Mozilla has been great.

Tell us what you enjoy doing-

I really love coding. But apart from it I also am an amateur photographer & enjoy playing computer games & reading books.

Where do you see yourself in 5 years?

In 5 years’ time I prefer to see myself as a successful engineer working on innovative projects & solving problems.

If somebody asked you for advice about life, what would you say?

Rather than following the crowd down the well-worn path, it is always better to explore unchartered territories with a few.

:kaustabh93 is back in school as of this week, but look for activity on bugzilla and github from him.  You will find him online once in a while in various channels, I usually find him in #ateam.


Categorieën: Mozilla-nl planet

William Reynolds: Important changes to mozillians.org vouching

di, 29/07/2014 - 21:44

Today we are rolling out new changes to the vouching system on mozillians.org, our community directory, in order to make vouching more meaningful.

mozillians.org has a new vouch form

mozillians.org has a new vouch form

Vouching is the mechanism we use to enable Mozillians access to special content, like viewing all profiles on mozillians.org, certain content on Air Mozilla, and Mozilla Moderator. Getting vouched as a Mozillian means you have made a meaningful contribution.

Action required

If you attended the 2013 Summit, there is no impact to how you use the site and no action required. But…we can use your help.

If you have vouched for others previously, go to their profiles and complete the vouching form to describe their contributions by September 30th. You can see the people that you have vouched listed on your mozillians.org profile.

If you did not attend the 2013 Summit, you can still use the mozillians.org site as you do now, until September 30th.

After September 30th, your profile will become unvouched, unless a Mozillian, who attended the 2013 Summit, vouches for you again.

Both volunteers and paid staff are being treated the same when it comes to receiving multiple vouches. That means everyone who wants to vouch for contributors needs to first receive 3 vouches – more information below.

Most importantly, no one’s vouched status is disappearing this week.

More details and an FAQ on the Vouching wiki page.

Thanks to the Mozillians.org Team who worked on this big initiative to make vouching better. The new vouching system was designed through discussions at Grow Mozilla meetings and several forum threads on community-building and dev.community-tools.

Categorieën: Mozilla-nl planet

Dave Hunt: Performance testing Firefox OS on reference devices

di, 29/07/2014 - 18:08

A while back I wrote about the LEGO harness I created for Eideticker to hold both the device and camera in place. Since then there has been a couple of iterations of the harness. When we started testing against our low-cost prototype device, the harness needed modifying due to the size difference and position of the USB socket. At this point I tried to create a harness that would fit all of our current devices, with the hope of avoiding another redesign.

Eideticker harness v2.0 If you’re interested in creating one of these yourself, here’s the LEGO Digital Designer file and building guide.

Unfortunately, when I first got my hands on our reference device (codenamed ‘Flame’) it didn’t fit into the harness. I had to go back to the drawing board, and needed to be a little more creative due to the width not matching up too well with the dimensions of LEGO bricks. In the end I used some slope bricks (often used for roof tiles) to hold the device securely. A timelapse video of constructing the latest harness follows.

 

 

We now are 100% focused on testing against our reference device, so in London we have two dedicated to running our Eideticker tests, as shown in the photo below.

Eideticker harness for FlameAgain, if you want to build one of these for yourself, download the LEGO Digital Designer file and building guide. If you want to learn more about the Eideticker project check out the project page, or if you want to see the dashboard with the latest results, you can find it here.

Categorieën: Mozilla-nl planet

Mozilla Release Management Team: Firefox 32 beta1 to beta2

di, 29/07/2014 - 14:55

  • 21 changesets
  • 71 files changed
  • 788 insertions
  • 180 deletions

ExtensionOccurrences html23 js12 cpp12 java5 sjs4 h3 xml2 css2 c2 mm1 jsm1 ini1 in1 idl1 build1

ModuleOccurrences browser37 js10 mobile7 toolkit5 netwerk3 gfx3 media2 widget1 security1 content1 b2g1

List of changesets:

Nicolas B. PierronBug 1006899 - Prevent stack iterations while recovering allocations. r=bhackett, a=sledru - b801d912ea0e Ryan VanderMeulenBug 1006899 - Only run the test if TypedObject is enabled. rs=nbp, a=test-only - 794d229b5125 Blair McBrideBug 1026853 - Experiment is displayed as "pending removal" in detailed view. r=irving,a=lmandel - ecdde13a0aaa Byron Campen [:bwc]Bug 1042873: Add the appropriate byte-order conversion to ChildDNSRecord::GetNextAddr r=mcmanus a=lmandel - fe0621be0dc3 Magnus MelinBug 1038635 - Zoom doesn't work in the email composer. r=Neil, a=sledru - f9b0de65c69d Brian HackettBug 1024132 - Add one slot cache for stripping leading and trailing .* from RegExps for test() calls. r=jandem, a=lmandel - 2339e39f5ff4 Danny ChenBug 1005031 - Video controls are displayed in the middle of the video. r=wesj, a=lmandel - 5a6749df6a78 Markus StangeBug 995145 - Don't erase pixels from the window top when drawing the highlight line. r=smichaud, a=sledru - 4767a3451d00 Byron Campen [:bwc]Bug 980270 - Part 1: Plug a couple of common leaks in nICEr. r=drno, a=sledru - d8e7408cb510 Matt WoodrowBug 1035168 - Use Map api to check if DataSourceSurfaces have data available in DrawTargetCairo. r=Bas, a=lmandel - dd517186b945 Matt WoodrowBug 1035168 - Avoid calling GetData/Stride on a surface that we will later Map. r=Bas, a=lmandel - 2bc7c49698cc Marco BonardoBug 1024133 - Switch to tab magic URL not trimmed on key navigation. r=mano, a=sledru - a8dd4b54e15b Makoto KatoBug 984033 - Large OOM in nsStreamLoader::WriteSegmentFun. r=honza, a=lmandel, ba=comment-only-change - ecfc5bee1685 Richard NewmanBug 1018240 - Part 1: Reinitialize nsSearchService when the browser locale changes. r=adw, a=sledru - bbfebb4ec504 Richard NewmanBug 1018240 - Part 2: Invalidate BrowserSearch engine list when locale has changed. r=bnicholson, a=sledru - d1e5cb0fbe70 Victor PorofBug 1004104 - Disable caching when running netmonitor tests to hopefully fix some timeouts. r=dcamp, a=test-only - 00f079c876f6 J. Ryan StinnettBug 1038695 - Show all cookies in Net Monitor, not just first. r=vporof, a=sledru - bce84b70da30 Richard NewmanBug 1042984 - Add extensive logging and descriptive crash data for library load errors. r=mfinkle, a=sledru - 3808d8fbe348 Richard NewmanBug 1042929 - Don't throw Errors from JSONObject parsing problems. r=mcomella, a=sledru - b295f329dfd3 Steven MacLeodBug 1036036 - Stop leaking docshells in Session Store tests. r=ttaubert, a=test-only - 24aaa1ae41a6 Richard NewmanBug 1043627 - Only re-initialize nsSearchService on locale change in Fennec. r=adw, a=sledru - 61b30b605194

Categorieën: Mozilla-nl planet

Prashish Rajbhandari: How #MozDrive Started

di, 29/07/2014 - 09:33

For me, it all started with a phone call..

It was a lazy Monday morning when I got a phone call from my very good friend Ankurman from Cincinnati. It was the very next day after the Memorial Day Weekend, which meant I slept late and was in no intention to wake up early.

“Prashish! You’ve got to listen to what I’m planning to do.”

“Hey! What’s up? It’s 4 in the morning here by the way.”

I sensed his sudden realization of the time zone difference from the tone of my voice.

I’m sorry to have awakened you. Do you want me to call you later?”

“Nah. Tell me.”

Then Ankurman started narrating his story:

 “Imagine driving across the lower 48 States in the US, exploring the unknown lands, meeting with amazing people from different backgrounds, the cultural diversity, while raising social awareness regarding the obesity epidemic in the US.”

I had this sudden excitement which got me off my bed immediately. I went straight to the kitchen to get some caffeine.

“Okaay, I’m listening.”

He narrated me about the idea of his campaign and what he planned to achieve. We talked for more than an hour talking about various other awareness campaigns.

Later that evening while I was digging through my pictures from the MozFest in London earlier this year, the Mozillian inside me had the eureka moment.

“What if I could also travel across the United States and share the true story of Mozilla with the people; that we Mozillians truly care for the open web and that to make a positive impact in the society is one of our ulterior goals.”

You see, I was easily convinced by the idea of such public awareness campaigns. I was inspired by many stories of people traveling to raise funds for charity or awareness.

I found Tenlap by Greg Hartle, in particular, very interesting. Greg gave away all his possession and started off with $10 to understand and to create work in this world full of insecurity. He plans to travel to all 50 States, meet new people who are rebuilding their lives and then, launch businesses in areas new to him. All in 1,000 days. Gowtham Ramamurthy from my university just recently rode to all 48 States to raise funds for children and it was a massively successful.

The web is a global participative platform where everyone can have their own voice and opinion. Despite the presence of such a huge source of knowledge in the web, people are still confused about possibilities of the web.

People know Firefox as the browser with a blue globe and an orange fox around it.

But, we are more than a browser.

We are a global community of passionate volunteers and contributors whose mission is to serve the user above all, advance the state of the web and keep it open.

People need to know this.

People need understand the web better so that they can take control their online lives.

People need to know Mozilla’s mission, that we are more than a browser. They need to know what we are doing and how they can be a part of this global movement.

And it is our duty as Mozillians to spread this message to masses.

This is how #MozDrive started.

Follow the journey: Website, Twitter, Facebook or Feed.

Original Article: #MozDrive


Filed under: Mozilla, Personal Tagged: mozdrive, mozilla, mozrep
Categorieën: Mozilla-nl planet

Raluca Podiuc: AF (analysis framework) and the task graph story

di, 29/07/2014 - 02:41
Analysis Framework is an application written on top of TaskCluster and provides a way to execute Telemetry MapReduce jobs.

AF comprises two modules:
  
Telemetry-analysis-base
This module contains an example of a MapReduce node that can be executed over TaskCluster.
It contains:
  •  a custom specification for a Docker image
  •  a Makefile for creating a Docker image and posting it on registry
  •  a Vagrantfile useful to developers working on MACOSX
  •  custom code for map/reduce jobs
  •  an encryption module used to decrypt STS temporary credentials

 A task up and running
 

In order to run a task on TaskCluster you need a Docker container, and a custom code to be executed in the container.
 A Docker container is a Docker image in execution. To obtain a custom image you can use the Docker specification in the telemetry-analysis-base repository.
 As TaskCluster needs a container to run your task in, you need to push your container on TaskCluster registry. The Makefile present in the repository takes care of creating a container and pushing it on the registry.

Because Telemetry jobs work with data that is not open to the public you need a set of credentials to access the files in S3. The Docker container expects a set of encrypted temporary credentials as an environment variable called CREDENTIALS.
As these credentials are visible in the task description on TaskCluster they are encrypted and base64 encoded. The temporary credentials used are STS Federation Token credentials. These credentials expire in 36 hours and can be obtain only by AWS users that hold a policy to generate them.
After obtaining this credentials they are encrypted with a symmetric key. The symmetric key is encrypted with a public key and sent together as an environment variable to the Docker instance. Inside the Docker container this credentials will be decrypted properly and used to make calls in S3.

Custom code

Inside the custom container resides the custom code that will receive as arguments a set of file names in S3.

Mapper

After decrypting the credentials the mapper will take the file list and start downloading a batch of files in parallel. As files finish downloading they are stored in a directory called s3/<path is S3> and their names are sent as arguments to the mapperDriver.
MapperDriver will first read the specification of the job from analysis-tools.yml. In the configuration file it is specified if the files need to be decompressed, the mapper function that needs to run and also the language that the mapper is written in.
Next, as the example provided in the repository is in python, the driver spawns another process that executes python-helper-mapper that reads the files, decompresses them, loads the mapper function and sends the decompressed files line by line to the mapper function.
In the mapper function the output is written to result.txt. This file is an artifact for the task ran.

Reducer

The reducer task requires an environment variable named INPUT_TASK_IDS specifying all the mapper task ids. Holding the list of all mappers the reducer makes calls to get all the result files from the mappers. As the files finish to download they are stored in a folder called mapperOutput.
The reducerDriver than reads the specification of the job from analysis-tools.yml. The analysis-tools.yml contains the reducer function name and the language that is written in.
In the example provided in the repository the reducer is also written in python so it uses an intermediary module called python-helper-reducer. This module loads the reducer, removes all empty lines from the result files and feeds them to the reducer function.
The output is written to the result file that is an artifact of the reducer task. After writing the result file, the reducer sends an email to the owner of the task. This mail contains a link to the output of the MapReduce job. The email address will be given as an environment variable called OWNER.



Telemetry-analysis


This module constructs a taskGraph and posts it to TaskCluster.
At this point a set of credentials is needed to run a task graph:
  • credentials in AWS allowing Federation Token generation. To obtain them you need to specify  a policy enabling STS credentials generation.
  • public key associated to the private one residing in the running Docker container
  • symmetric key used to encrypt the Federation Token credentials
  • access to IndexDB
  • credentials to TaskCluster (in the future)


 Example call:

./AF.js Filter.json "registry.taskcluster.net/aaa" '{"OWNER" : "unicorn@mozilla.com", "BLACK" : "black"}'


 AF takes as arguments a Filter.json, a Docker image (registry.taskcluster.net/aaa) and optionally some other arguments that will be passed as environment variables to the Docker container.
AF executes the following:

  • makes a call for a Federation Token. It encrypts with the public key the credentials and provides base64 encrypted credentials as CREDENTIALS environment variable to the Docker container
  • using Filter.json AF queries indexDB to get the specific file names and file sizes
  • creates skeletons for  mapper tasks and adds load to them (file names from indexDB)
  • pushes taskDefinition to graph Skeleton
  • creates reducer task and gives it as dependencies the labels of dependent tasks
  • posts the graph
  • gets the graph definition, prints the graph definition and a link to a simple monitor page
  • as the graph finises execution, the page will contain the links to the result page

Last but not least


Analysis Framework is a really interesting/fun project. It can be easily extended or reused, it is designed as an example that can be customized and has some documentation too. :p




Categorieën: Mozilla-nl planet

Kim Moir: 2014 USENIX Release Engineering Summit CFP now open

ma, 28/07/2014 - 23:28
The CFP for the 2014 Release Engineering summit (Western edition) is now open.  The deadline for submissions is September 5, 2014 and speakers will be notified by September 19, 2014.  The program will be announced in late September.  This one day summit on all things release engineering will be held in concert with LISA, in Seattle on November 10, 2014. 

Seattle skyline © Howard Ignatius, https://flic.kr/p/6tQ3H Creative Commons by-nc-sa 2.0

From the CFP

"Suggestions for topics include (but are not limited to):
  • Best practices for release engineering
  • Practical information on specific aspects of release engineering (e.g., source code management, dependency management, packaging, unit tests, deployment)
  • Future challenges and opportunities in release engineering
  • Solutions for scalable end-to-end release processes
  • Scaling infrastructure and tools for high-volume continuous integration farms
  • War and horror stories
  • Metrics
  • Specific problems and solutions for specific markets (mobile, financial, cloud)
URES '14 West is looking for relevant and engaging speakers and workshop facilitators for our event on November 10, 2014, in Seattle, WA. URES brings together people from all areas of release engineering—release engineers, developers, managers, site reliability engineers, and others—to identify and help propose solutions for the most difficult problems in release engineering today."

War and horror stories. I like to see that in a CFP.  Describing how you overcame problems with  infrastructure and tooling to ship software are the best kinds of stories.  They make people laugh. Maybe cry as they realize they are currently living in that situation.  Good times.  Also, I think talks around scaling high volume continuous integration farms will be interesting.  Scaling issues are a lot of fun and expose many issues you don't see when you're only running a few builds a day. 

If you have any questions surrounding the CFP, I'm happy to help as I'm on the program committee.   (my irc nick is kmoir (#releng) as is my email id at mozilla.com)
Categorieën: Mozilla-nl planet

Mozilla Open Policy & Advocacy Blog: Join Mozilla for global teach-ins on Net Neutrality

ma, 28/07/2014 - 18:22

(This is a repost from The Webmaker Blog)

At Mozilla, we exist to protect the free and open web. Today, that openness and freedom is under threat.

The open Internet’s founding principle is under attack. Policymakers in the U.S. are considering rules that would erase “Net Neutrality,” the principle that all data on the Internet should be treated equally. If these rule changes go through, many fear it will create a “two-tier” Internet, where monopolies are able to charge huge fees for special “fast lanes” while everyone else gets the slow lane. This would threaten the very openness, level playing field and innovation that make the web great — not only in the U.S., but around the world.

Using the open web to save the open web

This is a crucial moment that will affect the open web’s future. But not enough people know about it or understand what’s at stake. Net Neutrality’s opponents are banking on the fact that Net Neutrality is so “geeky,” complex, and hard to explain that people just won’t care. That’s why Mozilla is inviting you to join us and other Internet Freedom organizations to educate, empower, organize and win.

Local “teach-ins” around the world…

Join the global Mozilla community and our partners to host a series of Internet Freedom “teach-ins” around the world. Beginning Aug 4th, we’re offering free training to help empower local organizers, activists and people like you. Together we’ll share best practices for explaining what Net Neutrality is, why it matters to your local community, and how we can protect it together. Then we’ll help local organizers like you host local events and teach-ins around the world, sharing tools and increasing our impact together.

…plus global action

In addition to increasing awareness of the importance of Net Neutrality, the teach-ins will also allow participants to have an impact by taking immediate action. Imagine hundreds of videos in support of #TeamInternet and Net Neutrality, thousands of letters to the editor, and thousands of new signatures on Mozilla’s petition.

We’ll be joined by partners like reddit, Free Press, Open Media, IMLS / ALA, Media Alliance, Every Library and Engine Advocacy.

Get involved

1) Host an event. Ready to get started? Host a local meet-up or teach-in on Net Neutrality in your community. Our Maker Party event guides and platform make it easy. We even have a special guide for a 1 hour Net Neutrality Maker Party.

2) Get free training and help. Need a little help? We’ll tell you everything you need to know. From free resources and best practices for talking about Net Neutrality to nuts and bolts logistics and organizing. The free and open online training begins Monday, Aug 4th. All are welcome, no experience necessary.You’ll leave the training armed with everything you need to host your own local teach-in. Or just better explain the issue to friends and family.

3) Use our new Net Neutrality toolkit. Our new Net Neutrality teaching kit makes it easy for educators and activists to explain the issue and empower others. We’re gathering lots more resources here.

4) Spread the word. Here are some example tweets you can use:

  • I’m on #TeamInternet! That’s why I’m joining @Mozilla’s global teach-in on Net Neutrality. http://mzl.la/globalteachin #teachtheweb
  • Join @Mozilla’s global teach-in on Net Neutrality. Let’s educate, empower, organize and win. #TeamInternet http://mzl.la/globalteachin #teachtheweb
  • The internet is under attack. Join @Mozilla’s global teach-in to preserve Net Neutrality. #TeamInternet http://mzl.la/globalteachin #teachtheweb
Categorieën: Mozilla-nl planet

Mitchell Baker: Chris Beard Named CEO of Mozilla

ma, 28/07/2014 - 18:07

I am pleased to announce that Chris Beard has been appointed CEO of Mozilla Corp. The Mozilla board has reviewed many internal and external candidates – and no one we met was a better fit.

As you will recall, Chris re-joined Mozilla in April, accepting the role of interim CEO and joining our Board of Directors.

Chris first joined Mozilla in 2004, just before we shipped Firefox 1.0 – and he’s been deeply involved in every aspect of Mozilla ever since. During his many years here, he at various times has had responsibility for almost every part of the business, including product, marketing, innovation, communications, community and user engagement.

Before taking on the interim CEO role, Chris spent close to a year as Executive-in-Residence at the venture capital firm Greylock Partners, gaining a deeper perspective on innovation and entrepreneurship. During his term at Greylock, he remained an Advisor to me in my role as Mozilla’s chair.

Over the years, Chris has led many of Mozilla’s most innovative projects. We have relied on his judgment and advice for nearly a decade. Chris has a clear vision of how to take Mozilla’s mission and turn it into industry-changing products and ideas.

The months since Chris returned in April have been a busy time at Mozilla:
•   We released major updates to Firefox, including a complete redesign, easy customization mode and new services with Firefox Accounts.
•   Firefox OS launched with new operators, including América Móvil, and new devices, like the ZTE Open C and Open II, the Alcatel ONETOUCH Fire C and the Flame (our own reference device).
•   We announced that the Firefox OS ecosystem is expanding to new markets with new partners before the end of the year.
•   We ignited policy discussion on a new path forward with net neutrality through Mozilla’s filing on the subject with the FCC
.
•   In June, we kicked off Maker Party, our annual campaign to teach the culture, mechanics and citizenship of the Web through thousands of community-run events around the world. President Obama announced the news at the first-ever White House Maker Faire.

Today, online life is a combination of desktop, mobile, connected devices, cloud services, big data and social interactions. Mozilla connects all of these in an open system we call the Web – a system that puts individuals in control, offers freedom and flexibility and that is trustworthy and fun.

Mozilla builds products and communities that work to break down closed systems that limit online choice and opportunity. There is a huge need for this work today, as our digital lives become more centralized and controlled by just a few large companies. Toward that end, Mozilla builds products that put the user first, with a focus on openness, innovation and opportunity.

Chris has a keen sense of where Mozilla has been – and where we’re headed. He has unique experience connecting with every constituency that touches our products, including consumers, partners and community members. There’s simply no better person to lead Mozilla as we extend our impact from Firefox on the desktop to the worlds of mobile devices and services.

Chris, welcome back.

Categorieën: Mozilla-nl planet

Prashish Rajbhandari: For the love of Mozilla: #MozDrive

ma, 28/07/2014 - 17:00

Hello Everyone,

I assume many of you must be aware of the recent project that I’ve undertaken. It has already been few weeks since I announced it, but the lazy me had been procrastinating to announce it here. I have also had the opportunity to test the whole idea on a recent volunteering trip to Squaw Valley (more on that later).

On 1st August 2014, I will be embarking on a journey across the lower 48 US States to spread the word and the love about Mozilla.

In 25 days, I will:

- Travel across the lower 48 States and share Mozilla’s story, vision, and their mission with the people I meet along the way.

- Engage in a one-to-one interaction with the locals and document their stories for an epic MozDrive video.

- Share my journey through the help of social media, as I go about making a difference and positive impact in the society.

Read more about the campaign here.

And please follow the entire journey and share the page (Facebook, Twitter) within your community or wherever you can in the social media space. The whole idea is to spread Mozilla love far out wide in the physical as well as digital world.

The entire campaign is mostly sponsored by The Mozilla Foundation (really grateful to them). But, I will be financing my own food and misc during the entire journey. I personally wanted everyone to become a part of this journey in some way. You can financially support the campaign – here!

I need your full support during the entire journey.

Thanks everyone!

 

Here are few pics from my recent #MozDrive test in Wunderlust, Squaw Valley.

 

A little princess with a Firefox pin and a sticker. Smiles! #mozilla pic.twitter.com/WU2fdFiWbi

— MozDrive (@mozdrive) July 20, 2014

“We didn’t know that Mozilla was a non-profit company. Thanks for sharing. By the way, we love the Firefox Lounge.” pic.twitter.com/n5Q0rGH0a4 — MozDrive (@mozdrive) July 27, 2014

“I hope the wind moves you forward like a fox on fire” pic.twitter.com/vlO4wgtlSJ

— MozDrive (@mozdrive) July 20, 2014

See you on the other side!

‘Til then.


Filed under: Mozilla Tagged: mozdrive, mozilla, mozrep
Categorieën: Mozilla-nl planet

Just Browsing: Fastest Growing New Languages on Github are R, Rust and TypeScript (and Swift)

ma, 28/07/2014 - 16:36

While researching TypeScript’s popularity I ran across a post by Adam Bard listing the most popular languages on Github (as of August 30, 2013). Adam used the Google BigQuery interface to mine Github’s repository statistics.

What really interested me was not absolute popularity but which languages are gaining adoption. So I decided to use the same approach to measure growth in language popularity, by comparing statistics for two different time periods. I used exactly the same query as Adam and ran it for the first half of 2013 (January 1st through June 30th) and then for the first half of 2014 (more details about the exact methodology at the end of this post).

Results

Based on this analysis, the ten fastest growing languages on Github in the past year are:

At the risk of jeopardizing my (non-existent) reputation as a programming language guru, I’ll admit that several of these are unfamiliar to me. Eliminating languages with less than 1000 repos to weed out the truly obscure ones yields this revised ranking:

We are assuming that growth in Github repository count serves as a proxy for increasing popularity, but it seems unlikely that Pascal, CSS and TeX are experiencing a sudden renaissance. Some proportion of this change is due to increasing use of Github itself, and it seems likely that this effect is more marked for older, more established languages that are only now moving onto Github. If we focus on languages that have started to attract attention more recently, the biggest winners over the past year appear to be R, Rust and TypeScript.

Random thoughts What the hell is R?

The fastest growing newish language is one that was unfamiliar to me. According to Wikipedia, R is “a free software programming language and software environment for statistical computing and graphics.” Most of the developers around the office said they had heard of it but never used it. This is a great illustration of how specialized languages can gain traction without making much of an impact on the broader developer community.

Getting Rusty

Of the newer languages with C-like syntax, both Rust and Go are gaining adoption. Go has a headstart, but a lot of the commentary I’ve seen suggests that Rust is a better language. This is supported by its impressive 220% annual growth rate on Github.

Building a better JavaScript

Two transpile-to-JavaScript languages made it onto the list: TypeScript and CoffeeScript. Since JavaScript is the only language that runs in the browser, a lot of developers are forced to use it. But that doesn’t mean we have to like it. While CoffeeScript is still ahead, TypeScript has the advantage of strong typing (something many developers feel passionate about) in addition to a prettier syntax. If it keeps up its 100% year-on-year growth, it may catch up soon.

Dys-functional

According to an old saw, everyone always talks about the weather but no one ever does anything about it. The same could be said about functional languages. Programming geeks love them and insist that they lead to better quality code. But they are yet to break into mainstream usage, and not a single functional language figures in our top-20 list (although R and Rust have some characteristics of functional languages).

Swift kick

The language with the highest growth of all didn’t even show up on the list because it had no repositories at all in the first half of 2013. Only a few months after it was publicly announced, Swift already had nearly 2000 repos. While it is unlikely to keep up its infinite annual growth rate for long, it is a safe bet that Swift is destined to be very popular indeed.

Methodology

The data for 2013 and 2014 from BigQuery was imported into two CSV files and merged them into a single consolidated file using Bash:

$ cat results-20140723-094327.csv | sort -t , -k 1,1 > results1.csv $ cat results-20140723-094423.csv | sort -t , -k 1,1 > results2.csv $ join -o '1.1,2.1,1.2,2.2' -a 1 -a 2 -t, results1.csv results2.csv | awk -F ',' '{ if ($1) printf $1; else printf $2; print "," $3 "," $4 }'

The first two commands sort the CSV files by language name (the options -t , and -k 1,1 are needed to ensure that only the language name and not the comma delimiter or subsequent text is used for sorting). The join command takes the sorted output and merges it into a single consolidated file with the format:

Language1,Language2,RepoCount1,RepoCount2

If the language is present in both datasets then Language1 and Language2 are identical. If it isn’t, then one of them is empty. Either way we really want to merge these into one field, which is what the awk command does. (A colleague suggested using sed -r 's/^([^,]*),\1?/\1/', but I decided that awk—or pretty much anything—is easier to read and understand.)

I then imported the entire dataset into Google Spreadsheet. The “2014 Projected” column is the 2013 value increased by the overall growth rate in Github repository count for the top 100 languages. This is used as a baseline to compare the actual 2014 figure and calculate the growth rate, since it is most interesting to measure how fast a language is gaining adoption relative to the growth of Github itself.

Categorieën: Mozilla-nl planet

Roberto A. Vitillo: Regression detection for Telemetry histograms.

ma, 28/07/2014 - 16:22

tldr: An automatic regression detector system for Telemetry data has been deployed; the detected regressions can be seen in the dashboard.

Mozilla is collecting over 1,000 Telemetry probes which give rise to histograms, like the one in the figure below, that change slightly every day.

Average frame interval during any tab open/close animation (excluding tabstrip scroll).

Average frame interval during any tab open/close animation (excluding tabstrip scroll).

 

Until lately the only way to monitor those histogram was to sit down and literally stare the screen while something interesting was spotted. Clearly there was the need for an automated system which is able to discern between noise and real regressions.

Noise is a major challenge, even more so than with Talos data, as Telemetry data is collected from a wide variety of computers, configurations and workloads. A reliable mean of detecting regressions, improvements and changes in a measurement’s distribution is fundamental as erroneous alerts (false positives) tend to annoy people to the point that they just ignore any warning generated by the system.

I have looked at various methods to detect changes in histogram, like

  • Correlation Coefficient
  • Chi-Square Test
  • Mann-Whitney Test
  • Kolmogorov-Smirnov test of the estimated densities
  • One Class Support Vector Machine
  • Bhattacharyya Distance

Only the Bhattacharyya distance proved satisfactory for our data. There are several reasons why each of the previous methods fails with our dataset.

For instance a one class SVM wouldn’t be a bad idea if some distributions wouldn’t change dramatically over the course of time due to regressions and/or improvements in our code; so in other words, how do you define how a distribution should look like? You could just take the daily distributions of the past week as training set but that wouldn’t be enough data to get anything meaningful from a SVM. A Chi-Square test instead is not always applicable as it doesn’t allow cells with an expected count of 0. We could go on for quite a while and there are ways to get around those issues but the reader is probably more interested in the final solution. I evaluated how well those methods are actually at pinpointing some past known regressions and the Bhattacharyya distance proved to be able to detect the kind of pattern changes we are looking for, like distributions shifts or bin swaps, while minimizing the number of false positives.

Having a relevant distance metric is only part of the deal since we still have to decide what to compare. Should we compare the distribution of today’s build-id against the one from yesterday? Or the one from a week ago? It turns out that trying to mimic what an human would do yields a very accurate algorithm. If the variance of the distance between the histogram of the current build-id and the histograms of the past N build-ids is small enough and the distance between the histograms of the current build-id and the previous build-id is above a cutoff value K, a regression is reported. Furthermore, Histograms that don’t have enough data are filtered out and the cut-off values are determined empirically from past known regressions.

I am pretty satisfied with the detected regressions so far, for instance the system was able to correctly detect a regression caused by the OMTC patch that landed the 20st of May which caused a significant change in the the average frame interval during tab open animation:

newtab.

Average frame interval during tab open animation of about:newtab.

We will soon roll-out a feature to allow histogram authors to be notified through e-mail when an histogram change occurs. In the meantime you can have a look at the detected regressions in the dashboard.


Categorieën: Mozilla-nl planet

Hannah Kane: Maker Party Engagement: Week 2

ma, 28/07/2014 - 15:48

Two weeks in!

Let’s check in on our four engagement strategies.

First, some overall stats:

  • Events: 862 (up nearly 60% from the 541 we had last week, and more than a third of the way towards our goal of 2400)
  • Hosts: 347 (up >50% from 217 last week)
  • Expected attendees: 46,885 (up >75% from 25,930 last week)
  • Cities: 216 (goal is 450)

Note: I’ll start doing trend lines on these numbers soon, so we can see the overall shape.

Are there other things we should be tracking? For example, we have a goal of 70,000 Makes created through new user accounts, but I’m not sure if we have a way to easily get those numbers.

  • Webmaker accounts: 91,998 (I’m assuming “Users” on this dash is the number of account holders)
  • Contributors: If I understand the contributors dashboard correctly, we’re at 4,615, with 241 new this week.
  • Traffic: here’s the last three weeks. You can see we’re maintaining about the same levels as last week.

——————————————————————–

Engagement Strategy #1: PARTNER OUTREACH

  • # of confirmed event partners: 205 (5 new this week)
  • # of confirmed promotional partners: 63 (2 new this week)

We saw press releases/blog posts from these partners:

We also started engaging Net Neutrality partners by inviting them to join our global teach-ins.

——————————————————————–

Engagement Strategy #2: ACTIVE MOZILLIANS

  • Science Lab Global Sprint happened this week—I don’t yet know the total # of people who participated
  • Lots of event uploads this week from the Hive networks.

——————————————————————–

Engagement Strategy #3: OWNED MEDIA

  • Snippet: The snippet has generated nearly 350M impressions, >710K clicks, and >40,000 email sign-ups to date. We’ve nearly finalized some additional animal-themed icons to help prevent snippet fatigue, and have started drafting a two-email drip series for people who’ve provided their emails via the snippet (see the relevant bug).
  • Mozilla.org: In the first few days since the new Maker Party banner went live we saw a significant drop in Webmaker account conversions (as compared to the previous Webmaker focused banner). One likely cause is that, in addition to changing the banner itself, we also changed the target destination from Webmaker to Maker Party. We’ve rolled back the banner and target destination to the previous version, and are discussing iteration ideas here.

Analysis: We’ve learned quite a bit about which snippets perform best. The real test will be how many email sign-ups we can convert to Webmaker account holders.

——————————————————————–

Engagement Strategy #4: EARNED MEDIA

Planting seeds:

  • Mark had an interview with Press Trust of India, India’s premier news agency that has the largest press outreach in Asia.
  • Brett had an interview with The Next Web

TV/Video:

English:

What are the results of earned media efforts?

Here’s traffic coming from searches for “webmaker” and “maker party.” No boost here yet.

—–

SOCIAL (not one of our key strategies):

#MakerParty trendline: You can see the spike we saw last week has tapered off.


See #MakerParty tweets here: https://twitter.com/search?q=%23makerparty&src=typd

Some highlights:

Screen Shot 2014-07-21 at 3.11.53 PM Screen Shot 2014-07-21 at 3.12.27 PM Screen Shot 2014-07-21 at 3.12.58 PM Screen Shot 2014-07-21 at 3.13.49 PM Screen Shot 2014-07-21 at 3.14.19 PM Screen Shot 2014-07-21 at 3.15.59 PM Screen Shot 2014-07-23 at 3.35.32 PMScreen Shot 2014-07-24 at 4.06.45 PM

 


Categorieën: Mozilla-nl planet

Jennifer Boriss: Looking Ahead: Challenges for the Open Web

ma, 28/07/2014 - 14:35
At the end of this week, I’m moving on after six amazing years at Mozilla. On August 25, I’ll be joining Reddit - another global open source project – as their first […]
Categorieën: Mozilla-nl planet

Benjamin Kerensa: Until Next Year CLS!

ma, 28/07/2014 - 14:00
Bs7Qxr CMAAYtLa 300x199 Until Next Year CLS!

Community Leadership Summit 2014 Group Photo

This past week marked my second year helping out as a co-organizer of the Community Leadership Summit. This Community Leadership Summit was especially important because not only did we introduce a new Community Leadership Forum but we also introduced CLSx events and continued to introduce some new changes to our overall event format.

Like previous years, the attendance was a great mix of community managers and leaders. I was really excited to have an entire group of Mozillians who attended this year. As usual, my most enjoyable conversations took place at the pre-CLS social and in the hallway track. I was excited to briefly chat with the Community Team from Lego and also some folks from Adobe and learn about how they are building community in their respective settings.

I’m always a big advocate for community building, so for me, CLS is an event I try and make it to each and every year because I think it is great to have an event for community managers and builders that isn’t limited to any specific industry. It is really a great opportunity to share best practices and really learn from one another so that everyone mutually improves their own toolkits and technique.

It was apparent to me that this year there were even more women than in previous years and so it was really awesome to see that considering CLS is often times heavily attended by men in the tech industry.

I really look forward to seeing the CLS community continue to grow and look forward to participating and co-organizing next year’s event and possibly even kick of a CLSxPortland.

A big thanks to the rest of the CLS Team for helping make this free event a wonderful experience for all and to this years sponsors O’Reilly, Citrix, Oracle, Linux Fund, Mozilla and Ubuntu!

Categorieën: Mozilla-nl planet

Dave Huseby: How to Sanitize Thunderbird and Enigmail

ma, 28/07/2014 - 14:00
How to sanitize encrypted email to not disclose Thunderbird or Enigmail.
Categorieën: Mozilla-nl planet

Benjamin Kerensa: Mozilla at O’Reilly Open Source Convention

ma, 28/07/2014 - 03:48
IMG 20140723 161033 300x225 Mozilla at OReilly Open Source Convention

Mozililla OSCON 2014 Team

This past week marked my fourth year of attending O’Reilly Open Source Convention (OSCON). It was also my second year speaking at the convention. One new thing that happened this year was I co-led Mozilla’s presence during the convention from our booth to the social events and our social media campaign.

Like each previous year, OSCON 2014 didn’t disappoint and it was great to have Mozilla back at the convention after not having a presence for some years. This year our presence was focused on promoting Firefox OS, Firefox Developer Tools and Firefox for Android.

While the metrics are not yet finished being tracked, I think our presence was a great success. We heard from a lot of developers who are already using our Developer tools and from a lot of developers who are not; many of which we were able to educate about new features and why they should use our tools.

IMG 20140721 171609 300x168 Mozilla at OReilly Open Source Convention

Alex shows attendee Firefox Dev Tools

Attendees were very excited about Firefox OS with a majority of those stopping by asking about the different layers of the platform, where they can get a device, and how they can make an app for the platform.

In addition to our booth, we also had members of the team such as Emma Irwin who helped support OSCON’s Children’s Day by hosting a Mozilla Webmaker event which was very popular with the kids and their parents. It really was great to see the future generation tinkering with Open Web technologies.

Finally, we had a social event on Wednesday evening that was very popular so much that the Mozilla Portland office was packed till last call. During the social event, we had a local airbrush artist doing tattoos with several attendees opting for a Firefox Tattoo.

All in all, I think our presence last week was very positive and even the early numbers look positive. I want to give a big thanks to Stormy Peters, Christian Heilmann, Robyn Chau, Shezmeen Prasad, Dave Camp, Dietrich Ayala, Chris Maglione, William Reynolds, Emma Irwin, Majken Connor, Jim Blandy, Alex Lakatos for helping this event be a success.

Categorieën: Mozilla-nl planet

Pagina's