Suite

Existe-t-il un moyen de définir la position relative des éléments dans le compositeur d'impression ?

Existe-t-il un moyen de définir la position relative des éléments dans le compositeur d'impression ?


Y a-t-il une chance de rendre les éléments dans le compositeur d'impression par rapport aux marges. Disons par exemple la légende. Je l'aligne normalement sur le coin en bas à droite où la légende est à 10 px des bords de la carte.

Si j'ajoute un nouvel élément à la légende, la légende s'agrandit et je dois l'aligner à nouveau. Donner à la légende une position relative indépendamment de la taille des légendes serait très favorable (dites à qgis de toujours aligner la légende dans le coin en bas à droite avec une distance de 10 px toujours). Que je pourrais définir une mise en page et faire plusieurs cartes sans réajuster ces éléments à nouveau…


Pas pour le moment, mais c'est une bonne demande. Pouvez-vous le déposer sur http://hub.qgis.org ?


Impression HTML avec positions absolues

Est-il possible d'imprimer une page HTML avec des éléments positionnés de manière vraiment absolue sur le papier ? Il semble que tous les navigateurs font un gros gâchis ici. Il est facile de définir un corps par des unités absolues (ex. cm) et de placer des éléments par position : absolu à l'intérieur. Cependant, chaque navigateur semble essayer de rendre impossible l'impression d'une telle page. FF, par exemple, ajoute des marges d'impression, même lors de l'impression d'un fichier PDF sous Linux malgré les paramètres de page à marge nulle. Chrome semble réduire la page dans tous les cas. Alors, comment imprimer quelque chose avec un positionnement absolu, par exemple. champs de formulaire papier, marquages, etc.? Ai-je oublié quelque chose ?


Comment mesurez-vous réellement la capacité militaire ?

« Le critère ultime de la puissance nationale est la capacité militaire. » Ainsi ont déclaré les analystes de RAND dans une monographie sur la mesure de la puissance nationale il y a vingt ans. Pourtant, il n'existe actuellement aucune mesure de référence des ressources militaires au-delà des évaluations nettes ponctuelles des forces de combat, de simples comparaisons des dépenses militaires ou des estimations ponctuelles de la puissance de feu qui associent capacités et puissance de combat.

Nous avons besoin d'un meilleur étalon – un équivalent militaire de la cour du roi apocryphe, peut-être – pour mesurer la capacité militaire et comprendre sa relation avec divers intrants. À cette fin, notre équipe de recherche a construit le Military Equipment Index (MEI). Bien qu'il soit encore en cours d'élaboration, l'index met en évidence des informations importantes. Sur cette base, par exemple, nous voyons que la part russe des dépenses militaires mondiales en 2015 était de 4 %, tandis que le MEI estime sa part de capacités à 9,1 %. D'un autre côté, l'Arabie saoudite représente plus de 5 % des dépenses militaires mondiales, mais dispose d'environ 1 % des capacités totales. Toutes les dépenses de défense, semble-t-il, ne se traduisent pas par une augmentation proportionnelle des capacités.

L'indice permet également aux analystes de comprendre les tendances importantes de manière nuancée et granulaire, notamment la nette prédominance militaire des États-Unis depuis la fin de la guerre froide, le déclin constant de la Russie depuis cette époque et la montée progressive de la Chine depuis le début des années 2000.

Comment fonctionne l'indice des équipements militaires

Le MEI est une mesure générale, pondérée et relative du total des stocks d'équipements moyens et lourds possédés par l'armée de chaque pays au cours d'une année donnée. Il mesure la quantité relative, modifiée par les capacités technologiques, de matériel militaire par domaine pour tous les pays de 1970 à 2015. Construit à partir de zéro basé initialement sur l'Institut international d'études stratégiques (IISS) Équilibre militaire volumes, que nous standardisons dans le temps et organisons par génération technologique, le MEI peut être utilisé pour explorer les éléments suivants :

  • Quel pays a la plus grande capacité militaire à travers le temps ?
  • Certains pays ont-ils des préférences relatives pour une plus grande capacité dans certains domaines (par exemple, air, terre, mer) ? Cela change-t-il dans le temps ?
  • Quel est le lien entre les dépenses militaires et l'accumulation de capacités militaires ?

Nous décrivons le MEI comme un général mesure parce que les générations d'équipement reçoivent des scores qui reflètent leur valeur moyenne dans une variété de missions et de conditions (semblable à la logique derrière la description des valeurs de potentiel de combat par l'US Army Training and Doctrine Command). L'indice est pondéré parce qu'une simple somme de matériel militaire néglige les progrès technologiques au fil du temps, où un équipement plus moderne est censé avoir une plus grande capacité pour accomplir sa mission principale. L'indice est un total mesure parce que nous agrégeons l'ensemble des stocks pondérés des forces armées d'un pays sans tenir compte de l'emplacement des articles ou s'ils sont actifs, de réserve ou en magasin (l'argument étant que la plupart des équipements de réserve et en magasin peuvent être activés en un an temps). L'indice est relatif car il présente la valeur totale des équipements militaires pondérés d'un pays en pourcentage du total mondial. Ces articles sont en grande partie limités à matériel moyen et lourd s'aligner sur l'IISS Équilibre militaire pratiques de codage, qui excluent les armes légères. Enfin, il est important de souligner que le MEI est une mesure de actions, qui peut être compté à tout moment et persiste généralement sur de longues périodes. Un exemple de scores MEI par sous-type d'arme pour la Royal Brunei Air Force en 1993 est présenté dans le tableau 1.

Tableau 1. Extrait du MEI illustrant les actifs du domaine aérien enregistrés du Brunei en 1993.
Remarque : HELO = hélicoptère ATK = attaque MRH = hélicoptère multi-rôle UTL = utilitaire. Les scores de l'indice sont calculés en multipliant un poids attribué (indiqué dans le tableau 3) en fonction du type d'arme et de la génération de sous-type (par exemple, un avion d'attaque de génération 2) par le nombre total dans l'inventaire d'un pays.

Bien que le MEI puisse être utilisé pour éclairer les évaluations quantitatives de la puissance militaire relative, ce n'est certainement pas un outil complet pour réfléchir à la répartition des capacités dans le système international. Il ne tient pas compte des éléments clés de la puissance de combat, y compris les facteurs géographiques, humains et autres, dont certains sont quantifiables (par exemple, les heures d'entraînement) et d'autres ne le sont pas (par exemple, l'esprit de corps). Au contraire, lors de l'évaluation de la puissance de combat, il s'agit d'une « estimation largement subjective ». Pourtant, US Army Field Manual 6-0, Commandant et état-major Organisation et opérations reconnaît que l'évaluation de la puissance de combat repose sur « certaines relations numériques ». Les valeurs individuelles des pays peuvent être pondérées par une évaluation des capacités de formation, par exemple, pour introduire des aspects de la qualité des troupes dans la mesure.

