Publicité
+ Répondre à la discussion Actualité déjà publiée
Page 1 sur 2 12 DernièreDernière
Affichage des résultats 1 à 20 sur 23
  1. #1
    Chroniqueur Actualités

    Homme Profil pro Christophe Ghokeng
    Administrateur systèmes et réseaux
    Inscrit en
    mars 2013
    Messages
    390
    Détails du profil
    Informations personnelles :
    Nom : Homme Christophe Ghokeng
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Enseignement

    Informations forums :
    Inscription : mars 2013
    Messages : 390
    Points : 7 389
    Points
    7 389

    Par défaut Le code de la sinclair scientific étudié à l’aide du reverse engineering

    Le code de la « sinclair scientific » étudié à l’aide du reverse engineering
    révèle les secrets qui lui ont permis de faire du calcul scientifique


    En 1974, Clive Sinclair est un jeune homme ambitieux qui voulait commercialiser une calculatrice scientifique bon marché dans un segment déjà dominé par les grands noms comme HP.

    Le hic c’est que, réaliser la calculatrice de Sinclair au prix auquel il souhaitait la commercialiser, s’avère une tâche impossible. D’ailleurs, son partenariat avec Bowmar (un constructeur de l’époque) a débouché dans un cul-de-sac.

    Sinclair s’est retourné vers Texas Instruments qui lui a fourni une puce qu’on jugerait à première vue rudimentaire face à celles du produit de HP. Elle supportait un nombre d’opérations réduit (addition, multiplication soustraction et division), ne comportait que trois registres, et avait une ROM dont la capacité était la moitié du HP-35 qui dominait le marché.

    A titre de comparaison, le HP-35 a requis 2 ans de travail d’une vingtaine d’ingénieurs hautement qualifiés et le NEC plus ultra de la technologie de l’époque. Face à un challenger aussi puissant que le HP-35, le produit de Sinclair fait office d’outsider. Les ingénieurs de Texas Instruments, pour dissuader Sinclair de sa folie, diront « C’est tout simplement impossible », pour souligner le fait que leur puce était incapable de faire du calcul scientifique.

    Impossible ? Pas tout à fait, puisque Sinclair revint trouver les ingénieurs de Texas avec une calculatrice capable d’effectuer le calcul des fonctions sinus, cosinus, tangente, logarithme, Arctan, ArcSin, ArcCos ainsi que le calcul avec exposants.

    On ne peut qu’imaginer la consternation des ingénieurs. Ce qu’avait omis de dire Sinclair, c’est qu’il était assisté par un génie de la programmation, le PHD Nigel Searle, qui a réalisé un travail d’orfèvre malgré les limitations techniques de la calculatrice.

    Grâce à la technique du « reverse engineering », Ken Shirriff a pu fournir les détails sur le code que la calculatrice exécutait. On peut se rendre compte que Nigel a eu recours à de petites astuces simples mais efficaces pour doter le périphérique des fonctions du calcul scientifique. Il a utilisé le Reverse Polish Notation (qui permet d’écrire l’opérateur après les opérandes d’un calcul exemple 3+2 devient 3 2 +) pour représenter un nombre signé, le 0 est le signe positif alors que 5 représente le signe négatif, la division est implémentée comme une série de soustractions et bien d’autres.

    Pour le rapport qualité prix, la calculatrice de Sinclair vaut son pesant d'or. En effet, elle coûtait 100 dollars l’unité contre 365 dollars pour la HP-35. Toutefois, elle pêchait côté performances. Par exemple l’opération sinus(1) prenait 7,5 secondes.

    Source : blog Ken Shirriff

    Et vous ?

    Qu'en pensez vous ?

  2. #2
    Membre du Club
    Inscrit en
    septembre 2009
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : septembre 2009
    Messages : 18
    Points : 47
    Points
    47

    Par défaut

    Je pense que bien peu de (aucun?) programmeurs seraient capable d'une telle prouesse aujourd'hui. Moi le premier !

  3. #3
    Expert Confirmé
    Homme Profil pro Nicolas
    Ingénieur d'Etude Mainframe
    Inscrit en
    novembre 2012
    Messages
    612
    Détails du profil
    Informations personnelles :
    Nom : Homme Nicolas
    Âge : 33
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ingénieur d'Etude Mainframe
    Secteur : Finance

    Informations forums :
    Inscription : novembre 2012
    Messages : 612
    Points : 3 960
    Points
    3 960

    Par défaut

    Article sympathique ! J'en pense qu'il était sacrément talentueux !

  4. #4
    tlt
    tlt est déconnecté
    Membre régulier Avatar de tlt
    Homme Profil pro Tolotra
    Développeur de jeux vidéo
    Inscrit en
    juillet 2004
    Messages
    59
    Détails du profil
    Informations personnelles :
    Nom : Homme Tolotra
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : juillet 2004
    Messages : 59
    Points : 72
    Points
    72

    Par défaut

    il en connait des choses en matière d"optimisation. chapeau

  5. #5
    Membre habitué
    Inscrit en
    juillet 2010
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : juillet 2010
    Messages : 41
    Points : 137
    Points
    137

    Par défaut

    Belle perfermance en effet. C'est toujours payant d'avoir un bon developpeur à ses cotés!

  6. #6
    Modérateur
    Avatar de sevyc64
    Homme Profil pro Yves
    Développeur informatique
    Inscrit en
    janvier 2007
    Messages
    6 530
    Détails du profil
    Informations personnelles :
    Nom : Homme Yves
    Âge : 41
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : janvier 2007
    Messages : 6 530
    Points : 15 455
    Points
    15 455

    Par défaut

    Et oui, c'est qu'à l'époque on savait réfléchir et faire les choses.
    On avait pas de puissance de calcul, on avait pas de mémoire, mais on arrivait à tirer la quintessence du matériel dont on disposait.
    Je me rappelle le temps ou on optimisait un code à l’instruction asm près.

    Aujourd'hui, on trouve un logiciel un peu lent ? on monte en gamme sur le CPU, on rajoute un GPU surpuissant (sachant que l'on a évidement aucun logiciel capable de l'exploiter pleinement), et puis au passage on rajoute aussi quelques Go de ram (quid des portables à 16Go de Ram, juste pour aller sur internet et regarder quelques films HD ?)

    Et coté développement, ben comme on a de la puissance et de la mémoire, on se pose pas la question si on code bien ou avec les pieds. On ne sait plus ce qu'est l'optimisation,on la considère même comme une perte de temps.

    La norme aujourd'hui est le i5 ou i7 avec de 12 à 16Go de ram. JE suis absolument certain que la plupart des logiciels correctement développés et fortement optimisés comme l'a pu l'être le code de la sinclair tourneraient sur des P4 avec 2Go de ram que l'on possédait il y a plus de 10 ans.
    --- Sevyc64 ---

    Parce que le partage est notre force, la connaissance sera notre victoire

  7. #7
    Membre Expert
    Avatar de e-ric
    Homme Profil pro Eric BARBIER
    Développeur informatique
    Inscrit en
    mars 2002
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Nom : Homme Eric BARBIER
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : mars 2002
    Messages : 1 077
    Points : 2 122
    Points
    2 122

    Par défaut

    Tout à fait d'accord avec sevyc64, ça optimise surtout le commerce...
    Pour le fun :Loi de Wirth

    Les outils bureautiques, à ce titre, m'amusent beaucoup, avoir besoin d'un Core i7 pour écrire un simple texte mis en forme prête à rire. On faisait la même chose avec un 386 à une époque, avec peut-être moins de confort.
    Personnellement, je cherche le plus souvent à optimiser mon code ou tout du moins à ne pas avoir un code trop débile.
    Ce n'est pas parce qu'on dispose dans une seule machine de la puissance d'un centre de calcul d'il y a 20 ans qu'il faut coder comme un pied.

    Il faut aussi ne pas oublier que les compilos prennent en charge l'optimisation qu'il est souvent difficile de dépasser voire contreproductif. L'optimisation doit porter sur l'algorithme non pas sur la réalisation de celui-ci. Celà n'apporte peu d'optimiser par le code seulement un algo foireux. D'un autre côté, un bon algorithme sera valorisé par une implémentation soigneuse.

    Cdlt

    @+

    M E N S . A G I T A T . M O L E M

  8. #8
    Modérateur
    Avatar de sevyc64
    Homme Profil pro Yves
    Développeur informatique
    Inscrit en
    janvier 2007
    Messages
    6 530
    Détails du profil
    Informations personnelles :
    Nom : Homme Yves
    Âge : 41
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : janvier 2007
    Messages : 6 530
    Points : 15 455
    Points
    15 455

    Par défaut

    Citation Envoyé par e-ric Voir le message
    Les outils bureautiques, à ce titre, m'amusent beaucoup, avoir besoin d'un Core i7 pour écrire un simple texte mis en forme prête à rire. On faisait la même chose avec un 386 à une époque, avec peut-être moins de confort.
    Oui, enfin, quand on voit la gestion des styles et titre, modèles de document, (entre-autre) sous Word 2007 et suivant par rapport à ce qu'elle était sous Word 97, c'est à dire hyper simple et facile. Je pense que niveau confort, on y a plus perdu que gagné. Mais bon, ce n'est que mon avis.
    --- Sevyc64 ---

    Parce que le partage est notre force, la connaissance sera notre victoire

  9. #9
    Membre à l'essai
    Inscrit en
    août 2007
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : août 2007
    Messages : 19
    Points : 20
    Points
    20

    Par défaut

    Les "deux lignes" d'hebdogiciel c'était pas mal aussi à l'époque.

  10. #10
    Expert Confirmé
    Homme Profil pro
    BI
    Inscrit en
    mars 2003
    Messages
    1 305
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : BI

    Informations forums :
    Inscription : mars 2003
    Messages : 1 305
    Points : 3 293
    Points
    3 293

    Par défaut

    Citation Envoyé par sevyc64 Voir le message
    Oui, enfin, quand on voit la gestion des styles et titre, modèles de document, (entre-autre) sous Word 2007 et suivant par rapport à ce qu'elle était sous Word 97, c'est à dire hyper simple et facile. Je pense que niveau confort, on y a plus perdu que gagné. Mais bon, ce n'est que mon avis.

    mouais. L'ergonomie n'est pas forcément liée à la puissance de calcul.

  11. #11
    Expert Confirmé Sénior
    Profil pro
    Inscrit en
    décembre 2007
    Messages
    3 030
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : décembre 2007
    Messages : 3 030
    Points : 8 532
    Points
    8 532

    Par défaut

    L'optimisation est un art que peu maitrisent(et moi pas franchement). C'est pour ça que d'aucuns conseillent d'upgrader le matos, et de n'optimiser que si ça ne suffit pas.

    Perso, j'essaye toujours de faire une programmation naturellement efficace, MAIS le premier objectif, c'est quand même que ça marche et que ça soit lisible.
    Les 4 règles d'airain du développement informatique sont, d'après Michael C. Kasten :
    1)on ne peut pas établir un chiffrage tant qu'on a pas finalisé la conception
    2)on ne peut pas finaliser la conception tant qu'on a pas complètement compris toutes les exigences
    3)le temps de comprendre toutes les exigences, le projet est terminé
    4)le temps de terminer le projet, les exigences ont changé
    Et le serment de non-allégiance :
    Je promets de n’exclure aucune idée sur la base de sa source mais de donner toute la considération nécessaire aux idées de toutes les écoles ou lignes de pensées afin de trouver celle qui est la mieux adaptée à une situation donnée.

  12. #12
    Expert Confirmé
    Avatar de Jipété
    Profil pro
    Inscrit en
    juillet 2006
    Messages
    2 654
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : juillet 2006
    Messages : 2 654
    Points : 3 267
    Points
    3 267

    Par défaut

    Citation Envoyé par sevyc64 Voir le message
    Oui, enfin, quand on voit la gestion des styles et titre, modèles de document, (entre-autre) sous Word 2007 et suivant par rapport à ce qu'elle était sous Word 97, c'est à dire hyper simple et facile. Je pense que niveau confort, on y a plus perdu que gagné. Mais bon, ce n'est que mon avis.
    C'est aussi le mien, mais tu t'es fait moinser 3 fois, sans doute par les fans du ruban,

    et le taf, alors, ça a donné qqchse ?
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Éditer », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  13. #13
    Expert Confirmé
    Homme Profil pro
    BI
    Inscrit en
    mars 2003
    Messages
    1 305
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : BI

    Informations forums :
    Inscription : mars 2003
    Messages : 1 305
    Points : 3 293
    Points
    3 293

    Par défaut

    Citation Envoyé par Jipété Voir le message
    C'est aussi le mien, mais tu t'es fait moinser 3 fois, sans doute par les fans du ruban,
    C'est clair que ce ruban est une horreur. (Il faudrait au moins avoir le choix de remettre un menu "normal").

  14. #14
    Invité de passage
    Homme Profil pro Lionel
    Inscrit en
    janvier 2008
    Messages
    9
    Détails du profil
    Informations personnelles :
    Nom : Homme Lionel
    Localisation : Suisse

    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : janvier 2008
    Messages : 9
    Points : 4
    Points
    4

    Par défaut reverse sinclair

    ce que j'en pense est qu'il doit il y avoir un bug soit dans la machine virtuelle présentée sur le site de Ken, soit dans le code reversé, En RPN l'opération de base 3+1 se pose comme suit 3 1 + ...
    Et bien si vous essayez, ça ne marche pas ... (sur le blog Ken Shirriff)
    étonnant ou je m'y prend mal ?
    Salut à tous

  15. #15
    Membre actif
    Inscrit en
    septembre 2009
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : septembre 2009
    Messages : 88
    Points : 158
    Points
    158

    Par défaut

    Citation Envoyé par the_babou Voir le message
    Je pense que bien peu de (aucun?) programmeurs seraient capable d'une telle prouesse aujourd'hui. Moi le premier !
    C'est bien le problème....
    J'ai commencé l'informatique sur Apple ][ avec 6502. Pas de multiplication ou de division. Tu voulais faire Y x 5 ? Rotation a gauche pour multiplier par deux, deux fois, puis addition de Y.
    Des cours d'assembleur "basique" tel que le 6502 devrait être obligatoire dans toutes les écoles d'informatique un peu sérieuses. Aucune utilité pratique, sauf de comprendre comment fonctionnent les microprocesseurs en interne, et donc avoir une vision globale de l'informatique.

  16. #16
    Membre Expert Avatar de ymoreau
    Homme Profil pro Yoann Moreau
    Ingénieur
    Inscrit en
    septembre 2005
    Messages
    902
    Détails du profil
    Informations personnelles :
    Nom : Homme Yoann Moreau
    Âge : 28
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : septembre 2005
    Messages : 902
    Points : 1 878
    Points
    1 878

    Par défaut

    Citation Envoyé par singman Voir le message
    Des cours d'assembleur "basique" tel que le 6502 devrait être obligatoire dans toutes les écoles d'informatique un peu sérieuses. Aucune utilité pratique, sauf de comprendre comment fonctionnent les microprocesseurs en interne, et donc avoir une vision globale de l'informatique.
    Absolument pas d'accord. Chacun son métier, et pour du développement logiciel on n'a généralement pas besoin de connaitre ce genre d'opérations binaires, le compilateur optimise déjà toute cette couche mieux que la majorité des développeurs même expérimentés.
    Bien entendu avoir une vision globale de ce qui se passe en bas niveau aide à mieux appréhender les impacts de la programmation haut niveau. Mais au bout d'un moment il est normal de se concentrer sur le niveau sur lequel on intervient. Pour moi ce qui manque le plus c'est un véritable apprentissage des bonnes pratiques, et un meilleur encadrement des architectures/refactoring, des relectures d'algos/code en équipe etc. J'ai l'impression que les projets se laissent dominer par le code existant alors qu'il faudrait sans cesse le remettre en question ET s'en inspirer à la fois.

  17. #17
    Membre confirmé
    Retraité
    Inscrit en
    novembre 2009
    Messages
    194
    Détails du profil
    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : novembre 2009
    Messages : 194
    Points : 293
    Points
    293

    Par défaut

    Il a utilisé le Reverse Polish Notation
    Rien de surprenant à cela, car HP utilisait aussi la notation polonaise inversée (j'ai utilisé la HP-35 et j'ai encore une HP-25 chez moi).
    En fait, pour les calculettes, l'utilisation de la notation algébrique classique est venu après celle de la notation polonaise.
    En lisant le blog de Ken Shirriff, on voit que, l'exploit réside dans bien d'autres détails.
    GraceGTK: a plotting tool at http://gracegtk.sourceforge.net

  18. #18
    Expert Confirmé Sénior
    Avatar de Paul TOTH
    Homme Profil pro Paul TOTH
    Freelance
    Inscrit en
    novembre 2002
    Messages
    5 320
    Détails du profil
    Informations personnelles :
    Nom : Homme Paul TOTH
    Âge : 44
    Localisation : Réunion

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : novembre 2002
    Messages : 5 320
    Points : 14 980
    Points
    14 980

    Par défaut

    Citation Envoyé par ymoreau Voir le message
    Absolument pas d'accord. Chacun son métier, et pour du développement logiciel on n'a généralement pas besoin de connaitre ce genre d'opérations binaires, le compilateur optimise déjà toute cette couche mieux que la majorité des développeurs même expérimentés.
    Bien entendu avoir une vision globale de ce qui se passe en bas niveau aide à mieux appréhender les impacts de la programmation haut niveau. Mais au bout d'un moment il est normal de se concentrer sur le niveau sur lequel on intervient. Pour moi ce qui manque le plus c'est un véritable apprentissage des bonnes pratiques, et un meilleur encadrement des architectures/refactoring, des relectures d'algos/code en équipe etc. J'ai l'impression que les projets se laissent dominer par le code existant alors qu'il faudrait sans cesse le remettre en question ET s'en inspirer à la fois.
    à ce rythme là on pourrait aussi abandonner les cours de math à l'école puisqu'on a tous une calculette sous la souris.

    dans un autre domaine, je donne des cours de programmation PHP, et bien ma première session de formation ne parle absolument pas de programmation, je parle d'adresse IP, de TCP/IP, réseaux, HTTP, proxy etc...Alors je ne forme pas des techniciens réseaux, ce n'est pas le but, mais je donne sur une journée un aperçu ce qu'il y a sous le capot pour que les développeurs Web arrêtent de rebooter leur machine quand ils reçoivent une erreur 404. je leur demande juste d'avoir une connaissance sommaire de ce qu'il se passe sur un réseau IP avant d'aborder les questions de programmation web. Ils doivent être en mesure d'identifier si le problème qu'ils rencontrent vient de leur connexion réseau, d'un problème d'URL, d'une configuration serveur ou d'un bug dans leur application. Ils doivent pouvoir du premier coup d'oeil distinguer une popup du navigateur d'un "alert" Javascript ou d'une iframe en avant plan.

    Si après ça ils veulent développer avec un L4G sans la moindre trace de HTML ou Javascript, ça les regarde, mais au moins ils sauront pourquoi ils ont choisi ce mode de développement.
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Produits : UPnP, RemoteOffice, FlashPascal
    Embarcadero : Ile de la Réunion, Dephi, C++Builder, RADPHP...TVA à 8,5%

  19. #19
    Responsable Réseaux

    Avatar de ram-0000
    Homme Profil pro Raymond Mercier
    Consultant en sécurité
    Inscrit en
    mai 2007
    Messages
    10 685
    Détails du profil
    Informations personnelles :
    Nom : Homme Raymond Mercier
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : mai 2007
    Messages : 10 685
    Points : 43 645
    Points
    43 645

    Par défaut

    Cela me fait penser aux 2 ordinateurs d'apollo 11 :
    Chaque ordinateur pèse 32 kilos. Leur puissance CPU est de 1 MHz, pour une RAM s'élevant à 4Ko et une ROM à 36Ko.
    Bel exploit que de mettre tant de choses dans si peu de RAM et de ROM



    Source L'ordinateur d'Apollo 11, un exploit technologique.
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  20. #20
    Membre Expert Avatar de ymoreau
    Homme Profil pro Yoann Moreau
    Ingénieur
    Inscrit en
    septembre 2005
    Messages
    902
    Détails du profil
    Informations personnelles :
    Nom : Homme Yoann Moreau
    Âge : 28
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : septembre 2005
    Messages : 902
    Points : 1 878
    Points
    1 878

    Par défaut

    Citation Envoyé par Paul TOTH Voir le message
    Alors je ne forme pas des techniciens réseaux, ce n'est pas le but, mais je donne sur une journée un aperçu ce qu'il y a sous le capot pour que les développeurs Web arrêtent de rebooter leur machine quand ils reçoivent une erreur 404. je leur demande juste d'avoir une connaissance sommaire de ce qu'il se passe sur un réseau IP avant d'aborder les questions de programmation web.
    Si c'est un aperçu je suis d'accord, mais il arrive un niveau où le détail technique devient une informatique inutile. Pas besoin de décoder le contenu des paquets réseaux pour comprendre comment réagir face à une erreur 404 par exemple, c'est une question de "mesure". Un minimum c'est bien, trop rentrer dans le détail ça peut être contre-productif.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •