The Handmaid's Tale : Chapter 2 analysis photo, Offred in her room

The Handmaid’s Tale: Chapter 2 analysis

A chair, a table, a lamp. Above, on the white ceiling, a relief ornament in the shape of a wreath, and in the centre of it a blank space, plastered over, like the place in a face where the eye has been taken out. There must have been a chandelier, once. They’ve removed anything you could tie a rope to.

A window, two white curtains. Under the window, a window seat with a little cushion. When the window is partly open – it only opens partly – the air can come in and make the curtains move. I can sit in the chair, or on the window seat, hands folded, and watch this. Sunlight comes in through the window too, and falls on the floor, which is made of wood, in narrow strips, highly polished. I can smell the polish. There’s a rug on the floor, oval, of braided rags. This is the kind of touch they like: folk art, archaic, made by women, in their spare time, from things that have no further use. A return to traditional values. Waste not want not. I am not being wasted. Why do I want?

On the wall above the chair, a picture, framed but with no glass: a print of flowers, blue irises, watercolour. Flowers are still allowed. Does each of us have the same print, the same chair, the same white curtains, I wonder? Government issue?

Think of it as being in the army, said Aunt Lydia.

A bed. Single, mattress medium-hard, covered with a flocked white spread. Nothing takes place in the bed but sleep; or no sleep. I try not to think too much. Like other things now, thought must be rationed. There’s a lot that doesn’t bear thinking about. Thinking can hurt your chances, and I intend to last. I know why there is no glass, in front of the watercolour picture of blue irises, and why the window only opens partly and why the glass in it is shatterproof. It isn’t running away they’re afraid of. We wouldn’t get far. It’s those other escapes, the ones you can open in yourself, given a cutting edge.

So. Apart from these details, this could be a college guest room, for the less distinguished visitors; or a room in a rooming house, of former times, for ladies in reduced circumstances. This is what we are now. The circumstances have been reduced; for those of us who still have circumstances.

But a chair, sunlight, flowers: these are not to be dismissed. I am alive, I live, I breathe, I put my hand out, unfolded, into the sunlight. Where I am is not a prison but a privilege, as Aunt Lydia said, who was in love with either/or.

The bell that measures time is ringing. Time here is measured by bells, as once in nunneries. As in a nunnery too, there are few mirrors.

I get up out of the chair, advance my feet into the sunlight, in their red shoes, flat-heeled to save the spine and not for dancing. The red gloves are lying on the bed. I pick them up, pull them onto my hands, finger by finger. Everything except the wings around my face is red: the colour of blood, which defines us. The skirt is ankle-length, full, gathered to a flat yoke that extends over the breasts, the sleeves are full. The whitewings too are prescribed issue; they are to keep us from seeing, but also from being seen. I never looked good in red, it’s not my colour. I pick up the shopping basket, put it over my arm.

The door of the room – not my room, I refuse to say my – is not locked. In fact it doesn’t shut properly. I go out into the polished hallway, which has a runner down the centre, dusty pink. Like a path through the forest, like a carpet for royalty, it shows me the way.

The carpet bends and goes down the front staircase and I go with it, one hand on the banister, once a tree, turned in another century, rubbed to a warm gloss. Late Victorian, the house is, a family house, built for a large rich family. There’s a grandfather clock in the hallway, which doles out time, and then the door to the motherly front sitting room, with its flesh tones and hints. A sitting room in which I never sit, but stand or kneel only. At the end of the hallway, above the front door, is a fanlight of coloured glass: flowers, red and blue.

There remains a mirror, on the hall wall. If I turn my head so that the white wings framing my face direct my vision towards it, I can see it as I go down the stairs, round, convex, a pier-glass, like the eye of a fish, and myself in it like a distorted shadow, a parody of something, some fairy-tale figure in a red cloak, descending towards a moment of carelessness that is the same as danger. A Sister, dipped in blood.

At the bottom of the stairs there’s a hat-and-umbrella stand, the bentwood kind, long rounded rungs of wood curving gently up into hooks shaped like the opening fronds of a fern. There are several umbrellas in it: black, for the Commander, blue, for the Commander’s Wife, and the one assigned to me, which is red. I leave the red umbrella where it is, because I know from the window that the day is sunny. I wonder whether or not the Commander’s wife is in the sitting room. She doesn’t always sit. Sometimes I can hear her pacing back and forth, a heavy step and then a light one, and the soft tap of her cane on the dusty-rose carpet.

The Handmaid’s Tale, chapter 2.

Chapter 2 of The Handmaid’s Tale shows a fragmented vision of the room and details the layout of the house. Offred seems to have a very clear awareness although nothing is explicit. However fragmented she is, she is clearsighted about Gilead in very strategic places in the text, in a very subtle way so she would not be accused if she ever happened to be discovered.

This passage is the beginning of the second chapter of The Handmaid’s Tale by Margaret Atwood. Offred, the main character, is alone in a bedroom. First, we will see how she describes her environment. Then, we will focus on how Offred reflects on Gilead and the Handmaids’ behaviour. Finally, we will analyze Offred’s coping with the system.

Strategic story-telling: a narrator that knows but who “intends to last”

The room

Impression of nudity due to the use of noun phrases at the beginning of:

  • paragraph 1: “a chair, a table, a lamp”
  • paragraph 2: “a window, two white curtains”
  • paragraph 3: “a print of flowers, blue irises, watercolour”
  • paragraph 5: “a bed”
  • paragraph 6: “so”.

Paragraphs 1 and 2 could be seen in black and white. Colour only appears in paragraph 3 with “blue irises”.

This scene can be imagined filmed. The camera would follow the different elements of the description that tend to transform the room into a prison cell.

The house (inside)

Description of the way she takes to go from her room to the hallway: “hallway” (upstairs) and “pink carpet”, “staircase”, “the clock”, “the mirror”, “hat-and-umbrella stand”. All of these elements show she lives in a wealthy house.

As Offred describes her environment, she makes some reflections on Gilead. There is a shift from perception to thought.

Lire la suite

Scottish flag and the Union Jack

Scotland: the Road to Independence

  1. Scotland: the State, the Nation, Home Rule, and Devolution
  2. The Act of Union of 1707
  3. Scottish Home Rule
  4. The rise of the Scottish National Party (SNP)
  5. The Scottish Parliament
  6. Scotland: the Road to Independence

Scottish Independence Referendum, 2014

In August 2009 the SNP announced a Referendum Bill would be included in its package of bills to be debated before Parliament in 2009–10, to hold a referendum on the issues of Scottish independence in November 2010.

The bill did not pass due to the SNP’s status as a minority administration, and due to the initial opposition to the Bill from all other major parties in the Scottish Parliament.

Following the Scottish Parliament general election, in 2011 the SNP had a majority in parliament and again brought forward an Independence Referendum Bill.

The Scottish Government also suggested that full fiscal autonomy for Scotland (known as “devo-max”) could be an alternative option in the vote.

The negotiation of the Edinburgh Agreement (2012) resulted in the UK government legislating to provide the Scottish Parliament with the power to hold the referendum.

The “devo-max” option was not included, however, as the Edinburgh Agreement stipulated that the referendum had to be a clear binary choice between independence or the existing devolution arrangements.

The Scottish Independence Referendum (Franchise) Act 2013 was passed by the Scottish Parliament and campaigning commenced. Two days before the referendum was held, with polls very close, the leaders of the three main UK political parties made “The Vow”, a public pledge to devolve “extensive new powers” to the Scottish Parliament if independence was rejected. They also agreed to a devolution timetable proposed by Gordon Brown.

After heavy campaigning by both sides, voting took place on 18 September 2014. Independence was rejected by a margin of 45% in favour to 55% against.

Lire la suite

Installation de Nextcloud: votre propre service de cloud chez vous photo 1

Nextcloud: solutions pour les erreurs occ pour PHP, le mode maintenance et la base de données

Dans Nextcloud, la page Paramètres > Administration > Vue d’ensemble vous permet d’avoir un bon aperçu des tâches de maintenance à effectuer sur votre installation Nextcloud.

This version of Nextcloud is not compatible with > PHP 7.4

C’est une erreur – et non un avertissement – qui bloque toutes les commandes suivantes dans le terminal. Elle apparaît lorsqu’une version de PHP plus récente est installée sur votre serveur.

Chez moi, par exemple, j’ai PHP 7.4 pour les sites en production et pour Nextcloud mais aussi PHP 8 pour les plateformes de développement.

Voici le message d’erreur:

This version of Nextcloud is not compatible with > PHP 7.4.

You are currently running 8.0.0

Ce message apparaît parce que Nextcloud lance un rapide php -v pour déterminer la version de PHP installée. Cela ne reconnaît par contre que la version la plus récente installée.

Voici ce que donne la commande :

PHP 8.0.0 (cli) (built: Nov 27 2020 12:26:22) ( NTS )
 Copyright (c) The PHP Group
 Zend Engine v4.0.0-dev, Copyright (c) Zend Technologies
     with Zend OPcache v8.0.0, Copyright (c), by Zend TechnologiesCode language: CSS (css)

La solution consiste à modifier manuellement la version retournée par php -v, à l’aide de la commande update-alternatives :

update-alternatives --set php /usr/bin/php7.4Code language: JavaScript (javascript)

Si on relance php -v, voici le résultat:

PHP 7.4.13 (cli) (built: Nov 28 2020 06:24:59) ( NTS )
 Copyright (c) The PHP Group
 Zend Engine v3.4.0, Copyright (c) Zend Technologies
     with Zend OPcache v7.4.13, Copyright (c), by Zend TechnologiesCode language: CSS (css)

Avec cela, vous êtes parés pour les commandes occ de Nextcloud.

Nextcloud reste bloqué en mode maintenance

Cela peut arriver lors d’une mise à jour, pour diverses raisons.

Solution 1: avec la commande occ

cd /home/www/nextcloud 
sudo -u www-data php ./occ maintenance:mode --off 

Solution 2: éditer le fichier config.php

1. Editez le fichier config.php:

nano /home/www/nextcloud/config/config.php

2. trouvez:

'maintenance' => true,Code language: PHP (php)

3. remplacez par:

'maintenance' => false,Code language: PHP (php)

Enregistrez le fichier, l’assistant de mise à jour est alors capable de reprendre là où il s’était arrêté, automatiquement.

Lire la suite

Jethro Tull - Aqualung photo

Local : importer une base de données depuis le shell

Local possède une version d’Adminer dans les options de chaque site qui est très utile puisqu’elle permet d’accéder rapidement à la base de données, ou d’importer une petite base de données.

Par contre, s’il s’agit d’importer une base qui fait plus de 80 Mo, mieux vaut se tourner vers un outil un peu plus robuste: le shell.

Accéder au shell depuis Local

Et cela tombe bien : Local possède son propre shell, accessible sur simple clic-droit sur le nom du site sur lequel vous souhaitez ouvrir une fenêtre de terminal:

local open site shell new 1280x787

Voici la marche à suivre : Démarrez votre site > sélectionnez le nom du site > clic-droit > Open Site Shell

Importer une base de données dans un site Local

Lorsque j’ai besoin de répliquer un site rapidement, je copie la base données dans le répertoire app du site Local en question.

Pour mon site de test (skyminds-2020 ), le chemin sur ma machine est /Users/matt/Local Sites/skyminds2020/app . C’est dans ce dossier que je place le fichier SQL à importer.

Ensuite, dans le shell Local, il suffit de faire un simple import SQL dans la base qui, par défaut, s’appelle local (et ce, pour tous vos sites Local, bien qu’elles soient toutes indépendantes).

L’utilisateur est root et le mot de passe root également, ce qui est plutôt pratique.

Le shell est par défaut sous app/public donc on remonte d’un cran dans l’arborescence pour pointer vers notre fichier (qui se trouve dans /app ).

Voilà ce que cela nous donne:

mysql -u root -proot local < ../db.sql

Résultat:

mysql: [Warning] Using a password on the command line interface can be insecure.
bash-3.2$Code language: HTTP (http)

L’importation de la base de données SQL ne prend que quelques secondes, alors que cela se plante allégrement lorsque l’on utilise Adminer.

A utiliser sans modération, cela ne vaut vraiment pas le coup de s’embêter avec une interface graphique (ou à placer le fichier dans le répertoire d’adminer comme il l’indique sur la page d’importation).

WordPress: retirer l'option de supprimer les plugins dans l'interface d'administration photo

WordPress: retirer l’option de supprimer les extensions dans l’interface d’administration

C’est assez rare comme demande mais je me suis exécuté : comment faire pour retirer le lien qui permet de supprimer les extensions désactivées dans l’interface d’administration, même si l’on est administrateur ?

Et bien c’est assez simple, il suffit de filtrer le tableau des liens. Voici deux exemples simples pour mettre cela en place.

Retirer le lien de suppression pour toutes les extensions

Voici le code qui vous permet de retirer le lien “Supprimer” qui se trouve en dessous de chaque extension sur la page Extensions:

<?php
/*
Plugin Name: Disable Plugin Deletion
Plugin URI: https://www.skyminds.net/wordpress-retirer-option-supprimer-extensions/
Description: Disable all plugins' deletion links on the plugins page.
Version: 1.0
Author: Matt Biscay
Author URI: https://mattbiscay.com
*/
add_filter( 'plugin_action_links', 'sky_disable_plugin_deletion', 10, 4 );
function sky_disable_plugin_deletion( $actions, $plugin_file, $plugin_data, $context ) {
  // Remove delete link for all installed plugins         
  unset( $actions['delete'] );     
  return $actions;
} Code language: HTML, XML (xml)

Retirer le lien de suppression pour des extensions spécifiques

Voici le code qui vous permet de retirer le lien “Supprimer” qui se trouve en dessous des extensions dont vous spécifiez le chemin (dossier et nom du fichier de l’extension à charger) sur la page Extensions:

<?php
 /*
 Plugin Name: Disable Plugin Deletion
 Plugin URI: https://www.skyminds.net/wordpress-retirer-option-supprimer-extensions/
 Description: Disable all plugins' deletion links on the plugins page.
 Version: 1.0
 Author: Matt Biscay
 Author URI: https://mattbiscay.com
 */
 add_filter( 'plugin_action_links', 'sky_disable_plugin_deletion_selected', 10, 4 );
 function sky_disable_plugin_deletion_selected( $actions, $plugin_file, $plugin_data, $context ) {
   // Remove delete link for specific plugins
   if ( array_key_exists( 'delete', $actions ) && in_array( $plugin_file,
   [
     'akismet/akismet.php',
     'redirection/redirection.php',
   ]
   ) ) {
     unset( $actions['delete'] );
   }
   return $actions;
 }Code language: HTML, XML (xml)

Dans ce dernier snippet, pensez à modifier le nom du répertoire et celui du plugin de manière à ce qu’ils coïncident avec les plugins qui ne doivent pas être supprimés.

A l’origine, c’était pour un de mes clients pour éviter que ses collaborateurs ne suppriment des plugins par inadvertance.

Je m’en sers également sous LocalWP pour éviter de supprimer un plugin en cours de développement – on ne sait jamais !

Installation de Nextcloud: votre propre service de cloud chez vous photo 1

Installation de Nextcloud: votre propre service de cloud chez vous

Cela fait quelques temps que j’utilise une instance Nextcloud sur le serveur. Cela vous permet de créer votre propre service de cloud: vous gérez vous-mêmes vos données (images, documents, fichiers…) sans passer par un service tiers.

Vous gardez donc entièrement la main sur vos données : plus besoin de Google Drive ou Dropbox (ou autre), c’est vous qui gérez. Nextcloud possède même ses applications mobiles pour pouvoir accéder à vos données à tout moment, sur tous supports.

Ce tutoriel est réalisé sous Ubuntu Server mais il est facilement transposable à votre système d’exploitation sous Linux.

Installation de Nextcloud

Voici les paquets PHP nécessaires pour installer Nextcloud:

  • PHP (7.2, 7.3 or 7.4)
  • PHP module ctype
  • PHP module curl
  • PHP module dom
  • PHP module GD
  • PHP module hash (only on FreeBSD)
  • PHP module iconv
  • PHP module JSON
  • PHP module libxml (Linux package libxml2 must be >=2.7.0)
  • PHP module mbstring
  • PHP module openssl
  • PHP module posix
  • PHP module session
  • PHP module SimpleXML
  • PHP module XMLReader
  • PHP module XMLWriter
  • PHP module zip
  • PHP module zlib

Nextcloud est maintenant capable de tourner sous PHP 7.4 donc vous pouvez installer les paquets PHP qui lui sont nécessaires:

