Installation Linux sur Mac PowerPC G5

J’avais un Mac PowerPC G5 sous OS X 10.5.8 (dernière m.à.j ~2006).
Donc inutile de vous dire qu’il était impossible de l’utiliser même comme un simple navigateur web …
Effet confinement oblige j’ai décidé de prendre le temps qu’il fallait pour mette un Linux dessus.

Voici les specs du Mac en question :

  • Mac OS X 10.5.8
  • Processeur 4×2.5 GHZ PowerPC G5
  • 4.5 Go 2x2Go DDR2 SDRAL (je suppose que mes 2×250 Go on fait bugger le Linux une fois celui installé donc j’ai gardé que 2x2Go)
  • Carte Gaphique NVIDIA GeForce 6600 VRAM 256 Mo 1280×1024 @ 60 Hz 32 bits
  • Il existe plusieurs versions de Linux Ubuntu qui sont compatibles MacPPC G5. J’ai installé quand à moi Lunbutu-16.04-Remix (qui m’a été fortement recommandé par un utilisateur du groupe FB Linux and BSD on PowerPC MAC).
    Il y a d’autres distribs comme par exemple la Debian

    Voici les étapes de mon installation:

    1. Télécharger l’image iso de Lunbutu-16.04-Remix (à la date l’article son nom est lubuntu-16.04-remix-v2-ppc.iso)
    2. Copier l’iso sur votre clef usb en utilisant commande dd depuis un terminal (pour savoir tout du dd je vous renvoie à votre moteur de recherche):
    3. dd if=Downloads/lubuntu-16.04-remix-v2-ppc.iso of=/dev/disk2 bs=4m && sync

    4. Redémarrer en Mac en mode OF (OpenFirmeware), pour cela on maintiendra enfoncé au démarrage les touches:
    5. alt+cmd+o+f

    Une fois sur arrivé sur l’OF il faut trouver le device de la clef usb, et c’est ça le plus reloud …
    Depuis l’OF il y a la commande dir (ou encore devalias, dev et ls ) qui peuvent être utile. Si on se trompe dans le nom du device l’ordinateur va rebooter sur l’OS d’origine, du coup ça peut prendre un temps fou …
    On vérifie que l’on a donné le bon device de la clef en vérifiant avec dir son contenu:

    dir usb2/disk:2,\\

    Une fois qu’on a vérifié que le device selectionné correspondait bien à la clef on peut booter dessus en toute quiétude:
    boot usb2/disk:2,\\yaboot
    Là on arrive sur le yaboot et on tappe la commande:
    live-powerpc64

    Vous devriez, après quelques minutes (moins de 2), arriver sur le bureau type d’un Linux où vous pourrez démarrer l’installation de votre nouveau super système.

    Si vous obtenez un écran noir après la commande live-powerpc64 depuis le yaboot pas de panique c’est peut être que vous vous êtes trompés dans le slot de connection de l’écran dvi (j’ai fait la même erreur et ça m’a fait perdre un temps de fou et pas mal de cheveux en moins). Essayez tout simplement de changer de slot (slot droit lorsqu’on a le doc du mac sous les yeux).

    Voily bon courage pour votre installation …

    Liens qui peuvent être utiles voir très utiles …
    https://lowendmac.com/2018/installing-linux-on-powerpc-macs/
    La page FB Linux and BSD on PowerPC MAC

    Publié dans Mac Os X | Marqué avec | Laisser un commentaire

    Mon 1er Notebook Jupyter dans WordPress

    Bon c’est pas très rejouissant mais je donne ici mon script Python pour plotter l’évolution des cas de Covid (par défaut pour la « France », »Italy », »Spain » et la »Germany ») en utilisant cette base de données
    https://github.com/CSSEGISandData/COVID-19
    J’ai créé:

  • mon script en utilisant le Jupyter Notebook collaboratif de google (https://colab.research.google.com/)
  • sauvé mon notebook dans github glist
  • Utilisé le plugin oEmbed Gist de WordPress pour insérer le glist dans mon article (on peut aller voir cet article )
  • Publié dans Python | Laisser un commentaire

    Envoie de sujets par mail avec AMC ?

    Updated: 29 mars 2020

    *30/03/2020*

    A cause des réformes des retraites et des grèves qui ont suivi les examens sur table ont été annulés et ont été reprogrammé sous la forme d’un devoir à la maison.
    Je devais donc envoyer mon QCM, élaboré avec auto-multiple-choice,  à un grand nombre de candidats. Je ne rentrerai pas ici dans l’intérêt de faire un examen QCM à domicile …

    Avant de commencer noter que je suis sous Mac Os X Catalina.

    Je fournis ici les scripts Python nécessaires pour :

    • Séparer le fichier PDF avec tous les sujets en autant de sujets qu’il y a de candidats
    • Envoyer les mails avec mutt (installer avec brew) à tous les candidats avec leurs fichiers en attachés

    Mon sujet comporte 4 pages. Les N pdf individuels produits sont redirigés vers un dossier PDFSplitted. Je me suis basé sur cette page pour mon script.
    Les noms de mes fichier se nomment : DOC-sujet1.pdf et DOC-sujet2.pdf.
    Changer la variable « DOC-« +sujet+ ».pdf » en fonction du nom de votre sujet.

    #!/usr/bin/env python
     
    from PyPDF2 import PdfFileWriter, PdfFileReader
    from multiprocessing import Pool
    import glob, sys
     
    sujet="sujet2"
    pdfs = glob.glob("DOC-"+sujet+".pdf")
     
    def process_pdfs(pdf):
        inputFile = PdfFileReader(open(pdf, "rb"))
        print("Processing %s"% pdf)
        for i in range(inputFile.numPages // 4):
            output = PdfFileWriter()
            output.addPage(inputFile.getPage(i * 4))
            output.addPage(inputFile.getPage(i * 4 + 1))
            output.addPage(inputFile.getPage(i * 4 + 2))
            output.addPage(inputFile.getPage(i * 4 + 3))
     
            newname = sujet + "-" + str(i+1) + ".pdf"
     
            outputStream = open("PDFSplitted/"+newname, "wb")
            output.write(outputStream)
            outputStream.close()
     
    p = Pool(processes=4)
    p.map(process_pdfs, pdfs)

    Une fois les sujets produits je vais boucler sur l’ensemble des étudiants pour leur envoyer un mail (avec mutt) avec leur sujets individuels en attaché (il y a 2 sujets au choix).
    La liste des étudiants avec leurs mails se trouve dans le fichier Emails-L2-1920.xlsx.
    Je parse celui-ci avec xlrd.

    import xlrd
    import subprocess
    import os
     
    def body(*arg):
        mail_named="BodyMailStudents/"+str(arg[0]).replace(" ","-")+"-"+str(arg[1]).replace(" ","-")+"-N-"+str(arg[2])+".txt"
        fichier = open(mail_named, "w")
        temp=("Bonjour "+ str(arg[0])+ " " +str(arg[1]) + ",\n\n"\
                +"\t veuillez trouver en attaché de ce mail le sujet d'examen: MÉTHODES STATISTIQUES - PY03E300.\n"+\
                "Votre sujet n° " + str(arg[2]) +" est associé à votre numéro d'étudiant " + str(int(arg[3])) +".\n"\
                "Imprimez dans la mesure du possible votre copie en recto verso. Ne remplissez QUE L'UN DE CES DEUX SUJETS ET PAS UN AUTRE.\n"
                "Les copies doivent être rendues en mains propres à la scolarité entre le lundi 27 janvier\n"+\
                "et le jeudi 30 janvier en vous munissant de votre carte d’étudiant pour signer la feuille d’émargement.\n"\
                "Bon courage.\n\n"\
                "\n\t\t\t\t Cordialement,\n"\
                "\t\t\t\t\t Olivier Dadoun\n\n  ")         
        fichier.write(temp)
        fichier.close()
        print(temp)
        return mail_named
     
     
    if __name__ == '__main__':           
        list_students="Emails-L2-1920.xlsx"
        wb = xlrd.open_workbook(list_students,encoding_override="utf_16_le")
        print(wb.sheet_names())
        sh = wb.sheet_by_name('Feuil3')
        num_etu          = sh.col_values(0)
        nom_pat_etu      = sh.col_values(1)
        prenom_etu       = sh.col_values(2)
        mail_etu         = sh.col_values(3)
        #list_pas_envoye=[18,30,40,41,44,45,51,56,57,100,101,102,103,109,115,119,128,158] 
        for i in range(1,len(num_etu)):
        #for i in list_pas_envoye:
            file_body=body(nom_pat_etu[i],prenom_etu[i],i,num_etu[i]) 
            files_attached1="\"PDFSplitted/sujet1-"+str(i)+".pdf\""
            files_attached2=files_attached1+" \"PDFSplitted/sujet2-"+str(i)+".pdf\""
            #mail="vous-aurez-pas-mon-mail@gmail.com"
            mail=mail_etu[i]
            mailcc="ni-celui-ci@gmail.com"
            bash_command="mutt -s \"Sujets d'examen MÉTHODES STATISTIQUES - PY03E300 \" " +  mail + " -c " + mailcc + " -a " + str(files_attached2)  + " -- < " + str(file_body)
            os.system(bash_command)
            print(bash_command)
            os.system("sleep 2")
        wb.release_resources()

    Si pour une raison inconnue l’étudiant n’a pas reçu son sujet on peut lui renvoyer car le corps du mail a été sauvé dans un fichier qui se trouve dans le dossier BodyMailStudents/.

    Si cette erreur apparait avec votre pdf

    PyPDF2.utils.PdfReadError: Multiple definitions in dictionary at byte 0x9af9 for key /AcroForm

    Remplacer

    inputFile= PdfFileReader(open(pdf, "rb"))

    par

    inputFile= PdfFileReader(open(pdf, "rb"),strict=False)
    Publié dans Python | 4 commentaires

    CM Statistiques L2 2019/2020

  • Voici le sujet donnée en Décembre 2018 et son corrigé
  • Attention le programme n’était pas tout à fait le même (donc il y a des questions pour lesquelles vous allez avoir du mal à répondre).

  • Un lien concernant les cours de Stanislas Dehaene au Collège de France.
    Le bébé statisticien : les théories bayésiennes de l’apprentissage
  • Publié dans Cours | 2 commentaires

    OBS probleme avec @rpath

    J’ai recompilé OBS Studio sur mon Mac sans gros soucis.
    Par contre lors de son execution j’obtenais:

    dadounair:bin dadoun$ ./obs
    dyld: Library not loaded: @rpath/QtWidgets.framework/Versions/5/QtWidgets
    Referenced from: /Users/dadoun/SoftsDivers/obs-studio/build/rundir/RelWithDebInfo/bin/./obs
    Reason: image not found
    Trace/BPT trap: 5

    Problème que j’ai rencontré de nombreuse fois et que j’avais réussi à chaque fois esquiver (sans trop savoir comment).
    Après avoir passé pas mal temps de temps j’ai trouvé cette solution simple et efficace: exporter la variable DYLD_FRAMEWORK_PATHdont je ne connaissais pas l’existence.
    Donc un

    export DYLD_FRAMEWORK_PATH=/usr/local/Qt/5.5/clang_64/lib

    a résolu mon problème.

    Publié dans Informatique, Non classé, Shell | Laisser un commentaire

    CM Statistiques L2 2018/2019

    Updated: 16 décembre 2018

    Bonjour,

    Attention: cours n°6 page 157 la formule que j’ai utilisée est fausse
    (ca change pas le résultat). Voici la bonne formule:

        \[    \boxed{s^2=\frac{1}{7}\times(\sum^{i=8}_{i=1}x_i^2-8\times(\frac{1}{8}\sum^{i=8}_{i=1}x_i)^2)} \]

    De plus, veuillez noter aussi un problème de précision qui se ballade dans cet exemple:
    pour calculer l’écart-type mieux vaut utiliser cette moyenne là (1623/8) plutôt que sa valeur approchée 202,90 ms (merci à Jennifer).

    – Nouvelles mise à jour du cours 6
    – J’ai rajouté une transparent p146 cours 6 qui vous donne la formule de la covariance dans le cas d’un échantillon. Vous connaissez la variance dans le cas d’un échantillon ça devrait pas poser trop de problèmes (et oui il faut connaître les formules).

    voici les cours de L2 CM Méthodes Statistiques 2018:

    Bonne lecture …

    PS: Comme d’hab. n’hésitez pas à donner commentaires, remarques et/ou réflexions diverses et variées …

    Annexes

    Table bilatérale
    Table unilatérale

    Pièce jointe

    Publié dans Cours | Marqué avec | 4 commentaires

    TD Méthodes statistiques L1 (2015/2016 et 2016/2017)

    Voici les exercices corrigés du TD Méthodes statistiques L1 45AE11AA

    TD1meth.stat.L1
    TD2meth.stat.L1
    TD3meth.stat.L1
    TD7-8meth.stat.L1
    TD9-10-11meth.stat.L1

    Pièce jointe

    Publié dans Non classé | Marqué avec | Laisser un commentaire

    CM Statistiques L2 2017/2018

    Updated: 5 juin 2018

    05/12/17 16/12/2018

    Bonjour,

    voici les CM de L2 Méthodes Statistiques 2017/2018 (45DE10BB):

    Cours1-L2-2017-Dadoun
    Cours2-L2-2017-Dadoun
    Cours3-L2-2017-Dadoun
    Cours4-L2-2017-Dadoun
    Cours5-L2-2017-Dadoun

    Cours6-L2-2017-Dadoun
    Cours7-L2-2017-Dadoun


    Sujet avec micro correction de l’exam n°1 de décembre 2017.

    Bonne lecture.

    Documents:

     

    PS: N’hésitez pas à donner commentaires, remarques et/ou réflexions diverses et variées…

    Pièce jointe

    Enregistrer

    Enregistrer

    Enregistrer

    Publié dans Non classé | Marqué avec , | Un commentaire

    CV

    I. Activité de recherches
    2000 – 2003
    « Mesure des réacteurs nucléaires dans l’expérience Borexino« , thèse de Doctorat.
    2005 – 2007
    Post doctorat dans le groupe « Machine Détecteur Interface » du futur Collisionneur Linéaire International ILC, LAL Orsay.
    2007-2010
    Post doctorat sur l’étude des « Sources de positrons pour les futurs collisionneurs électrons positrons », LAL Orsay.
    Depuis 2010
    Ingénieur de recherche CNRS spécialisé dans la simulation Monte Carlo interactions particule – matière.
    Actuellement au LPNHE.

    Biblio

    Continuer la lecture

    Publié dans Non classé | Laisser un commentaire

    libGL problème depuis un mac sur un serveur Linux

    Updated: 3 janvier 2017

    03/01/17

    Lorsque j’essayais de lancer glxgears sur un serveur linux distant (connecté avec ssh -X -Y ) j’avais cette erreur sur le serveur:

    libGL error: No matching fbConfigs or visuals found
    libGL error: failed to load driver: swrast
    X Error of failed request: BadValue (integer parameter out of range for operation)
    Major opcode of failed request: 149 (GLX)
    Minor opcode of failed request: 3 (X_GLXCreateContext)
    Value in failed request: 0x0
    Serial number of failed request: 26
    Current serial number in output stream: 28

    Malgré les apparences c’est un problème de mon client mac (malgré le fait que glxgears marchait parfaitement en local).
    Après pas mal de temps passé sur le web voici la solution (ici):

    defaults write org.macosforge.xquartz.X11 enable_iglx -bool true

    Il faut relancer Xquartz après.

    Finalement j’ai eu d’autre soucis j’ai donc reinstallé une version de XQartz plus vieille qui ne pose pas du tout ce problème: la 2.7.8 (les versions supérieures ne marchent pas).

    Publié dans CHEP, Mac Os X | Laisser un commentaire