Bien que l'indice ait des limites évidentes, il peut être utilisé comme base à partir de laquelle commencer ces évaluations d'abord numériques, mais finalement qualitatives. Cela n'est pas sans rappeler le calcul par les planificateurs militaires des rapports de force relatifs sur le champ de bataille. Même lorsqu'ils tiennent compte d'une situation tactique spécifique, les planificateurs doivent reconnaître que leurs "calculs donnent à l'état-major une idée des forces et des faiblesses relatives, mais pas de réponses mathématiques absolues quant à ce que les forces amies ou ennemies feront".

Étant donné la nature globale de notre mesure pondérée (c'est-à-dire que les stocks entiers sont comptés indépendamment de leur emplacement géographique), cet indice est destiné à informer le stratégique niveau d'analyse, où les politiques nationales sont formulées et mises en œuvre. Lorsqu'il s'agit d'opérations majeures et d'engagements tactiques, notre mesure pondérée pourrait s'appliquer à des équipements spécifiques mais ne serait qu'une des nombreuses entrées du processus de planification. Par exemple, les poids des équipements pourraient être utilisés comme entrées de niveau micro dans le calculateur de corrélation des forces du US Army Command and General Staff College. Ici, « le but de l'utilisation de la calculatrice n'est pas tant de prédire les résultats des engagements que d'ajouter une certaine objectivité au processus d'affectation des forces ». En d'autres termes, l'utilisation du MEI comme entrée dans les calculs de planification doit être considérée comme le début, et non la fin, d'une analyse.

Même au niveau stratégique, nous reconnaissons que les dénombrements pondérés des équipements militaires possédés par les pays ne captureront pas pleinement la puissance de leurs forces armées en conflit. En effet, la récente analyse de Kenneth Pollack sur l'efficacité militaire arabe dans Armées de sable souligne comment la dynamique culturelle et la politisation des forces armées peuvent conduire des armées plus grandes et mieux équipées à être vaincues par des forces nettement plus petites.

Cela dit, le MEI est une amélioration significative par rapport à une autre mesure indirecte souvent utilisée pour les capacités militaires totales : les dépenses militaires. Comme l'a noté le fondateur de l'évaluation nette Andrew Marshall, les mesures générales de l'efficacité sont « utiles pour comprendre les tendances à long terme », même si « elles échouent clairement en tant que prédicteurs des résultats des opérations militaires entre les forces opposées ». En revanche, les dépenses militaires sont souvent masquées par « une double comptabilité, l'utilisation de financements hors budget, des catégories budgétaires très agrégées, l'aide à la sécurité et la manipulation gouvernementale des devises », ainsi que des niveaux de vie différents. Les dépenses militaires sont également sujettes à d'importantes fluctuations annuelles.

En plus d'être utilisé pour des comparaisons entre pays - qui peuvent être effectuées de 1970 à 2015 pour plus de 180 pays utilisant cet indice - le MEI peut être utilisé pour des comparaisons intra-nationales en visualisant les données au niveau du domaine ou même du type d'équipement. . Comme les analystes de RAND l'ont noté à propos de l'importance du suivi des dépenses militaires désagrégées, « Comprendre la répartition des ressources entre les différents services fournit une vue préliminaire de la compréhension d'un pays de l'importance des menaces relatives, de sa structure souhaitée de compétence au combat, ainsi que de la pouvoir relatif de diverses bureaucraties militaires.

Méthodologie

Le MEI est le produit d'un projet de recherche et d'analyse pluriannuel visant à mieux comprendre la répartition relative de la capacité militaire dans le monde dans le passé, le présent et l'avenir. Les lignes d'effort individuelles dans notre processus de construction d'indices ont inclus la collecte de données, le nettoyage, l'agrégation, le regroupement générationnel, la pondération et les analyses de sensibilité.

En collectant et en nettoyant les données sous-jacentes sur les stocks d'équipements militaires lourds, notre équipe de recherche a établi des techniques pour catégoriser uniformément les informations d'une manière cohérente de 1970 à 2015 et pouvant être analysées sous forme de panel. En partie, cela a nécessité la reclassification de nombreux équipements en groupes différents des catégorisations dans divers IISS Équilibre militaire tomes.

Ensuite, les données ont été agrégées à plusieurs niveaux. Premièrement, les variantes d'équipement ont été regroupées dans des familles d'équipement plus larges. Par exemple, un F-35A, un F-35B et un F-35C seraient tous classés simplement comme un F-35. Pour certains systèmes, ce jugement requis appelle à savoir si une variante donnée pourrait être regroupée de manière appropriée dans une famille plus large ou si elle devrait être classée comme sa propre famille compte tenu de ses caractéristiques uniques sur le plan générationnel. Les familles d'équipements ont ensuite été affectées à des sous-types d'équipements (par exemple, les F-15, F-22 et F-35 appartiennent au sous-type d'équipement « Fighter ») et, au sein de ces sous-types d'équipements, regroupés en générations. Ces compartiments générationnels ont été dérivés de documents de recherche open source, d'une méthodologie de compartimentage développée par le Pardee Center et de la sollicitation d'opinions d'experts en la matière. En bref, les générations ont été attribuées en fonction des caractéristiques spécifiques de l'équipement dans quatre grandes catégories (attaque, défense, maniabilité et capacités du réseau) et des seuils spécifiques à la catégorie. Un exemple pour les dragueurs de mines est présenté ci-dessous dans le tableau 2.

Tableau 2 : Matrice de regroupement générationnelle pour les dragueurs de mines.
Remarque : AMASS = Australian Minesweeping and Support System, un mécanisme impliquant des cylindres magnétiques flottants capables d'imiter les signatures électromagnétiques de divers navires.

Une fois agrégés en plus de quatre douzaines de sous-types d'équipement, chacun avec ses propres catégories générationnelles uniques, les membres de l'équipe de recherche du Pardee Center ont ensuite évalué qualitativement la valeur relative de chaque point de données. Au début, un modèle de jouet a été créé, dans lequel les poids étaient attribués et réattribués de manière itérative en fonction de jugements heuristiques et de comparaisons avec un indice pondéré de manière égale (c'est-à-dire le nombre d'équipements bruts). Nous avons ensuite effectué une analyse de sensibilité pour ces poids, en comparant le MEI dans sa forme actuelle avec des versions réduites en utilisant d'autres poids attribués par des experts, tels que le système de notation des forces terrestres développé par le système d'évaluation stratégique de la RAND Corporation et l'agence d'analyse des concepts de l'armée américaine (maintenant les scores de l'indice d'efficacité des armes du Center for Army Analysis). (Il est important de se rappeler, cependant, que notre indice, contrairement à ces mesures, n'est pas destiné à mesurer directement la puissance de combat.) Nous avons également comparé le MEI avec la somme décalée de dix ans des dépenses militaires traitée avec un taux annuel de 10 % taux d'actualisation (dérivé de l'analyse de RAND). Un exemple des poids résultants dérivés de ce processus est présenté dans le tableau 3.

Tableau 3 : Extrait du schéma de pondération du domaine aérien.
Remarque : Voir le tableau 1 pour l'explication des abréviations.

Analyse préliminaire

Bien que nous continuions d'affiner l'IEDM, nos travaux jusqu'à présent ont révélé plusieurs tendances générales. Il s'agit notamment de la domination persistante des États-Unis en termes de stock total, généralement pondéré, d'équipements militaires lourds et moyens (dépassant un quart du total mondial annuel des années 1970 à 2015) et la montée progressive de la Chine. (Nous soupçonnons que les données des cinq dernières années montreront une augmentation considérablement plus rapide compte tenu de l'introduction d'avions tels que le Chengdu J-20.) Pendant ce temps, le déclin précipité de la Russie depuis 1991, tout en reflétant la reprise du pays après la chute du l'Union soviétique et le déclassement progressif des équipements de l'ère soviétique, est peut-être quelque peu exagéré étant donné que notre indice ne rend pas compte de la réinvention partielle de l'armée russe dans les années qui ont suivi ses luttes lors de l'invasion de la Géorgie en 2008. Ces tendances sont illustrées ci-dessous dans la figure 1, qui présente la part des pays dans le total annuel mondial des stocks d'équipements militaires moyens et lourds généralement pondérés.

Figure 1 : Part mondiale des pays dans la somme des scores MEI au cours d'une année donnée.

En 2015, les États-Unis possédaient une part importante des stocks mondiaux pondérés d'équipements moyens et lourds à 30,5%, une valeur plus du triple de celle de la Russie (9,1%) ou de la Chine (8,7%). En revanche, la part mondiale des dépenses militaires de ces pays en 2015 était la suivante : les États-Unis ont dépensé 36 % de la part mondiale, la Chine 13 % et la Russie 4 %. La plus grande disparité, cependant, est attribuée à l'Arabie saoudite, qui représentait 5,2 % des dépenses militaires mondiales en 2015 mais ne possédait que 1 % du stock mondial pondéré d'équipements militaires moyens et lourds.

Bien que les valeurs présentées dans la figure 1 soient certainement sujettes à débat étant donné les divergences d'opinion potentielles sur les décisions de pondération et de pondération générationnelles, elles mettent néanmoins en évidence des modèles historiques intéressants. Par exemple, la figure 2 illustre comment les flottes de sous-marins américains et soviétiques ont augmenté vers la fin de la guerre froide. La montée en puissance de la Chine au cours des deux dernières décennies est également évidente.

Figure 2 : Somme des scores normalisés de l'indice d'équipement militaire pour les flottes de sous-marins de certains pays, où une valeur de un est égale au plus grand stock MEI enregistré entre 1970 et 2015.

Dans le même temps, la figure 3, qui évalue le MEI en termes relatifs, montre que la part mondiale des stocks pondérés des flottes de sous-marins des États-Unis est restée relativement stable (entre 30 et 40 pour cent du total mondial).

Figure 3 : Part relative du stock d'équipements sous-marins au fil du temps pour certains pays.

En plus de permettre des comparaisons entre pays, le MEI peut également être utilisé pour suivre les changements technologiques mondiaux. Dans la figure 4, par exemple, notez que de nombreux pays sont passés d'importants stocks de chars de combat principaux relativement peu technologiques à des stocks plus petits de chars de haute technologie beaucoup plus performants. Pourtant, une poignée de pays maintenaient toujours des stocks de chars de combat principaux de génération 1 en 2015, y compris la possession par l'Iran de M47 Pattons, des chars qui ont été déployés pour la première fois au début des années 1950.

Figure 4 : Somme des scores normalisés de l'indice d'équipement militaire pour les principaux chars de combat par génération technologique, où une valeur de un est égale au plus grand stock MEI enregistré entre 1970 et 2015.

Une invitation à collaborer

Le travail que nous avons présenté ici est l'ouverture de ce que nous espérons être une conversation plus large avec des analystes professionnels et amateurs de la communauté de la sécurité nationale – des lecteurs du Modern War Institute comme vous. Vous pouvez consulter un échantillon des données ici. Pour ceux qui souhaitent fournir des commentaires, nous aimerions avoir de vos nouvelles directement. Nous cherchons à identifier des partenaires de collaboration potentiels pour continuer à faire avancer cette recherche. Semblable à notre utilisation prévue de l'IEDM dans l'élaboration et l'analyse des politiques de sécurité nationale, nous considérons cette recherche comme le début et non la fin.

Déclaration de divulgation : Ce travail a été financé par le United States Army Future Studies Group.

Collin Meisel (Twitter : @collinmeisel) est le responsable du programme de diplométrie au Frederick S. Pardee Center for International Futures et un vétéran de l'US Air Force. Chez Pardee, Collin travaille avec l'équipe Diplometrics et ses partenaires pour mieux comprendre et mesurer les relations dans le système international grâce à la collecte de données, la création d'outils et l'analyse.

Jonathan D. Moyer (Twitter : @moyerjonathan) est professeur adjoint à la Josef Korbel School of International Studies de l'Université de Denver et directeur du Frederick S. Pardee Center for International Futures. Au cours des quinze dernières années, Jonathan a utilisé des méthodes d'analyse et de prévision des politiques intégrées à long terme pour éclairer les efforts de planification stratégique des gouvernements, des organisations internationales et des entreprises du monde entier, y compris des sponsors tels que l'USAID, le Nouveau partenariat de l'Union africaine pour l'Afrique développement et le Programme des Nations Unies pour le développement.

Sarah Guberlet est une ancienne assistante de recherche au Frederick S. Pardee Center for International Futures et ancienne chef de projet Military Equipment Index.

Les opinions exprimées sont celles des auteurs et ne reflètent pas la position officielle de l'Académie militaire des États-Unis, du Département de l'armée ou du Département de la défense.


Avant de comprendre ce qu'est le monde ou l'espace oculaire, qu'est-ce qu'un espace ?