apt install php7.4 php7.4-cli php7.4-gd php7.4-imap php7.4-mysql php7.4-soap php7.4-apcu php7.4-common php7.4-gmp  php7.4-intl php7.4-opcache php7.4-xml php7.4-apcu-bc php7.4-curl php7.4-igbinary php7.4-json php7.4-readline  php7.4-zip php7.4-bcmath php7.4-fpm php7.4-imagick php7.4-mbstring php7.4-redisCode language: CSS (css)

On télécharge Nextcloud, depuis la page Téléchargement ou via la ligne de commande:

wget https://download.nextcloud.com/server/releases/nextcloud-22.0.0.zipCode language: JavaScript (javascript)

On décompresse l’archive:

unzip nextcloud-22.0.0.zipCode language: CSS (css)

Et on déplace ensuite le répertoire dans un dossier public lisible par le serveur de fichiers:

mv nextcloud /var/www/html/Code language: JavaScript (javascript)

et on lui donne ensuite les bonnes permissions:

chown -R www-data:www-data /var/www/html/nextcloudCode language: JavaScript (javascript)

Lire la suite

Jethro Tull - Aqualung photo

Local : résoudre l’erreur “missing zlib extensions”

A la suite d’une mise à jour de Local, j’ai eu la surprise d’obtenir le message d’erreur suivant au moment d’installer un plugin manuellement, par upload du fichier zip:

Unpacking the packageAbort class-pclzip.php : 
Missing zlib extensionsCode language: CSS (css)

Toutes les machines docker fonctionnent sous PHP 7.4.1 et cela ne s’était jamais produit auparavant. Local est installé sur ma machine MacOS.

Si cela vous arrive, voici comment régler le problème en quelques minutes.

Marche à suivre pour Local (MacOS)

Ce sont les Lightning Services qu’il faut mettre à jour: comme ils ne peuvent être mis à jour via l’auto-updater, nous allons devoir les supprimer et les réinstaller pour notre version de PHP.

1. Quittez Local si le programme est en cours d’utilisation.

2. Dans le terminal, lancez la commande suivante:

rm ~/Library/Application\ Support/Local/lightning-services/php-7.4* -rf Code language: JavaScript (javascript)

Notez que l’on cible ici les versions 7.4.x de PHP.

3. Relancez Local.

4. Ajoutez un nouveau site lambda (j’ai appelé le mien testing mais il pourra être supprimé dès la fin de cette procédure) sous Local qui utilise PHP 7.4. Cela lancera le téléchargement et l’installation des Lightning Services, avec la mise à jour zlib.

5. Lancez maintenant votre site Local, qui tourne sous PHP 7.4 : vous n’avez maintenant plus de problèmes pour installer plugins et thèmes manuellement, avec des fichiers zip.

Et voilà, vous pouvez de nouveau installer des thèmes et plugins manuellement. Cela devrait être corrigé dans une nouvelle version de Local – surtout que PHP 8 vient de sortir il y a quelques semaines.

Vanilla JS : créer des éléments aux couleurs aléatoires photo

Vanilla JS : créer des éléments aux couleurs aléatoires

On a souvent besoin de distinguer des éléments rapidement et c’est très simple de le faire visuellement, avec des couleurs, pour bien différencier les blocs.

Voici une solution simple et élégante pour créer des éléments aux couleurs aléatoires, en utilisant du javascript natif, que l’on appelle Vanilla JS.

Cela devrait vous permettre d’obtenir ceci – des blocs dont la couleur est générée aléatoirement et qui change à chaque rafraichissement de la page.

J’inclus ici un bouton qui permet de rafraîchir aléatoirement les couleurs de notre bloc:

  • Color 1
  • Color 2
  • Color 3
  • Color 4
  • Color 5
  • Color 6

Lire la suite

Réalisation de votre projet web photo

Réalisons votre projet WordPress ou WooCommerce

Nos compétences au service de vos besoins

Stratégie

Nous étudions le parcours de votre site et vos besoins pour vous fournir une solution à long-terme, qui correspond à votre vision.

Développement

Vous souhaitez ajouter de nouvelles fonctionnalités à votre site ou boutique? Nous pouvons coder la solution!

Performance

Votre site doit être rapide et optimisé sur tous supports afin de convertir vos visiteurs. Nous auditons votre site et proposons la solution adaptée.

Hébergement

Vos projets ont besoin d’un hébergement de qualité, c’est la fondation de votre site web et elle doit être solide car c’est sur elle que tout repose.

Maintenance

Votre site a besoin d’une maintenance régulière afin de toujours utiliser la dernière mouture du code et rester sécurisé face aux menaces.

Assistance

Vous avez besoin d’aide ponctuelle? Pas de problème, nous sommes à votre écoute pour vous dépanner rapidement et sereinement.

Lire la suite

CSS: superposer du texte lisible sur une image de fond photo

CSS: superposer du texte lisible sur une image de fond

Il est souvent utile de pouvoir placer du texte sur une image de fond, de manière à ce que l’on puisse lire le texte facilement et distinguer l’image. C’est ce que j’utilise sur le blog pour les images d’illustration des articles.

Nous allons donc superposer du texte lisible sur une image de fond en utilisant uniquement du code HTML et CSS, ce qui nous donne ceci:

Voici une planche à voile

Une image de planche à voile se trouve derrière ce texte.

Vous souhaitez accomplir la même chose? Voici comment faire.

Lire la suite

Analysis of The Handmaid's Tale by Margaret Atwood photo

The Handmaid’s Tale: incipit analysis

We slept in what had once been the gymnasium. The floor was of varnished wood, with stripes and circles painted on it, for the games that were formerly played there; the hoops for the basketball nets were still in place, though the nets were gone. A balcony ran around the room, for the spectators, and I thought I could smell, faintly like an afterimage, the pungent scent of sweat, shot through with the sweet taint of chewing gum and perfume from the watching girls, felt-skirted as I knew from pictures, later in miniskirts, then pants, then in one earring, spiky green-streaked hair. Dances would have been held there; the music lingered, a palimpsest of unheard sound, style upon style, an undercurrent of drums, a forlorn wail, garlands made of tissue-paper flowers, cardboard devils, a revolving ball of mirrors, powdering the dancers with a snow of light.

There was old sex in the room and loneliness, and expectation, of something without a shape or name. I remember that yearning, for something that was always about to happen and was never the same as the hands that were on us there and then, in the small of the back, or out back, in the parking lot, or in the television room with the sound turned down and only the pictures flickering over lifting flesh.

We yearned for the future. How did we learn it, that talent for insatiability? It was in the air; and it was still in the air, an afterthought, as we tried to sleep, in the army cots that had been set up in rows, with spaces between so we could not talk. We had flannelette sheets, like children’s, and army-issue blankets, old ones that still said U.S. We folded our clothes neatly and laid them on the stools at the ends of the beds. The lights were turned down but not out. Aunt Sara and Aunt Elizabeth patrolled; they had electric cattle prods slung on thongs from their leather belts.

No guns though, even they could not be trusted with guns. Guns were for the guards, specially picked from the Angels. The guards weren’t allowed inside the building except when called, and we weren’t allowed out, except for our walks, twice daily, two by two around the football field, which was enclosed now by a chain-link fence topped with barbed wire. The Angels stood outside it with their backs to us. They were objects of fear to us, but of something else as well. If only they would look. If only we could talk to them. Something could be exchanged, we thought, some deal made, some tradeoff, we still had our bodies. That was our fantasy.

We learned to whisper almost without sound. In the semidarkness we could stretch out our arms, when the Aunts weren’t looking, and touch each other’s hands across space. We learned to lip-read, our heads flat on the beds, turned sideways, watching each other’s mouths. In this way we exchanged names, from bed to bed:

Alma. Janine. Dolores. Moira. June.

The Handmaid’s Tale, chapter 1.

Setting and Time: a universe of temporal and spatial signs

Contextualisation: space

Semantic fields are understood universally. The gymnasium is a call to universal memory, to the experience of every reader, it’s a cultural sign.

It is reassuring but there are many syntactic breaks: “once”, “formerly”, “though” that show an insistence on the way recognizable signs are manipulated so that they gradually become revised, unrecognizable, and subverted signs.

Sport places (which used to be places of fun, pleasure and bodily activity) are now turned into dormitories (1: “We slept in what had once been the gymnasium.”) or prison yards (31: “the football field which was enclosed now (…) barbed wire.”)

Lire la suite