Dans un sens abstrait, un espace géométrique (par exemple, l'espace euclidien) est une étendue illimitée où les objets ont tendance à exister. L'espace définit les propriétés de base que les objets vivant dans cet espace doivent satisfaire. Par exemple dans l'espace euclidien distance est défini comme Sqrt( produit scalaire vectoriel avec lui-même) .

La plupart des gens ont tendance à mélanger entre la définition de l'espace et du système de coordonnées. Un espace comme espace euclidien définit les propriétés mais ne définit pas le système de coordonnées, Je dirais que "l'espace oculaire" est mieux appelé "coordonnées oculaires".

En infographie, nous traitons presque exclusivement de l'espace euclidien. Lorsque vous définissez un sommet de (X,Y,Z) dans l'espace euclidien, cela ne signifie rien comme pour nous.

Une définition plus tangible serait de le définir par rapport à un système de coordonnées. Par exemple, un sommet (X,Y,Z) est relatif aux coordonnées de l'œil. Donc si Vertex=(0,2,3) par rapport aux coordonnées de l'œil. cela signifie que ce sommet est :

  • 0 dans la direction X à partir de la position X de l'œil.
  • 2 dans la direction Y à partir de la position Y de l'œil.
  • 3 dans la direction Z à partir de la position Z de l'œil.
  • Et la distance au sommet de l'œil est l'unité sqrt(0^2 + 2^2 + 3^2)=sqrt(13).

Mais qu'est-ce que les coordonnées oculaires et comment définissons-nous un système de coordonnées ?

Nous définissons un système de coordonnées en fournissant trois vecteurs de base orthogonaux (lire : unité de longueur et perpendiculaire) qui ressemblent à l'orientation, et une position (translation).

Donc, si la caméra dans openGL a été définie (notez que cela est relatif aux coordonnées du monde):

Cela signifie que le spectateur se place à (0,3,10) du monde (0,0,0) et que sa droite est alignée avec l'axe X du monde, et son avant est inversé par rapport au monde Z, et son haut est aligné au Monde Y.

Mais vous avez trop parlé des coordonnées oculaires, qu'est-ce que les coordonnées mondiales ?

Les coordonnées mondiales ne sont qu'un système de coordonnées parent fixe. Les coordonnées oculaires elles-mêmes devraient être relatives à quelque chose. C'est le système de coordonnées global par rapport auquel tout est défini.

World Coordinate a un fixe je=(1,0,0) dans la direction X, j=(0,1,0) dans la direction Y, k=(0,0,1) dans la direction Z. Ce sont les vecteurs qui définissent le système de coordonnées cartésiennes.

Mais cela n'a pas de sens ! Quelles sont les coordonnées par rapport auxquelles les coordonnées mondiales sont définies ?

Je dirais que c'est relatif à lui-même, en réalité ce serait le centre de l'univers (mais c'est trop simpliste).

Mais dans un sens plus pratique, je dirais qu'en infographie, il est pratique de définir l'espace mondial comme le centre de l'univers (monde du jeu) afin que nous puissions imaginer comment les choses peuvent être liées les unes aux autres.


Qu'est-ce qu'un diagramme de Gantt ?

Un diagramme de Gantt, couramment utilisé dans la gestion de projet, est l'un des moyens les plus populaires et les plus utiles de montrer les activités (tâches ou événements) affichées en fonction du temps. Sur la gauche du graphique se trouve une liste des activités et en haut se trouve une échelle de temps appropriée. Chaque activité est représentée par une barre dont la position et la longueur de la barre reflètent la date de début, la durée et la date de fin de l'activité. Cela vous permet de voir en un coup d'œil :

  • Quelles sont les différentes activités
  • Quand chaque activité commence et se termine
  • Combien de temps chaque activité est prévue pour durer
  • Où les activités se chevauchent avec d'autres activités, et dans quelle mesure
  • La date de début et de fin de l'ensemble du projet

Pour résumer, un diagramme de Gantt vous montre ce qui doit être fait (les activités) et quand (le calendrier).


Quelles sont les règles pour interpréter une œuvre musicale ou littéraire, ou projeter un film ou une vidéo, en classe ?

Outre l'utilisation équitable, la Loi sur le droit d'auteur contient une disposition spéciale, l'article 110(1), qui permet aux enseignants d'exécuter ou d'afficher une œuvre protégée par le droit d'auteur, en direct ou enregistrée, « dans le cadre d'activités d'enseignement en face à face. . . dans une salle de classe ou un lieu similaire consacré à l'instruction. Ainsi, vous pouvez utiliser des enregistrements sonores, des performances en direct, des lectures, des films ou des bandes vidéo, des diapositives ou toute autre performance ou présentation d'œuvres protégées sans restriction et sans autorisation, tant que vous enseignez aux étudiants dans une salle de classe ou un lieu similaire tel qu'un studio . La seule exception est que vous ne pouvez pas utiliser un film ou une bande vidéo dont vous avez des raisons de penser qu'il s'agit d'une copie illégale.

Notez, cependant, que cette dispense spéciale en classe s'applique uniquement aux performances et à l'affichage. Il n'autorise pas la réalisation de copies. Elle ne semble pas non plus vous permettre de mettre du matériel sur votre page Web, même à des fins de cours, car elle exige que la performance ou l'affichage se produise "au cours d'un enseignement en face à face... dans une salle de classe ou un lieu similaire consacré à l'instruction." De même, si vous souhaitez enregistrer sur bande vidéo une session de classe au cours de laquelle vous avez joué ou affiché du matériel protégé par des droits d'auteur et transmettre la vidéo à des étudiants distants (par exemple, via le streaming), un autre ensemble de considérations entre en jeu. Modifié par la loi TEACH en 2002, l'article 110(2) de la loi sur le droit d'auteur prévoit une exemption spéciale pour de telles activités d'apprentissage à distance. L'exemption est conditionnée à un ensemble détaillé d'exigences. Vous pouvez trouver des descriptions utiles des exigences de la loi TEACH sur http://www.ala.org/advocacy/copyright/teachact/distanceeducation. Si vous ne pouvez pas répondre à toutes les exigences de la loi TEACH, vous pourrez peut-être vous fier à une utilisation équitable, si le test statutaire des quatre facteurs est satisfait, ou vous devriez obtenir la permission d'utiliser le matériel protégé par le droit d'auteur dans la vidéo de votre session de classe.


Centre de conception CapTIvate™ Démarrage rapide¶

Cette section est destinée à fournir un aperçu très basique et rapide de la façon d'utiliser le centre de conception CapTIvate™ pour définir une conception tactile capacitive typique, générer du code source et communiquer avec la cible. Pour plus d'informations détaillées sur les fonctionnalités de CapTIvate™ Design Center, reportez-vous au guide de l'utilisateur de CapTIvate™ Design Center.

Lorsque vous êtes prêt à commencer votre propre conception, consultez la section du guide d'atelier, Création d'un nouveau projet de conception de capteur.

Démarrer le Design Center¶

Double-cliquez sur le raccourci « CapTIvateDesignCenter » du bureau pour démarrer l'outil.

Fig. 125 Raccourci du centre de conception CapTIvate™ ¶

Créer un nouveau projet¶

Utilisez le menu Fichier->Projet Nouveau pour créer un nouveau projet

Placer les capteurs¶

Placez un capteur coulissant dans la zone de conception¶

Sélectionnez le curseur en cliquant sur l'icône du capteur. Placez le nouvel objet en cliquant sur le canevas de conception.

Fig. 127 Placement d'un capteur coulissant ¶

Affichez les propriétés du capteur pour le configurer comme un curseur auto-capacitif avec 4 éléments.

Double-cliquez sur l'objet curseur dans la zone de conception pour afficher ses propriétés.

Configurez le capteur pour qu'il ait 4 éléments et fermez la boîte de dialogue des propriétés.

Fig. 128 Modifier les propriétés du capteur ¶

Placer un capteur de roue dans la zone de conception¶

Sélectionnez la roue en cliquant sur l'icône du capteur. Placez le nouvel objet en cliquant sur le canevas de conception.

Fig. 129 Placement d'un capteur de roue ¶

Affichez les propriétés du capteur pour le configurer pour qu'il soit une roue auto-capacitive à 3 éléments.

Double-cliquez sur l'objet roue dans la zone de conception pour afficher ses propriétés.

Configurez le capteur pour qu'il ait 3 éléments et fermez la boîte de dialogue des propriétés.

Fig. 130 Modifier les propriétés du capteur ¶

Placez un capteur de groupe de boutons (clavier) dans la zone de conception¶

Sélectionnez le groupe de boutons en cliquant sur l'icône du capteur. Placez le nouvel objet en cliquant sur le canevas de conception.

Fig. 131 Placer le capteur de groupe de boutons ¶

Affichez les propriétés du capteur pour le configurer comme un groupe de boutons à capacité propre avec 8 éléments.

Double-cliquez sur l'objet groupe de boutons dans la zone de conception pour afficher ses propriétés.

Configurez le capteur pour avoir 8 éléments et fermez la boîte de dialogue des propriétés.

Fig. 132 Modifier les propriétés du capteur ¶

Placez un capteur de proximité dans la zone de conception design

Sélectionnez le capteur de proximité en cliquant sur l'icône du capteur. Placez le nouvel objet en cliquant sur le canevas de conception.

Fig. 133 Placer le capteur de proximité ¶

Affichez les propriétés du capteur pour le configurer pour qu'il soit une proximité à capacité propre avec 1 élément.

Double-cliquez sur l'objet de proximité dans la zone de conception pour afficher ses propriétés.

Configurez le capteur pour qu'il ait 1 élément et fermez la boîte de dialogue des propriétés.

Fig. 134 Modifier les propriétés du capteur ¶

Placer le contrôleur MSP430¶

Sélectionnez le MSP430 en cliquant sur l'icône MCU. Placez le nouvel objet en cliquant sur le canevas de conception.

Connectez les capteurs aux ports d'E/S tactiles capacitifs du MSP430¶

Double-cliquez sur l'objet contrôleur MSP430 dans la zone de conception pour afficher ses propriétés.

Configurez le contrôleur MSP430 en tant que MSP430FR2633IRHB (boîtier QFN à 32 broches)

Notez que la LED "Erreurs" est rouge, indiquant qu'il y a encore des ports de capteur non connectés.

Fig. 136 Afficher les propriétés du MCU ¶

Sélectionnez le bouton « Attribution automatique » pour attribuer automatiquement tous les ports de capteur aux ports appropriés sur le MSP430. Notez que la LED « Erreurs » devient verte et « OK », indiquant que tous les ports du capteur ont été attribués aux ports du contrôleur.

Fig. 137 Fonction d'attribution automatique CapTIvate™ ¶

Générer le code source¶

Sélectionnez le bouton « Générer le code » dans la boîte de dialogue des propriétés du contrôleur MSP430.

Fig. 138 Bouton Générer le code source ¶

Sélectionnez « Créer un nouveau projet » puis « OK » dans la boîte de dialogue indiquant que vous souhaitez créer un nouveau projet complet.

Fig. 139 Sélectionner un nouveau projet ¶

Sélectionnez « OK » pour conserver l'emplacement par défaut du code généré.

Fig. 140 Utiliser l'emplacement par défaut ¶

Chargez et exécutez le projet de firmware généré par MSP430FR26xx/25xx à l'aide de CCS ou IAR I

Pour plus d'informations sur l'importation/l'ouverture d'un projet dans CCS ou IAR et sur l'exécution des projets générés, veuillez vous référer à Chargement et exécution de projets générés

Communiquer avec la cible¶

Cette section montre quelques exemples de la façon dont les données lues à partir de la cible sur HID sont affichées.

Notez que vous ne verrez aucune donnée de capteur valide à moins que votre carte cible ne soit connectée à une carte de capteur qui correspond à la configuration créée dans l'interface graphique de Design Center.

Démarrer la communication HID avec la cible¶

Activez la communication HID en sélectionnant le menu "Communications->Connect". Vérifiez que le périphérique HID est connecté en affichant le message dans le coin inférieur gauche de la fenêtre principale.

Fig. 141 État de la connexion HID ¶

Afficher les données du capteur¶

Double-cliquez sur l'objet curseur pour afficher la boîte de dialogue des propriétés. Les onglets sont utilisés pour afficher des graphiques des données du capteur en temps réel, et également pour permettre la lecture et la modification des paramètres de configuration et de réglage du capteur. La « position » du capteur est également reflétée dans l'affichage.

Fig. 142 Diagramme à barres des canaux ¶

Fig. 143 Graphique de l'oscilloscope ¶

Ajuster les performances du capteur¶

Les capteurs peuvent être configurés en temps réel à l'aide du panneau Tuning. Modifiez le paramètre souhaité puis cliquez sur « Appliquer ». Tous les paramètres sont décrits directement dans le panneau pour une facilité d'utilisation. Les paramètres du capteur ne peuvent être modifiés que lorsque la cible est connectée.

Fig. 145 Paramètres de réglage du capteur ¶

Il est possible de « désancrer » n'importe laquelle des vues de réglage pour permettre une visualisation plus facile d'une ou plusieurs vues à la fois. Cliquez et faites glisser la poignée à gauche de la vue pour la positionner selon vos besoins. La fermeture d'une fenêtre non ancrée la renvoie au volet d'onglets.

Pour plus d'informations détaillées sur les fonctionnalités de CapTIvate™ Design Center, reportez-vous au guide de l'utilisateur de CapTIvate™ Design Center.

Lorsque vous êtes prêt à commencer votre propre conception, consultez la section du guide d'atelier, Création d'un nouveau projet de conception de capteur.


Existe-t-il un moyen de définir la position relative des éléments dans le compositeur d'impression ? - Systèmes d'information géographique

Cliquez sur si vous aimez le projet. Les demandes de tirage sont très appréciées.

Q. Qu'est-ce que PHP ?

PHP ou Hypertext Pre-processor est un langage de programmation à usage général écrit en C et utilisé par les développeurs pour créer des applications Web dynamiques. PHP prend en charge à la fois la programmation procédurale et la programmation orientée objet.

Les fichiers PHP ont généralement l'extension .php et le code PHP est généralement écrit entre <?php . ?> balises. Un programme hello world est :

Q. PHP est-il sensible à la casse ?

En PHP, les noms de variables sont sensibles à la casse mais les noms de fonctions ne sont pas sensibles à la casse. Si nous définissons le nom de la fonction en minuscules, mais en les appelant en majuscules, cela fonctionnera. Ainsi, PHP peut être appelé comme un langage partiellement sensible à la casse.

Q. PHP est-il un langage faiblement typé ?

Oui, car nous n'avons pas besoin de mentionner le type de données des variables lors de sa déclaration. Les variables sont automatiquement transtypées lorsque les valeurs y sont insérées.

Q. Comment installer PHP ?

PHP est un langage multiplateforme et nous avons plusieurs choix pour installer PHP sur différents systèmes d'exploitation. Nous pouvons télécharger PHP à partir du site officiel et l'installer ou nous pouvons utiliser des ensembles populaires tels que XAMPP et WAMP pour Windows, LAMP pour Linux et MAMP pour iOS.

Q. Qu'est-ce que le compositeur ?

Composer is an application-level package manager for the PHP applications that provides a standard system for managing dependencies of different libraries and others. Some of the features of composer are:

  • dependency resolution for PHP packages
  • keeping all packages updated
  • support autoloading out of the box
  • hooks to execute pre and post commands

To manage dependencies, composer uses composer.json file, which looks like:

Q. How to check current PHP version and other information about our system?

We can use function php_info() inside scripts and using command php -v from command line.

Q. What is interpreter?

PHP interpreter executes command from a PHP script line by line and provides the output to the executer.

Q. Is PHP compiled or interpreted?

Both, PHP is compiled down to an intermediate bytecode that is then interpreted by the runtime engine.

PHP compiler is responsible for:

  • convert code to a bytecode that can be used by runtime engine.
  • resolve functions, names and classes names
  • creating symbol table

then, PHP Interpretor does:

Q. Explain datatypes in PHP?

Entier - whole numbers Chaîne de caractères - alphanumeric text Flotter - decimal point numbers(also called double) booléen - represents logical values(TRUE or FALSE) Array - collection of elements having same datatype Objet - stores data and information on how to process that data NUL - no value Ressource - stores a reference to functions and resources external to PHP

Q. What are rules for naming a variable?

Rules for naming a variable are following −

  • Variable names must begin with a letter or underscore character.
  • A variable name can consist of numbers, letters, underscores but you cannot use characters like + , - , % , ( , ) . & , etc.

Q. How will you define a constant?

To define a constant you have to use define() function and to retrieve the value of a constant, you have to simply specifying its name. Unlike with variables, you do not need to have a constant with a $.

Q. What is the purpose of constant() function?

As indicated by the name, this function will return the value of the constant. This is useful when you want to retrieve value of a constant, but you do not know its name, i.e. It is stored in a variable or returned by a function.

Only scalar data (boolean, integer, float and string) can be contained in constants.

Q. What are the differences between constants and variables?

  • There is no need to write a dollar sign ($) before a constant, where as in variable one has to write a dollar sign.
  • Constants cannot be defined by simple assignment, they may only be defined using the define() function.
  • Constants may be defined and accessed anywhere without regard to variable scoping rules.
  • Once the constants have been set, may not be redefined or undefined.

Q. What are the different scopes of variables?

Variable scope is known as its boundary within which it can be visible or accessed from code. In other words, it is the context within which a variable is defined. There are only two scopes available in PHP namely local and global scopes.

  • Local variables (local scope)
  • Global variables (special global scope)
  • Static variables (local scope)
  • Function parameters (local scope)

When a variable is accessed outside its scope it will cause PHP error undefined variable.

Q. What is string?

A string is a data type used to represent text. It is a set of characters that can also contain spaces and numbers. For example, the word "Bootsity" and the phrase "Bootsity PHP Tutorials" are both strings. To declare strings we can write:

Q. What is the difference between single quoted string and double quoted string?

Singly quoted strings are treated almost literally, whereas doubly quoted strings replace variables with their values as well as specially interpreting certain character sequences.

Q. How can you convert string into array elements?

explode() function breaks a string into an array. Each of the array elements is a substring of string formed by splitting it on boundaries formed by the string delimiter.

Q. How can you convert array into strings?

The implode() function returns a string from the elements of an array. The implode() function accept its parameters in either order. The separator parameter of implode() is optional. However, it is recommended to always use two parameters for backwards compatibility.

Q. How can you concatenate two or more strings?

To concatenate two string variables together, use the dot (.) operator.

Q. Differentiate between echo and print()?

echo and print are more or less the same. They are both used to output data to the screen.

  • echo has no return value while print has a return value of 1 so it can be used in expressions.
  • echo can take multiple parameters (although such usage is rare) while print can take one argument.
  • echo is faster than print.

Q. Explain static variables?

The variables declared as function parameters, which are destroyed on the function's exit, a static variable will not lose its value when the function exits and will still hold that value should the function be called again.

Q. What are PHP magic constants?

PHP provides a large number of predefined constants to any script which it runs known as magic constants. PHP magic constants start and end with underscore _

_LINE_ gives the current line number of the file.

_FILE_ denotes the full path and filename of the file. If used inside an include,the name of the included file is returned. Since PHP 4.0.2, _FILE_ always contains an absolute path whereas in older versions it contained relative path under some circumstances.

Q. Why do we need trim() function?

The trim() function removes whitespaces or other predefined characters from either of the sides(beginning and ending) of a string.

Q. Can you count the number of words in a string?

The str_word_count() function counts the number of words in a string.

Q. How to reverse a string?

Q. How to find the position of a specific text in a string?

strpos() returns the position of the first occurrence of a string inside another string (case-sensitive). Also note that string positions start at 0, and not 1.

Q. How can you change cases in a string?

The strtoupper() function converts a string to uppercase and strtolower() function converts a string to lowercase.

Q. Can you replace a substring?

The built-in function str_replace() replaces some characters in a string (case-sensitive).

Here we have replaced the characters "world" in the string "Hello world!" with "Peter":

Q. Differentiate between str_replace() and str_ireplace()?

The str_ireplace() function php is not sensitive rule and will treat "abc","ABC" all combination as a single. The str_ireplace() will be less faster becuse it need to convert to the same case. But the difference will be very little event in a large data. The str_replace() function is a case sensitive which means that it replaces the string that exactly matches the string exactly.

Q. Differentiate between printf() and print()?

printf() outputs a formatted string whereas print() outputs one or more strings.

Q. Differentiate between strstr() & strchr() functions?

Both the functions finds the first occurrence of a string inside another string so there is no difference. both are alias of each other.

Q. Differentiate between strstr() and stristr()?

stristr() and strstr() both finds the first occurrence of a string inside another string where stristr is case-insensitive but strstr() is case sensitive.

Q. Can you encode a string in PHP?

string urlencode (string $str ) function is used to encode a string in PHP. This function is convenient when encoding a string to be used in a query part of a URL, as a convenient way to pass variables to the next page.

Q. Differentiate between strcmp() and strncmp()?

Both the functions compare 2 strings(case-sensitive) but strncmp() compares the strings upto N numbers.

Q. Is it possible to remove the HTML tags from data?

The strip_tags() function strips a string from HTML, XML, and PHP tags.

Q. What is the use of gettype() in PHP?

The gettype() is a predefined PHP function which is used to know the datatype of any variable.

Q. What is heredoc and nowdoc?

heredoc and nowdoc allows strings to be defined in more than one line without string concatenation. A nowdoc is specified similarly to a heredoc, but no parsing is done inside a nowdoc. The construct is ideal for embedding PHP code or other large blocks of text without the need for escaping.

Q. Explain if-else statement?

The if statement is a way to make decisions based upon the result of a condition. Par exemple:

Q. Explain switch statement with example?

Switch statement works same as if statements. However the difference is that they can check for multiple values. Also, you can do the same with multiple if..else statements, but this is not always the best approach.

Q. Differentiate between switch and if-else statement?

Check the testing expression: An if-then-else statement can test expressions based on ranges of values or conditions, whereas a switch statement tests expressions based only on a single integer, enumerated value, or string.

switch is better for multi way branching: When compiler compiles a switch statement, it will inspect each of the case constants and create a jump table that it will use for selecting the path of execution depending on the value of the expression. Therefore, if we need to select among a large group of values, a switch statement will run much faster than the equivalent logic coded using a sequence of if-elses. The compiler can do this because it knows that the case constants are all the same type and simply must be compared for equality with the switch expression, while in case of if expressions, the compiler has no such knowledge.

if-else is better for boolean values: if-else conditional branches are great for variable conditions that result into a boolean, whereas switch statements are great for fixed data values.

La vitesse: A switch statement might prove to be faster sometimes when there are more if-else in if-else ladder.

Clarity in readability: A switch looks much cleaner when you have to combine cases. if-else are quite vulnerable to errors too. Missing an else statement can land you up in havoc. Adding/removing labels is also easier with a switch and makes your code significantly easier to change and maintain.

Q. What are the different types of operators?

  1. Opérateurs arithmétiques
  2. Opérateurs d'affectation
  3. Logical operators
  4. Opérateurs de comparaison
  5. Opérateurs unaires

Q. Explain arithmetic operators?

Opérateur Utilisation
+ to add numbers
- subtract two numbers
* to multiply two numbers
/ to divide one number by another
% to divide two numbers and return the remainder

Q. Explain the assignment operators?

stores the value 10 in the variable $a

Q. Explain the logical operators?

Opérateur Utilisation
&& It returns true, if both expression1 and expression2 are true.
! It returns true, if expression is false.
`

Q. Explain the unary operators?

Opérateur Utilisation
++ Used to increment the value of an operand by 1.
-- Used to decrement the value of an operand by 1.

Q. Explain the comparison operators?

Opérateur Utilisation
== Equals
!= Doesn't equal
> Is greater than
< Is less than
>= Is greater than or equal to
<= Is less than or equal to
=== Identical (same value and same type)
!== Not Identical

Q. Differentiate between === and == operators in PHP?

The operator == casts between two different types if they are different, while the === operator performs a typesafe comparison that means it will only return true if both operands have the same type and the same value.

Q. Explain pre and post increment with example?

Opérateur Utilisation Explication
Pre-increment ++$a increments $a by one, then returns $a.
Post-increment $a++ returns $a, then increments $a by one.
Pre-decrement --$a decrements $a by one, then returns $a.
Post-decrement $a-- returns $a, then decrements $a by one.

Q. What do you mean by operator overloading?

Operator overloading (less commonly known as ad-hoc polymorphism) is a specific case of polymorphism (part of the OO nature of the language) in which some or all operators like +, = or == are treated as polymorphic functions and as such have different behaviors depending on the types of its arguments. Operator overloading is usually only syntactic sugar. It can easily be emulated using function calls.

Q. How many loops are available in PHP?

There are several types of loops in PHP.

Q. Explain while loop with example?

  • The while loop evaluates the test expression.
  • If the test expression is true (nonzero), codes inside the body of while loop are executed. The test expression is evaluated again. The process goes on until the test expression is false.
  • When the test expression is false, the while loop is terminated.

Q. Explain do-while loop with example?

The do. while loop will always execute the block of code once, it will then check the condition, and repeat the loop while the specified condition is true.

In the above example, first a variable $x is set to 1 ($x = 1). Then, the do while loop will write some output, and then increment the variable $x with 1. Then the condition is checked (is $x less than, or equal to 5?), and the loop will continue to run as long as $x is less than, or equal to 5.

Q. Explain for loop with example?

  • init counter: Initialize the loop counter value
  • test counter: Evaluated for each loop iteration. If it evaluates to TRUE, the loop continues. If it evaluates to FALSE, the loop ends.
  • increment/decrement counter: Increases/decreases the loop counter value.

Q. Explain foreach loop with example?

The foreach provides an easy way to iterate over associative arrays. foreach works only on arrays and objects, and will issue an error when you try to use it on a variable with a different data type or an uninitialized variable. There are two syntaxes:

The first foreach loops over the array given by array_expression. On each iteration, the value of the current element is assigned to $value and the internal array pointer is advanced by one (so on the next iteration, you'll be looking at the next element).

The second form will additionally assign the current element's key to the $key variable on each iteration.

Q. How can you implement an infinite loop in PHP?

This 3 loops can be used to achieve infinite loops in PHP.

In all the above 3 cases, the loops will execute infinite times as the condition is always true i.e., it returns 1 for while and do-while loops and no ending condition for the for loop.

Q. How can you implement recursion in PHP?

Recursion is the phenomenon of calling a function from within itself.

Q. Explain break statement with example?

When a break statement is encountered inside a loop, the loop is immediately terminated and the program control resumes at the next statement following the loop. It can be used to terminate a case in the switch statement.

Q. Explain continue statement with example?

The continue statement is used inside loops. When a continue statement is encountered inside a loop, control jumps to the beginning of the loop for next iteration, skipping the execution of statements inside the body of loop for the current iteration.

Q. Give example of declaration in php?

The declare construct is used to set execution directives for a block of code. The syntax of declare is similar to the syntax of other flow control constructs:

Q. What is require in PHP?

Require is identical to include except upon failure it will also produce a fatal E_COMPILE_ERROR level error. In other words, it will halt the script whereas include only emits a warning (E_WARNING) which allows the script to continue.

Q. What is an array?

An array is a data structure which is a collection of elements having same datatype stored in a contiguous memory location.

There are 3 types of arrays:

Indexed or Numeric Arrays : An array with a numeric index where values are stored linearly.

Associative Arrays : An array with a string index where instead of linear storage, each value can be assigned a specific key.

Multidimensional Arrays : An array which contains single or multiple array within it and can be accessed via multiple indices.


References

[1] Julia Angwin, Jeff Larson, Surya Mattu, and Lauren Kirchner. “Machine bias: There’s software used across the country to predict future criminals, and it’s biased against blacks”. ProPublica (May 23, 2016).

[5] Ricardo Baeza-Yates, “Bias on the Web”. Communications of the ACM, June 2018, Vol. 61 №6, Pages 54–61.

[7] Olteanu, Alexandra and Castillo, Carlos and Diaz, Fernando and Kiciman, Emre, Social Data: Biases, Methodological Pitfalls, and Ethical Boundaries (December 20, 2016). Frontiers in Big Data 2:13. doi: 10.3389/fdata.2019.00013. Available at SSRN: https://ssrn.com/abstract=2886526or http://dx.doi.org/10.2139/ssrn.2886526

[8] Cheney, Allison J.B., Brandon M. Stewart, and Barbara E. Engelhardt, “How Algorithmic Confounding in Recommendation Systems Increases Homogeneity and Decreases Utility,” Proceedings of the 12th ACM Conference on Recommender Systems, Pages 224–232

[9] Schnabel, Tobias., Adith Swaminathan, Ashudeep Singh, Navin Chandak, Thorsten Joachims, “Recommendations as treatments: Debiasing learning and evaluation”, arXiv preprint arXiv:1602.05352.

[11] David Lazer, Ryan Kennedy, Gary King, Alessandro Vespignani, “The Parable of Google Flu: Traps in Big Data Analysis,” SCIENCE VOL 343, 14 MARCH 2014

[12] A. Torralba, A. Efros. Unbiased Look at Dataset Bias. IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2011.

[14] Rich Caruana, Paul Koch, Yin Lou, Marc Sturm, Johannes Gehrke, Noemie Elhadad., “Intelligible Models for HealthCare: Predicting Pneumonia Risk and Hospital 30-day Readmission”, KDD’15, August 10–13, 2015, Sydney, NSW, Australia | Août 2015

[16] John Tukey, Exploratory Data Analysis, Pearson Modern Classics.

[17] Léon Bottou, Jonas Peters, Joaquin Quiñonero-Candela, Denis X. Charles, D. Max Chickering, Elon Portugaly, Dipankar Ray, Patrice Simard and Ed Snelson: Counterfactual Reasoning and Learning Systems: The Example of Computational Advertising, Journal of Machine Learning Research, 14(Nov):3207–3260, 2013.

[18] Declan Butler, “When Google got Flu wrong,” Nature, Vol 484, Issue 7436, Feb 2013.

[19] Alexander Amini, Ava Soleimany, Wilko Schwarting, Sangeeta Bhatia and Daniela Rus., “Uncovering and Mitigating Algorithmic Bias through Learned Latent Structure”, AAAI/ACM Conference on Artificial Intelligence Ethics and Society, 2019.

[20] M Hardt, E Price, N Srebro, “Equality of opportunity in supervised learning”, Advances in neural information processing systems, 2016

[21] Buolamwini, J., and Gebru, T. 2018. Gender shades: Intersectional accuracy disparities in commercial gender classification. In Conference on Fairness, Accountability and Transparency, 77–91.

[22] Sweeney, Latanya, Discrimination in Online Ad Delivery (January 28, 2013). Available at SSRN: https://ssrn.com/abstract=2208240 or http://dx.doi.org/10.2139/ssrn.2208240

[23] Eli Pariser, The Filter Bubble: How the New Personalized Web Is Changing What We Read and How We Think, Penguin Books, 2012.


New Features for Oracle BI EE 11 g Release 1 (11.1.1.5)

New features in Oracle BI EE 11 g Release 1 (11.1.1.5) include:

In this release, you can specify the width of each column prompt field. You can set the width when designing an individual prompt or when specifying format options for the prompts page. If you are specifying the prompt width on the prompts page, all prompts display to the width that you specify. You can also specify to wrap column labels on the prompts page.

The prompt field width and wrap prompt labels settings do not apply to the Slider user input type. For information about prompts, see Chapter 6, "Prompting in Dashboards and Analyses."

This release introduces BI Composer, a simple-to-use wizard that allows you to quickly and easily create, edit, and view analyses without the complexities of the "Analysis editor." In this release, it is available only in accessibility mode (that is, it is optimized for use with screen reader applications such as JAWS) so that users with visual impairments can easily create, edit, and view analyses.

Enhancements to the KPI Editor

This release includes the following enhancements to the "KPI editor":

The Thresholds page has been redesigned and renamed the States page. The redesign allows you to specify threshold values as percentages of the target value and to specify the status to assign to a KPI that returns no data.

A new page named Custom Attributes has been added that allows you to create custom columns for the KPI.

Oracle Business Intelligence Mobile

This release introduces Oracle Business Intelligence Mobile, which allows you to view Oracle BI EE content on supported mobile devices such as the Apple iPhone and Apple iPad.