lazaruk.com/2023-06-27T16:31:00-06:00wasting electons since 1999Learning Log - Completed2023-06-27T00:00:00-06:002023-06-27T00:00:00-06:00Brad Lazaruktag:None,2023-06-27:/learning-completed.htmlBrad Lazaruk’s completed learning<p><a href="/learning-queue.html">Queued learning</a> | <a href="/learning-in-progress.html">In progress learning</a> | <a href="/learning-completed.html">Completed learning</a></p>
<p>Entries here are listed by the month they were completed.</p>
<h2 id="section">2023</h2>
<h3 id="june">June</h3>
<ul>
<li><a href="https://successcoaching.co/certification">Certified Customer Success Manager - Level 1</a>
<ul>
<li><strong>Industry certification</strong></li>
<li>Author: <a href="https://successcoaching.co/">SuccessCoaching</a></li>
<li><a href="https://www.credly.com/badges/06b3aec2-6aed-4668-b668-b1253dc52dff/public_url">Credly badge</a></li>
<li>Skills: Accountability, Account Management, Account Planning, Active Listening, Business Consulting, Business Metrics, Client Retention, Customer Centricity, Customer Engagement, Customer Experience, Customer Success Management, Dealing With Difficult People (including Conflict Management), Difficult Conversations, Issues And Escalation, Onboarding, Project Management, Quarterly Business Reviews, Relationship Management</li>
</ul></li>
</ul>
<h3 id="may">May</h3>
<ul>
<li><a href="https://www.coursera.org/learn/ai-deep-learning-capstone">AI Capstone Project with Deep Learning</a>
<ul>
<li><strong>MOOC course</strong></li>
<li>Author: <a href="https://www.coursera.org/ibm">IBM</a></li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li><a href="https://www.coursera.org/account/accomplishments/verify/R2HBS4ZXXAVH">Verification link</a> | <a href="https://www.coursera.org/account/accomplishments/certificate/R2HBS4ZXXAVH">Certificate</a></li>
<li>Grade: 100%</li>
<li>Skills: Deep learning, Artificial Intelligence (AI)</li>
</ul></li>
<li><a href="https://www.coursera.org/learn/building-deep-learning-models-with-tensorflow">Building Deep Learning Models with TensorFlow</a>
<ul>
<li><strong>MOOC course</strong></li>
<li>Author: <a href="https://www.coursera.org/ibm">IBM</a></li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li><a href="https://www.coursera.org/account/accomplishments/verify/FRCHZEDSJHZL">Verification link</a> | <a href="https://www.coursera.org/account/accomplishments/certificate/FRCHZEDSJHZL">Certificate</a></li>
<li>Grade: 100%</li>
<li>Skills: TensorFlow, Deep learning</li>
</ul></li>
<li><a href="https://www.coursera.org/specializations/ai-engineer">IBM AI Engineering</a>
<ul>
<li><strong>Professional certificate</strong></li>
<li>Author: <a href="https://www.coursera.org/ibm">IBM</a></li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li><a href="https://www.coursera.org/account/accomplishments/professional-cert/5ZNXFRKMAVX8">Verification link</a> | <a href="https://www.coursera.org/account/accomplishments/certificate/5ZNXFRKMAVX8">Certificate</a></li>
</ul></li>
</ul>
<h3 id="april">April</h3>
<ul>
<li><a href="https://www.coursera.org/specializations/introduction-data-science">Introduction to Data Science</a>
<ul>
<li><strong>Professional certificate</strong></li>
<li>Author: <a href="https://www.coursera.org/ibm">IBM</a></li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li><a href="https://www.coursera.org/account/accomplishments/specialization/CNP7PVDXAXSZ">Verification link</a> | <a href="https://www.coursera.org/account/accomplishments/certificate/CNP7PVDXAXSZ">Certificate</a></li>
<li>Skills: Data Science, Relational Database Management System (RDBMS), Cloud Databases, Python Programming, SQL</li>
</ul></li>
</ul>
<h3 id="march">March</h3>
<ul>
<li>Natural Language Processing
<ul>
<li><strong>Course for credit towards BSc in Computer Science</strong></li>
<li>Author: University of London</li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li>Grade: pending</li>
</ul></li>
<li>Artificial Intelligence
<ul>
<li><strong>Course for credit towards BSc in Computer Science</strong></li>
<li>Author: University of London</li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li>Grade: pending</li>
</ul></li>
</ul>
<h2 id="section-1">2022</h2>
<h3 id="september">September</h3>
<ul>
<li>Computer Security
<ul>
<li><strong>Course for credit towards BSc in Computer Science</strong></li>
<li>Author: University of London</li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li>Grade: 88%</li>
</ul></li>
<li>Databases and Advanced Data Techniques
<ul>
<li><strong>Course for credit towards BSc in Computer Science</strong></li>
<li>Author: University of London</li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li>Grade: 88%</li>
</ul></li>
</ul>
<h3 id="june-1">June</h3>
<ul>
<li><a href="https://www.coursera.org/learn/deep-neural-networks-with-pytorch">Deep Neural Networks with Pytorch</a>
<ul>
<li><strong>MOOC course</strong></li>
<li>Author: <a href="https://www.coursera.org/ibm">IBM</a></li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li><a href="https://www.coursera.org/account/accomplishments/verify/774BVUS3JC9F">Verification link</a> | <a href="https://www.coursera.org/account/accomplishments/certificate/774BVUS3JC9F">Certificate</a></li>
<li>Grade: 98%</li>
<li>Skills: Pytorch, tensors, Deep Neural Networks, Deep Learning</li>
</ul></li>
</ul>
<h3 id="march-1">March</h3>
<ul>
<li>Databases, Networks, and the Web
<ul>
<li><strong>Course for credit towards BSc in Computer Science</strong></li>
<li>Author: University of London</li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li>Grade: 95%</li>
</ul></li>
</ul>
<h3 id="february">February</h3>
<ul>
<li><a href="https://www.coursera.org/learn/introduction-computer-vision-watson-opencv">Introduction to Computer Vision and Image Processing</a>
<ul>
<li><strong>MOOC course</strong></li>
<li>Author: <a href="https://www.coursera.org/ibm">IBM</a></li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li><a href="https://www.coursera.org/account/accomplishments/verify/F2RRAFWH2F8J">Verification link</a> | <a href="https://www.coursera.org/account/accomplishments/certificate/F2RRAFWH2F8J">Certificate</a></li>
<li>Grade: 97%</li>
<li>Skills: Deep Learning, Opencv, Artificial Intelligence (AI), Image Processing, Computer Vision</li>
</ul></li>
</ul>
<h3 id="january">January</h3>
<ul>
<li><a href="https://www.coursera.org/learn/introduction-to-deep-learning-with-keras">Introduction to Deep Learning & Neural Networks with Keras</a>
<ul>
<li><strong>MOOC course</strong></li>
<li>Author: <a href="https://www.coursera.org/ibm">IBM</a></li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li><a href="https://www.coursera.org/account/accomplishments/records/P6VSXB4PWFU2">Verification link</a> | <a href="https://www.coursera.org/account/accomplishments/certificate/P6VSXB4PWFU2">Certificate</a></li>
<li>Grade: 100%</li>
<li>Skills: Deep Learning, Artificial Neural Network, Artificial Intelligence (AI), Machine Learning, keras</li>
</ul></li>
<li><a href="https://www.coursera.org/learn/machine-learning-duke">Introduction to Machine Learning</a>
<ul>
<li><strong>MOOC course</strong></li>
<li>Author: <a href="https://www.coursera.org/duke">Duke University</a></li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li><a href="https://www.coursera.org/account/accomplishments/verify/D4FAZRT2QBSE">Verification link</a> | <a href="https://www.coursera.org/account/accomplishments/certificate/D4FAZRT2QBSE">Certificate</a></li>
<li>Grade: 94%</li>
<li>Skills: Natural Language Processing, Convolutional Neural Network, Machine Learning, Python Programming, pytorch</li>
</ul></li>
</ul>
<h2 id="section-2">2021</h2>
<h3 id="december">December</h3>
<ul>
<li><a href="https://www.coursera.org/learn/uol-machine-learning-for-all">Machine Learning for All</a>
<ul>
<li><strong>MOOC course</strong></li>
<li>Author: University of London</li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li><a href="https://www.coursera.org/account/accomplishments/verify/MHELK7SU6CUC">Verification link</a> | <a href="https://www.coursera.org/account/accomplishments/certificate/MHELK7SU6CUC">Certificate</a></li>
<li>Grade: 100%</li>
<li>Skills: Machine Learning</li>
</ul></li>
</ul>
<h3 id="november">November</h3>
<ul>
<li>Classical Cryptosystems and Core Concepts
<ul>
<li><strong>MOOC course</strong></li>
<li>Author: University of Colorado System</li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li>Grade: 89%</li>
<li>Skills: Cryptosystems</li>
</ul></li>
</ul>
<h3 id="october">October</h3>
<ul>
<li><a href="https://www.coursera.org/learn/python-for-active-defense">Python for Active Defense</a>
<ul>
<li><strong>MOOC course</strong></li>
<li>Author: <a href="https://www.infosecinstitute.com/">Infosec</a></li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li><a href="https://www.coursera.org/account/accomplishments/verify/7XNHAXGZCN6X">Verification link</a> | <a href="https://www.coursera.org/account/accomplishments/certificate/7XNHAXGZCN6X">Certificate</a></li>
<li>Grade: 83%</li>
<li>Skills: Python Programming, Active defense</li>
</ul></li>
<li><a href="https://www.coursera.org/learn/command-and-control-exfiltration-and-impact">Python for Command-and-control, Exfiltration and Impact</a>
<ul>
<li><strong>MOOC course</strong></li>
<li>Author: <a href="https://www.infosecinstitute.com/">Infosec</a></li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li><a href="https://www.coursera.org/account/accomplishments/verify/ULMTGDXU7HTW">Verification link</a> | <a href="https://www.coursera.org/account/accomplishments/certificate/ULMTGDXU7HTW">Certificate</a></li>
<li>Grade: 100%</li>
<li>Skills: Python Programming, Command-and-control, Exfiltration</li>
</ul></li>
<li><a href="https://www.coursera.org/learn/credential-access-discovery-lateral-movement--collection">Credential Access, discovery, lateral movement & collection</a>
<ul>
<li><strong>MOOC course</strong></li>
<li>Author: <a href="https://www.infosecinstitute.com/">Infosec</a></li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li><a href="https://www.coursera.org/account/accomplishments/verify/S66AP3CWUGFK">Verification link</a> | <a href="https://www.coursera.org/account/accomplishments/certificate/S66AP3CWUGFK">Certificate</a></li>
<li>Grade: 100%</li>
<li>Skills: Python Programming, Credential access, Lateral Movement</li>
</ul></li>
<li><a href="https://www.coursera.org/learn/execution-persistence-privilege-escalation-and-evasion">Execution, persistence, privilege escalation and evasion</a>
<ul>
<li><strong>MOOC course</strong></li>
<li>Author: <a href="https://www.infosecinstitute.com/">Infosec</a></li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li><a href="https://www.coursera.org/account/accomplishments/verify/LAEG9H9R8CL9">Verification link</a> | <a href="https://www.coursera.org/account/accomplishments/certificate/LAEG9H9R8CL9">Certificate</a></li>
<li>Grade: 100%</li>
<li>Skills: Persistence, Python Programming, privilege escalation and evasion, Cybersecurity, Execution</li>
</ul></li>
<li><a href="https://www.coursera.org/learn/pythonforcybersecurity-introduction">Introduction to Python for Cybersecurity</a>
<ul>
<li><strong>MOOC course</strong></li>
<li>Author: <a href="https://www.infosecinstitute.com/">Infosec</a></li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li><a href="https://www.coursera.org/account/accomplishments/records/ZQ3HH2E8L4ZN">Verification link</a> | <a href="https://www.coursera.org/account/accomplishments/certificate/ZQ3HH2E8L4ZN">Certificate</a></li>
<li>Grade: 100%</li>
<li>Skills: Python Programming</li>
</ul></li>
<li><a href="https://www.coursera.org/specializations/pythonforcybersecurity">Python for Cybersecurity</a>
<ul>
<li><strong>Professional certificate</strong></li>
<li>Author: <a href="https://www.infosecinstitute.com/">Infosec</a></li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li><a href="https://www.coursera.org/account/accomplishments/specialization/T48YD8LN288G">Verification link</a> | <a href="https://www.coursera.org/account/accomplishments/certificate/T48YD8LN288G">Certificate</a></li>
<li>Skills: pre-att&ck, Python Programming, Cybersecurity, attack and defend, Computer Programming</li>
</ul></li>
</ul>
<h3 id="september-1">September</h3>
<ul>
<li>Object Oriented Programming
<ul>
<li><strong>Course for credit towards BSc in Computer Science</strong></li>
<li>Author: University of London</li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li>Grade: 93%</li>
</ul></li>
<li>Software Design and Development
<ul>
<li><strong>Course for credit towards BSc in Computer Science</strong></li>
<li>Author: University of London</li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li>Grade: 90%</li>
</ul></li>
<li>Graphics Programming
<ul>
<li><strong>Course for credit towards BSc in Computer Science</strong></li>
<li>Author: University of London</li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li>Grade: 89%</li>
</ul></li>
<li>Algorithms and Data Structures II
<ul>
<li><strong>Course for credit towards BSc in Computer Science</strong></li>
<li>Author: University of London</li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li>Grade: 82%</li>
</ul></li>
</ul>
<h3 id="june-2">June</h3>
<ul>
<li><a href="https://www.coursera.org/learn/developing-applications-with-sql-databases-and-django">Developing Applications with SQL, Databases, and Django</a>
<ul>
<li><strong>MOOC course</strong></li>
<li>Author: <a href="https://www.coursera.org/ibm">IBM</a></li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li><a href="https://www.coursera.org/account/accomplishments/verify/MD6ZH66X8L34">Verification link</a></li>
<li>Grade: 94%</li>
<li>Skills: Relational Database (RDBMS), Object Relational Mapping (ORM), SQL, Django (Web Framework), Back-End Applications</li>
</ul></li>
<li><a href="https://www.coursera.org/learn/applications-development-microservices-serverless-openshift">Application Development using Microservices and Serverless</a>
<ul>
<li><strong>MOOC course</strong></li>
<li>Author: <a href="https://www.coursera.org/ibm">IBM</a></li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li><a href="https://www.coursera.org/account/accomplishments/records/PEDF2V78E93T">Verification link</a> | <a href="https://www.coursera.org/account/accomplishments/certificate/PEDF2V78E93T">Certificate</a></li>
<li>Grade: 96%</li>
<li>Skills: serverless, Microservices, Representational State Transfer (REST), Openshift, Cloud Applications</li>
</ul></li>
</ul>
<h3 id="may-1">May</h3>
<ul>
<li><a href="https://www.coursera.org/learn/python-project-for-ai-application-development">Python Project for AI & Application Development</a>
<ul>
<li><strong>MOOC course</strong></li>
<li>Author: <a href="https://www.coursera.org/ibm">IBM</a></li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li><a href="https://www.coursera.org/account/accomplishments/verify/85TBJMJVX7XX">Verification link</a> | <a href="https://www.coursera.org/account/accomplishments/certificate/85TBJMJVX7XX">Certificate</a></li>
<li>Grade: 100%</li>
<li>Skills: Artificial Intelligence (AI), Web Application, Python Programming, Application development, Flask</li>
</ul></li>
<li><a href="https://www.coursera.org/learn/ibm-containers-docker-kubernetes-openshift">Introduction to Containers w/ Docker, Kubernetes & OpenShift</a>
<ul>
<li><strong>MOOC course</strong></li>
<li>Author: <a href="https://www.coursera.org/ibm">IBM</a></li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li><a href="https://www.coursera.org/account/accomplishments/records/EF7REH4D826F">Verification link</a> | <a href="https://www.coursera.org/account/accomplishments/certificate/EF7REH4D826F">Certificate</a></li>
<li>Grade: 88%</li>
<li>Skills: Kubernetes, Docker, Cloud Native, Containers, Openshift</li>
</ul></li>
</ul>
<h3 id="april-1">April</h3>
<ul>
<li><a href="https://www.coursera.org/learn/node-js">Developing Cloud Apps with Node.js and React</a>
<ul>
<li><strong>MOOC course</strong></li>
<li>Author: <a href="https://www.coursera.org/ibm">IBM</a></li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li><a href="https://www.coursera.org/account/accomplishments/verify/DKPSKMDSDAJD">Verification link</a> | <a href="https://www.coursera.org/account/accomplishments/certificate/DKPSKMDSDAJD">Certificate</a></li>
<li>Grade: 90%</li>
<li>Skills: React (Web Framework), Node.Js, Json, express, JavaScript</li>
</ul></li>
<li><a href="https://www.coursera.org/learn/developing-cloud-native-applications">Developing Cloud Native Applications</a>
<ul>
<li><strong>MOOC course</strong></li>
<li>Author: <a href="https://www.coursera.org/ibm">IBM</a></li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li><a href="https://www.coursera.org/account/accomplishments/verify/ATFJJKFP8SQC">Verification link</a></li>
<li>Grade: 97%</li>
<li>Skills: Devops, NoSQL, Git (Software), Cloud Infrastructure, Json</li>
</ul></li>
<li><a href="https://www.coursera.org/learn/introduction-to-cloud">Introduction to Cloud Computing</a>
<ul>
<li><strong>MOOC course</strong></li>
<li>Author: <a href="https://www.coursera.org/ibm">IBM</a></li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li><a href="https://www.coursera.org/account/accomplishments/records/83HVU3BUV6UX">Verification link</a> | <a href="https://www.coursera.org/account/accomplishments/certificate/83HVU3BUV6UX">Certificate</a></li>
<li>Grade: 96%</li>
<li>Skills: Cloud Native, Devops, Iaas, PaaS, Saas, Hybrid Multicloud, Cloud Computing</li>
</ul></li>
<li><a href="https://www.coursera.org/learn/introduction-to-web-development-with-html-css-javacript">Introduction to Web Development with HTML, CSS, JavaScript</a>
<ul>
<li><strong>MOOC course</strong></li>
<li>Author: <a href="https://www.coursera.org/ibm">IBM</a></li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li><a href="https://www.coursera.org/account/accomplishments/records/XH9TJP6GAW8S">Verification link</a> | <a href="https://www.coursera.org/account/accomplishments/certificate/XH9TJP6GAW8S">Certificate</a></li>
<li>Grade: 93%</li>
<li>Skills: Web Development, Cascading Style Sheets (CSS), HTML, Git (Software), JavaScript</li>
</ul></li>
<li><a href="https://www.coursera.org/specializations/ibm-cloud-application-development-foundations">Cloud Application Development Foundations</a>
<ul>
<li><strong>Professional certificate</strong></li>
<li>Author: <a href="https://www.coursera.org/ibm">IBM</a></li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li><a href="https://www.coursera.org/account/accomplishments/specialization/BWYTUNLQMDNQ">Verification link</a> | <a href="https://www.coursera.org/account/accomplishments/certificate/BWYTUNLQMDNQ">Certificate</a></li>
<li>Skills: Devops, Python Programming, Node.Js, HTML and CSS, Cloud Applications</li>
</ul></li>
</ul>
<h3 id="march-2">March</h3>
<ul>
<li>Programming with Data
<ul>
<li><strong>Course for credit towards BSc in Computer Science</strong></li>
<li>Author: University of London</li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li>Grade: 87%</li>
</ul></li>
<li>Agile Software Projects
<ul>
<li><strong>Course for credit towards BSc in Computer Science</strong></li>
<li>Author: University of London</li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li>Grade: 85%</li>
</ul></li>
</ul>
<h2 id="section-3">2020</h2>
<h3 id="september-2">September</h3>
<ul>
<li>Fundamentals of Computer Science
<ul>
<li><strong>Course for credit towards BSc in Computer Science</strong></li>
<li>Author: University of London</li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li>Grade: 93%</li>
</ul></li>
<li>Algorithms and Data Structures I
<ul>
<li><strong>Course for credit towards BSc in Computer Science</strong></li>
<li>Author: University of London</li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li>Grade: 95%</li>
</ul></li>
</ul>
<h3 id="april-2">April</h3>
<ul>
<li><a href="https://www.coursera.org/learn/data-analysis-with-python">Data Analysis with Python</a>
<ul>
<li><strong>MOOC course</strong></li>
<li>Author: <a href="https://www.coursera.org/ibm">IBM</a></li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li><a href="https://www.coursera.org/account/accomplishments/records/QJGEMQUZWSRT">Verification link</a> | <a href="https://www.coursera.org/account/accomplishments/certificate/QJGEMQUZWSRT">Certificate</a></li>
<li>Grade: 99%</li>
<li>Skills: Predictive Modelling, Python Programming, Data Analysis, Data Visualization (DataViz), Model Selection, Pandas, Numpy, SciPy, scikit-learn</li>
</ul></li>
<li><a href="https://www.coursera.org/learn/applied-data-science-capstone">Applied Data Science Capstone</a>
<ul>
<li><strong>MOOC course</strong></li>
<li>Author: <a href="https://www.coursera.org/ibm">IBM</a></li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li><a href="https://www.coursera.org/account/accomplishments/records/R3DKHY69VUPJ">Verification link</a> | <a href="https://www.coursera.org/account/accomplishments/certificate/R3DKHY69VUPJ">Certificate</a></li>
<li>Grade: 100%</li>
<li>Skills: Methodology, Github, Jupyter Notebook, Data Science Methodology, K-Means Clustering</li>
</ul></li>
<li><a href="https://www.coursera.org/learn/python-for-data-visualization">Data Visualization with Python</a>
<ul>
<li><strong>MOOC course</strong></li>
<li>Author: <a href="https://www.coursera.org/ibm">IBM</a></li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li><a href="https://www.coursera.org/account/accomplishments/records/SASQM4RFU39Q">Verification link</a> | <a href="https://www.coursera.org/account/accomplishments/certificate/SASQM4RFU39Q">Certificate</a></li>
<li>Grade: 96%</li>
<li>Skills: Dashboards and Charts, dash, Python Programming, Matplotlib, Data Visualization (DataViz)</li>
</ul></li>
<li><a href="https://www.coursera.org/learn/sql-data-science">Databases and SQL for Data Science with Python</a>
<ul>
<li><strong>MOOC course</strong></li>
<li>Author: <a href="https://www.coursera.org/ibm">IBM</a></li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li><a href="https://www.coursera.org/account/accomplishments/records/EKQTHX2NWBDP">Verification link</a> | <a href="https://www.coursera.org/account/accomplishments/certificate/EKQTHX2NWBDP">Certificate</a></li>
<li>Grade: 97%</li>
<li>Skills: Cloud Databases, Python Programming, Jupyter notebooks, Relational Database Management System (RDBMS), SQL</li>
</ul></li>
<li><a href="https://www.coursera.org/learn/machine-learning-with-python">Machine Learning with Python</a>
<ul>
<li><strong>MOOC course</strong></li>
<li>Author: <a href="https://www.coursera.org/ibm">IBM</a></li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li><a href="https://www.coursera.org/account/accomplishments/verify/DLPBWBM6XXBA">Verification link</a> | <a href="https://www.coursera.org/account/accomplishments/certificate/DLPBWBM6XXBA">Certificate</a></li>
<li>Grade: 92%</li>
<li>Skills: SciPy, scikit-learn, Machine Learning, regression, classification, Hierarchical Clustering</li>
</ul></li>
<li><a href="https://www.coursera.org/learn/python-for-applied-data-science-ai">Python for Data Science, AI & Development</a>
<ul>
<li><strong>MOOC course</strong></li>
<li>Author: <a href="https://www.coursera.org/ibm">IBM</a></li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li><a href="https://www.coursera.org/account/accomplishments/verify/295GTVFGL8JC">Verification link</a> | <a href="https://www.coursera.org/account/accomplishments/certificate/295GTVFGL8JC">Certificate</a></li>
<li>Grade: 100%</li>
<li>Skills: Data Science, Python Programming, Data Analysis, Pandas, Numpy</li>
</ul></li>
<li><a href="https://www.coursera.org/specializations/ibm-data-science">IBM Data Science</a>
<ul>
<li><strong>Professional certificate</strong></li>
<li>Author: <a href="https://www.coursera.org/ibm">IBM</a></li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li><a href="https://www.coursera.org/account/accomplishments/professional-cert/6QGYRMSCX8ZG">Verification link</a> | <a href="https://www.coursera.org/account/accomplishments/certificate/6QGYRMSCX8ZG">Certificate</a></li>
</ul></li>
<li><a href="https://www.coursera.org/specializations/applied-data-science">Applied Data Science</a>
<ul>
<li><strong>Professional certificate</strong></li>
<li>Author: <a href="https://www.coursera.org/ibm">IBM</a></li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li><a href="https://www.coursera.org/account/accomplishments/specialization/VZRP58TUSLD4">Verification link</a> | <a href="https://www.coursera.org/account/accomplishments/certificate/VZRP58TUSLD4">Certificate</a></li>
</ul></li>
</ul>
<h3 id="march-3">March</h3>
<ul>
<li><a href="https://www.coursera.org/learn/data-science-methodology">Data Science Methodology</a>
<ul>
<li><strong>MOOC course</strong></li>
<li>Author: <a href="https://www.coursera.org/ibm">IBM</a></li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li><a href="https://www.coursera.org/account/accomplishments/records/6P49GX78LUHG">Verification link</a> | <a href="https://www.coursera.org/account/accomplishments/certificate/6P49GX78LUHG">Certificate</a></li>
<li>Grade: 94%</li>
<li>Skills: Data Science, Methodology, CRISP-DM, Data Analysis, Data Mining</li>
</ul></li>
<li><a href="https://www.coursera.org/learn/open-source-tools-for-data-science">Tools for Data Science</a>
<ul>
<li><strong>MOOC course</strong></li>
<li>Author: <a href="https://www.coursera.org/ibm">IBM</a></li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li><a href="https://www.coursera.org/account/accomplishments/verify/D849WXZHZTF4">Verification link</a> | <a href="https://www.coursera.org/account/accomplishments/certificate/D849WXZHZTF4">Certificate</a></li>
<li>Grade: 99%</li>
<li>Skills: Data Science, Github, Python Programming, Jupyter notebooks, Rstudio</li>
</ul></li>
<li><a href="https://www.coursera.org/learn/what-is-datascience">What is Data Science?</a>
<ul>
<li><strong>MOOC course</strong></li>
<li>Author: <a href="https://www.coursera.org/ibm">IBM</a></li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li><a href="https://www.coursera.org/account/accomplishments/verify/4P5YL94ZJDX6">Verification link</a> | <a href="https://www.coursera.org/account/accomplishments/certificate/4P5YL94ZJDX6">Certificate</a></li>
<li>Grade: 100%</li>
<li>Skills: Data Science, Deep Learning, Machine Learning, Big Data, Data Mining</li>
</ul></li>
<li>Introduction to Programming II
<ul>
<li><strong>Course for credit towards BSc in Computer Science</strong></li>
<li>Author: University of London</li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li>Grade: 94%</li>
</ul></li>
<li>Discrete Mathematics
<ul>
<li><strong>Course for credit towards BSc in Computer Science</strong></li>
<li>Author: University of London</li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li>Grade: 88%</li>
</ul></li>
</ul>
<h2 id="section-4">2019</h2>
<h3 id="october-1">October</h3>
<ul>
<li><a href="https://www.coursera.org/learn/introduction-enterprise-computing">Introduction to Enterprise Computing</a>
<ul>
<li><strong>MOOC course</strong></li>
<li>Author: <a href="https://www.coursera.org/ibm">IBM</a></li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li><a href="https://www.coursera.org/account/accomplishments/verify/8U6HG6NYLJ53">Verification link</a> | <a href="https://www.coursera.org/account/accomplishments/certificate/8U6HG6NYLJ53">Certificate</a></li>
<li>Grade: 94%</li>
<li>Skills: Mainframe, z/OS, Enterprise Software, security, IBM Z</li>
</ul></li>
<li><a href="https://www.coursera.org/learn/system-programming">Basic System Programming on IBM Z</a>
<ul>
<li><strong>MOOC course</strong></li>
<li>Author: <a href="https://www.coursera.org/ibm">IBM</a></li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li><a href="https://www.coursera.org/account/accomplishments/verify/D3BZDEX9W2ED">Verification link</a> | <a href="https://www.coursera.org/account/accomplishments/certificate/D3BZDEX9W2ED">Certificate</a></li>
<li>Grade: 91%</li>
<li>Skills: System Programming, Unix, DB2, System Administration, JCL</li>
</ul></li>
<li><a href="https://www.coursera.org/learn/deploy-micro-kube-icp">IBM Cloud Private: Deploying Microservices with Kubernetes</a>
<ul>
<li><strong>MOOC course</strong></li>
<li>Author: <a href="https://www.coursera.org/ibm">IBM</a></li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li><a href="https://www.coursera.org/account/accomplishments/verify/RXDYZ5DE7LCC">Verification link</a> | <a href="https://www.coursera.org/account/accomplishments/certificate/RXDYZ5DE7LCC">Certificate</a></li>
<li>Grade: 99%</li>
<li>Skills: Microservices, Kubernetes, IBM Cloud Private</li>
</ul></li>
<li><a href="https://www.coursera.org/learn/deploy-micro-kube-ibm-cloud">IBM Cloud: Deploying Microservices with Kubernetes</a>
<ul>
<li><strong>MOOC course</strong></li>
<li>Author: <a href="https://www.coursera.org/ibm">IBM</a></li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li><a href="https://www.coursera.org/account/accomplishments/verify/QDWDX8TDU9YV">Verification link</a> | <a href="https://www.coursera.org/account/accomplishments/certificate/QDWDX8TDU9YV">Certificate</a></li>
<li>Grade: 95%</li>
<li>Skills: Kubernetes, Docker, Yet Another Markup Language (YAML), Cloud, IBM Cloud</li>
</ul></li>
<li><a href="https://www.coursera.org/learn/ibm-microservice-microclimate">Developing and Deploying Microservices with Microclimate</a>
<ul>
<li><strong>MOOC course</strong></li>
<li>Author: <a href="https://www.coursera.org/ibm">IBM</a></li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li><a href="https://www.coursera.org/account/accomplishments/verify/VSN96653UCZC">Verification link</a> | <a href="https://www.coursera.org/account/accomplishments/certificate/VSN96653UCZC">Certificate</a></li>
<li>Grade: 97%</li>
<li>Skills: Microservices, Microclimate</li>
</ul></li>
<li><a href="https://www.coursera.org/learn/z-commands-and-panels">Getting Started on Mainframe with z/OS Commands and Panels</a>
<ul>
<li><strong>MOOC course</strong></li>
<li>Author: <a href="https://www.coursera.org/ibm">IBM</a></li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li><a href="https://www.coursera.org/account/accomplishments/verify/Q4JZ84DUM2YD">Verification link</a> | <a href="https://www.coursera.org/account/accomplishments/certificate/Q4JZ84DUM2YD">Certificate</a></li>
<li>Grade: 95%</li>
<li>Skills: System Administration, z/OS Commands, Panels, TSO, SysOp</li>
</ul></li>
<li><a href="https://www.coursera.org/specializations/ibm-z-mainframe">IBM z/OS Mainframe Practitioner</a>
<ul>
<li><strong>Professional certificate</strong></li>
<li>Author: <a href="https://www.coursera.org/ibm">IBM</a></li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li><a href="https://www.coursera.org/account/accomplishments/professional-cert/4VWC9LGSR7DF">Verification link</a> | <a href="https://www.coursera.org/account/accomplishments/certificate/4VWC9LGSR7DF">Certificate</a></li>
<li>Skills: Linux, Mainframe, z systems, security, IBM Z</li>
</ul></li>
<li><a href="https://www.coursera.org/specializations/ibm-microservices">IBM Microservices</a>
<ul>
<li><strong>Professional certificate</strong></li>
<li>Author: <a href="https://www.coursera.org/ibm">IBM</a></li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li><a href="https://www.coursera.org/account/accomplishments/specialization/RRMYDBQ4A4US">Verification link</a> | <a href="https://www.coursera.org/account/accomplishments/certificate/RRMYDBQ4A4US">Certificate</a></li>
<li>Skills: Microservices, Kubernetes, Devops, Cloud Computing</li>
</ul></li>
</ul>
<h3 id="september-3">September</h3>
<ul>
<li><a href="https://www.coursera.org/learn/intro-ibm-microservices">Microservices - Fundamentals</a>
<ul>
<li><strong>MOOC course</strong></li>
<li>Author: <a href="https://www.coursera.org/ibm">IBM</a></li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li><a href="https://www.coursera.org/account/accomplishments/verify/ANT4KB5LUP5S">Verification link</a> | <a href="https://www.coursera.org/account/accomplishments/certificate/ANT4KB5LUP5S">Certificate</a></li>
<li>Grade: 99%</li>
<li>Skills</li>
</ul></li>
<li>Introduction to Programming I
<ul>
<li><strong>Course for credit towards BSc in Computer Science</strong></li>
<li>Author: University of London</li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li>Grade: 100%</li>
</ul></li>
<li>Numerical Mathematics
<ul>
<li><strong>Course for credit towards BSc in Computer Science</strong></li>
<li>Author: University of London</li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li>Grade: 81%</li>
</ul></li>
<li>Web Development
<ul>
<li><strong>Course for credit towards BSc in Computer Science</strong></li>
<li>Author: University of London</li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li>Grade: 61%</li>
</ul></li>
</ul>
<h3 id="january-1">January</h3>
<ul>
<li><a href="https://www.coursera.org/learn/it-security">IT Security: Defense against the digital dark arts</a>
<ul>
<li><strong>MOOC course</strong></li>
<li>Author: <a href="https://www.coursera.org/google-career-certificates">Google</a></li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li><a href="https://www.coursera.org/account/accomplishments/verify/59QXVPNBSTFD">Verification link</a> | <a href="https://www.coursera.org/account/accomplishments/certificate/59QXVPNBSTFD">Certificate</a></li>
<li>Grade: 97%</li>
<li>Skills: Cybersecurity, Wireless Security, Cryptography, Network Security</li>
</ul></li>
<li><a href="https://www.coursera.org/specializations/google-it-support">Google IT Support</a>
<ul>
<li><strong>Professional certificate</strong></li>
<li>Author: <a href="https://www.coursera.org/google-career-certificates">Google</a></li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li><a href="https://www.coursera.org/account/accomplishments/professional-cert/9YNQJVXGX2WL">Verification link</a> | <a href="https://www.coursera.org/account/accomplishments/certificate/9YNQJVXGX2WL">Certificate</a></li>
<li>Skills: Debugging, Encryption Algorithms and Techniques, Customer Service, Network Protocols, Cloud Computing</li>
</ul></li>
</ul>
<h2 id="section-5">2018</h2>
<h3 id="december-1">December</h3>
<ul>
<li><a href="https://www.coursera.org/learn/os-power-user">Operating Systems and You: Becoming a Power User</a>
<ul>
<li><strong>MOOC course</strong></li>
<li>Author: <a href="https://www.coursera.org/google-career-certificates">Google</a></li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li><a href="https://www.coursera.org/account/accomplishments/verify/4ZEE9XWH4GS2">Verification link</a> | <a href="https://www.coursera.org/account/accomplishments/certificate/4ZEE9XWH4GS2">Certificate</a></li>
<li>Grade: 100%</li>
<li>Skills: Powershell, Linux File Systems, Linux, Command-Line Interface</li>
</ul></li>
<li><a href="https://www.coursera.org/learn/system-administration-it-infrastructure-services">System Administration and IT Infrastructure Services</a>
<ul>
<li><strong>MOOC course</strong></li>
<li>Author: <a href="https://www.coursera.org/google-career-certificates">Google</a></li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li><a href="https://www.coursera.org/account/accomplishments/verify/C5S2TV52K3VD">Verification link</a> | <a href="https://www.coursera.org/account/accomplishments/certificate/C5S2TV52K3VD">Certificate</a></li>
<li>Grade: 100%</li>
<li>Skills: Directory Service, Lightweight Directory Access Protocol (LDAP), Backup</li>
</ul></li>
<li><a href="https://www.coursera.org/learn/computer-networking">The Bits and Bytes of Computer Networking</a>
<ul>
<li><strong>MOOC course</strong></li>
<li>Author: <a href="https://www.coursera.org/google-career-certificates">Google</a></li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li><a href="https://www.coursera.org/account/accomplishments/verify/KM9N6F6S4RZZ">Verification link</a> | <a href="https://www.coursera.org/account/accomplishments/certificate/KM9N6F6S4RZZ">Certificate</a></li>
<li>Grade: 100%</li>
<li>Skills: Domain Name System (DNS), Ipv4, Network Model, Troubleshooting</li>
</ul></li>
<li><a href="https://www.coursera.org/learn/technical-support-fundamentals">Technical Support Fundamentals</a>
<ul>
<li><strong>MOOC course</strong></li>
<li>Author: <a href="https://www.coursera.org/google-career-certificates">Google</a></li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li><a href="https://www.coursera.org/account/accomplishments/verify/6FLVPKK925FE">Verification link</a> | <a href="https://www.coursera.org/account/accomplishments/certificate/6FLVPKK925FE">Certificate</a></li>
<li>Grade: 98%</li>
<li>Skills: Binary Code, Customer Support, Linux, Troubleshooting</li>
</ul></li>
</ul>
<h2 id="section-6">2017</h2>
<h3 id="december-2">December</h3>
<ul>
<li><a href="https://www.coursera.org/learn/grammar-punctuation">Grammar and Punctuation</a>
<ul>
<li><strong>MOOC course</strong></li>
<li>Author: <a href="https://www.coursera.org/uci">University of California, Irvine</a></li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li><a href="https://www.coursera.org/account/accomplishments/verify/4GB5YYUEYJAK">Verification link</a> | <a href="https://www.coursera.org/account/accomplishments/certificate/4GB5YYUEYJAK">Certificate</a></li>
<li>Grade: 98%</li>
<li>Skills: English Grammar, Punctuation, Grammar, Writing</li>
</ul></li>
</ul>
<h2 id="section-7">2016</h2>
<h3 id="november-1">November</h3>
<ul>
<li><a href="https://www.coursera.org/learn/dna-sequencing">Algorithms for DNA Sequencing</a>
<ul>
<li><strong>MOOC course</strong></li>
<li>Author: <a href="https://www.coursera.org/jhu">Johns Hopkins University</a></li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li><a href="https://www.coursera.org/account/accomplishments/verify/NYLNAZU7ZNAP">Verification link</a> | <a href="https://www.coursera.org/account/accomplishments/certificate/NYLNAZU7ZNAP">Certificate</a></li>
<li>Grade: 96%</li>
<li>Skills: Bioinformatics Algorithms, Algorithms, Python Programming, Algorithms On Strings</li>
</ul></li>
</ul>
<h3 id="october-2">October</h3>
<ul>
<li><a href="https://www.coursera.org/learn/papers-molecular-genetics">Classical papers in molecular genetics</a>
<ul>
<li><strong>MOOC course</strong></li>
<li>Author: <a href="https://www.coursera.org/google-career-certificates">University of Geneva</a></li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li><a href="https://www.coursera.org/account/accomplishments/verify/FFDDM5CXT4YE">Verification link</a> | <a href="https://www.coursera.org/account/accomplishments/certificate/FFDDM5CXT4YE">Certificate</a></li>
<li>Grade: 90%</li>
<li>Skills: Biology, Genetics, Evolution, Genomics</li>
</ul></li>
</ul>
<h3 id="july">July</h3>
<ul>
<li><a href="https://www.coursera.org/learn/python-genomics">Python for Genomic Data Science</a>
<ul>
<li><strong>MOOC course</strong></li>
<li>Author: <a href="https://www.coursera.org/jhu">Johns Hopkins University</a></li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li><a href="https://www.coursera.org/account/accomplishments/verify/WC2P9E6UWKPN">Verification link</a> | <a href="https://www.coursera.org/account/accomplishments/certificate/WC2P9E6UWKPN">Certificate</a></li>
<li>Grade: 100%</li>
<li>Skills: Bioinformatics, Biopython, Python Programming, Genomics</li>
</ul></li>
<li><a href="https://www.coursera.org/learn/galaxy-project">Genomic Data Science with Galaxy</a>
<ul>
<li><strong>MOOC course</strong></li>
<li>Author: <a href="https://www.coursera.org/jhu">Johns Hopkins University</a></li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li><a href="https://www.coursera.org/account/accomplishments/verify/9TGTWFQK6WHY">Verification link</a> | <a href="https://www.coursera.org/account/accomplishments/certificate/9TGTWFQK6WHY">Certificate</a></li>
<li>Grade: 96%</li>
<li>Skills: Bioinformatics, Data Analysis, Genome, Genomics</li>
</ul></li>
</ul>
<h3 id="june-3">June</h3>
<ul>
<li><a href="https://www.coursera.org/learn/introduction-genomics">Introduction to Genomic Technologies</a>
<ul>
<li><strong>MOOC course</strong></li>
<li>Author: <a href="https://www.coursera.org/jhu">Johns Hopkins University</a></li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li><a href="https://www.coursera.org/account/accomplishments/verify/YSV532PT5B9C">Verification link</a> | <a href="https://www.coursera.org/account/accomplishments/certificate/YSV532PT5B9C">Certificate</a></li>
<li>Grade: 100%</li>
<li>Skills: Bioinformatics, Statistics, Data Science, Computational Biology</li>
</ul></li>
</ul>
<h3 id="april-3">April</h3>
<ul>
<li><a href="https://www.coursera.org/learn/hiddenmessages">Finding Hidden Messages in DNA (Bioinformatics I)</a>
<ul>
<li><strong>MOOC course</strong></li>
<li>Author: <a href="https://www.coursera.org/ucsd">University of California San Diego</a></li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li><a href="https://www.coursera.org/account/accomplishments/verify/WCMCNHTNHU">Verification link</a> | <a href="https://www.coursera.org/account/accomplishments/certificate/y/WCMCNHTNHU">Certificate</a></li>
<li>Grade: 95% with distinction</li>
<li>Skills: Bioinformatics, Bioinformatics Algorithms, Algorithms, Python Programming</li>
</ul></li>
</ul>
<h3 id="february-1">February</h3>
<ul>
<li><a href="https://www.coursera.org/learn/project-management-capstone">Project Management Project</a>
<ul>
<li><strong>MOOC course</strong></li>
<li>Author: <a href="https://www.coursera.org/uci">University of California, Irvine</a></li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li><a href="https://www.coursera.org/account/accomplishments/verify/DR5ZFZKRZBZ7">Verification link</a> | <a href="https://www.coursera.org/account/accomplishments/certificate/DR5ZFZKRZBZ7">Certificate</a></li>
<li>Grade: 100%</li>
<li>Skills: Schedule, Project Management, Risk Management, Budget</li>
</ul></li>
<li><a href="https://www.coursera.org/specializations/project-management">Project Management Principles and Practices</a>
<ul>
<li><strong>Professional certificate</strong></li>
<li>Author: <a href="https://www.coursera.org/uci">University of California, Irvine</a></li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li><a href="https://www.coursera.org/account/accomplishments/specialization/Z6JA9E244RV6">Verification link</a> | <a href="https://www.coursera.org/account/accomplishments/specialization/certificate/Z6JA9E244RV6">Certificate</a></li>
<li>Skills: Schedule, Project Management, Risk Management, Budget</li>
</ul></li>
</ul>
<h3 id="january-2">January</h3>
<ul>
<li><a href="https://www.coursera.org/learn/project-risk-management">Managing Project Risks and Changes</a>
<ul>
<li><strong>MOOC course</strong></li>
<li>Author: <a href="https://www.coursera.org/uci">University of California, Irvine</a></li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li><a href="https://www.coursera.org/account/accomplishments/verify/H33XRSTLYUTL">Verification link</a> | <a href="https://www.coursera.org/account/accomplishments/certificate/H33XRSTLYUTL">Certificate</a></li>
<li>Grade: 100%</li>
<li>Skills: Project Management, Change Control, Risk Management, Change Management</li>
</ul></li>
<li><a href="https://www.coursera.org/learn/project-planning">Initiating and Planning Projects</a>
<ul>
<li><strong>MOOC course</strong></li>
<li>Author: <a href="https://www.coursera.org/uci">University of California, Irvine</a></li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li><a href="https://www.coursera.org/account/accomplishments/verify/T9QXCDZXA7JX">Verification link</a> | <a href="https://www.coursera.org/account/accomplishments/certificate/T9QXCDZXA7JX">Certificate</a></li>
<li>Grade: 98%</li>
<li>Skills: Project Management, Project, Planning, Project Planning</li>
</ul></li>
<li><a href="https://www.coursera.org/learn/schedule-projects">Budgeting and Scheduling Projects</a>
<ul>
<li><strong>MOOC course</strong></li>
<li>Author: <a href="https://www.coursera.org/uci">University of California, Irvine</a></li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li><a href="https://www.coursera.org/account/accomplishments/verify/L5Z4S2D59JYN">Verification link</a> | <a href="https://www.coursera.org/account/accomplishments/certificate/L5Z4S2D59JYN">Certificate</a></li>
<li>Grade: 97%</li>
<li>Skills: Schedule, Project Management, Budget, Budget Estimation</li>
</ul></li>
</ul>
<h2 id="section-8">2015</h2>
<h3 id="december-3">December</h3>
<ul>
<li><a href="https://www.coursera.org/learn/cloudnetworking">Cloud Networking</a>
<ul>
<li><strong>MOOC course</strong></li>
<li>Author: <a href="https://www.coursera.org/illinois">University of Illinois at Urbana-Champaign</a></li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li><a href="https://www.coursera.org/account/accomplishments/verify/BJ4L9A85UE">Verification link</a> | <a href="https://www.coursera.org/account/accomplishments/certificate/y/BJ4L9A85UE">Certificate</a></li>
<li>Grade: 96%</li>
<li>Skills: Software-Defined Networking, Python Programming, Cloud Infrastructure, Cloud Computing</li>
</ul></li>
</ul>
<h3 id="october-3">October</h3>
<ul>
<li><a href="https://www.coursera.org/learn/cloudapplications">Cloud Computing Applications</a>
<ul>
<li><strong>MOOC course</strong></li>
<li>Author: <a href="https://www.coursera.org/illinois">University of Illinois at Urbana-Champaign</a></li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li><a href="https://www.coursera.org/account/accomplishments/verify/EQT864KYDZ">Verification link</a> | <a href="https://www.coursera.org/account/accomplishments/certificate/y/EQT864KYDZ">Certificate</a></li>
<li>Grade: 90%</li>
<li>Skills: Cloud Infrastructure, Cloud Applications, Cloud Storage, Cloud Computing</li>
</ul></li>
<li><a href="https://www.coursera.org/learn/chem991">Introduction to Chemistry: Reactions and Ratios</a>
<ul>
<li><strong>MOOC course</strong></li>
<li>Author: <a href="https://www.coursera.org/duke">Duke University</a></li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li><a href="https://www.coursera.org/account/accomplishments/verify/ZTTQUAZ8JT">Verification link</a> | <a href="https://www.coursera.org/account/accomplishments/certificate/y/ZTTQUAZ8JT">Certificate</a></li>
<li>Grade: 90%</li>
</ul></li>
</ul>
<h3 id="june-4">June</h3>
<ul>
<li><a href="https://www.coursera.org/learn/cloudcomputing2">Cloud Computing Concepts: Part 2</a>
<ul>
<li><strong>MOOC course</strong></li>
<li>Author: <a href="https://www.coursera.org/illinois">University of Illinois at Urbana-Champaign</a></li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li><a href="https://www.coursera.org/account/accomplishments/verify/4J7QWRXLYU">Verification link</a> | <a href="https://www.coursera.org/account/accomplishments/certificate/y/4J7QWRXLYU">Certificate</a></li>
<li>Grade: 90%</li>
<li>Skills: Distributed Computing, C++, Cloud Computing, NoSQL</li>
</ul></li>
</ul>
<h3 id="april-4">April</h3>
<ul>
<li><a href="https://www.coursera.org/learn/cloudcomputing">Cloud Computing Concepts</a>
<ul>
<li><strong>MOOC course</strong></li>
<li>Author: <a href="https://www.coursera.org/illinois">University of Illinois at Urbana-Champaign</a></li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li><a href="https://www.coursera.org/account/accomplishments/verify/2VN4Z7UZMA">Verification link</a> | <a href="https://www.coursera.org/account/accomplishments/certificate/2VN4Z7UZMA">Certificate</a></li>
<li>Grade: 85%</li>
<li>Skills: Distributed Algorithm, Distributed Computing, C++, Cloud Computing</li>
</ul></li>
<li><a href="https://www.coursera.org/learn/genetics-evolution">Introduction to Genetics and Evolution</a>
<ul>
<li><strong>MOOC course</strong></li>
<li>Author: <a href="https://www.coursera.org/duke">Duke University</a></li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li><a href="https://www.coursera.org/account/accomplishments/records/2RCDAKPDG6">Verification link</a> | <a href="https://www.coursera.org/account/accomplishments/certificate/2RCDAKPDG6">Certificate</a></li>
<li>Grade: 88% with distinction</li>
<li>Skills: Biology, Genetics, Evolution, Genomics</li>
</ul></li>
</ul>Learning Log - In Progress2023-06-27T00:00:00-06:002023-06-27T00:00:00-06:00Brad Lazaruktag:None,2023-06-27:/learning-in-progress.htmlBrad Lazaruk’s in progress learning<p><a href="/learning-queue.html">Queued learning</a> | <a href="/learning-in-progress.html">In progress learning</a> | <a href="/learning-completed.html">Completed learning</a></p>
<p>Entries here are listed by their projected completion date.</p>
<ul>
<li><a href="https://www.coursera.org/professional-certificates/google-data-analytics">Google Data Analytics Professional Certificate</a>
<ul>
<li>Author: <a href="https://www.coursera.org/google-career-certificates">Google</a></li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li>Skills: Spreadsheet, Data Cleansing, Data Analysis, Data Visualization (DataViz), SQL, Questioning, Decision-Making, Problem Solving, Metadata, Data Collection, Data Ethics, Sample Size Determination, Data Integrity, Data Calculations, Data Aggregation, Tableau Software, Presentation, R Programming, R Markdown, Rstudio</li>
</ul></li>
<li><a href="https://www.coursera.org/learn/foundations-data">Foundations: Data, Data, Everywhere</a>
<ul>
<li><strong>MOOC course</strong></li>
<li>Author: <a href="https://www.coursera.org/google-career-certificates">Google</a></li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
<li>Skills: Spreadsheet, Data Cleansing, Data Analysis, Data Visualization (DataViz), SQL</li>
</ul></li>
</ul>
<h2 id="section">2023</h2>
<h3 id="september">September</h3>
<ul>
<li>Intelligent Signal Processing
<ul>
<li><strong>Course for credit towards BSc in Computer Science</strong></li>
<li>Author: University of London</li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
</ul></li>
</ul>
<h2 id="section-1">2024</h2>
<h3 id="march">March</h3>
<ul>
<li>Final Project
<ul>
<li><strong>Course for credit towards BSc in Computer Science</strong></li>
<li>Author: University of London</li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
</ul></li>
</ul>
<h3 id="april">April</h3>
<ul>
<li>Bachelor of Computer Science (specialism in Machine Learning and Artificial Intelligence)
<ul>
<li>Author: University of London</li>
<li>Delivered via: <a href="https://coursera.org">Coursera</a></li>
</ul></li>
</ul>Building a learning log with Python2023-06-27T00:00:00-06:002023-06-27T00:00:00-06:00Brad Lazaruktag:None,2023-06-27:/learning-log.htmlHow I built my learning log exporter<p>Since I started using <a href="https://coursera.org">Coursera</a> and <a href="https://edx.org">edX</a> back in 2014, I’ve completed a lot of courses. I still have many more that I’d like to complete.</p>
<p>Keeping a list of these was easy enough with bookmarks. But then I came across a page on the website of Sébastien Lavoie, <a href="https://www.sglavoie.com/posts/2022/06/18/what-it-took-to-propel-a-career-in-tech-in-five-years/">What it took to propel a career in tech in five years</a>. Sébastien and I both attended the University of London Bachelor of Computer Science programme, and I thought his listing of what education and learnings he had completed was a great idea. Not only that, but Sébastien’s site and my own are both based in <a href="https://getpelican.com">Pelican</a> … so basically I decided to fork his idea to list all my learnings in a spreadsheet and write some code to convert that to markdown. (… one day I should look into his code and update my own. :-) )</p>
<p>There is a lot more work that I want to do on this, especially before I post the code on GitHub. But the output so far is giving me what I wanted, separate lists of <a href="/learning-queue.html">queued learning</a>, <a href="/learning-in-progress.html">in progress learning</a>, and <a href="/learning-completed.html">completed learning</a>.</p>
<p>Thanks for the inspiration Sébastien.</p>Learning Log - Queue2023-06-27T00:00:00-06:002023-06-27T00:00:00-06:00Brad Lazaruktag:None,2023-06-27:/learning-queue.htmlBrad Lazaruk’s learning queue<p><a href="/learning-queue.html">Queued learning</a> | <a href="/learning-in-progress.html">In progress learning</a> | <a href="/learning-completed.html">Completed learning</a></p>
<ul>
<li><a href="https://www.cloudskillsboost.google/course_templates/536">Introduction to Generative AI</a>
<ul>
<li><strong>MOOC course</strong></li>
<li>Author: <a href="https://www.cloudskillsboost.google/">Google</a></li>
<li>Delivered via: <a href="https://www.cloudskillsboost.google/">Google Cloud Skills Boost</a></li>
</ul></li>
<li>Introduction to Large Language Models
<ul>
<li><strong>MOOC course</strong></li>
<li>Author: <a href="https://www.cloudskillsboost.google/">Google</a></li>
<li>Delivered via: <a href="https://www.cloudskillsboost.google/">Google Cloud Skills Boost</a></li>
</ul></li>
<li>Introduction to Responsible AI
<ul>
<li><strong>MOOC course</strong></li>
<li>Author: <a href="https://www.cloudskillsboost.google/">Google</a></li>
<li>Delivered via: <a href="https://www.cloudskillsboost.google/">Google Cloud Skills Boost</a></li>
</ul></li>
<li>Generative AI Fundamentals
<ul>
<li><strong>MOOC course</strong></li>
<li>Author: <a href="https://www.cloudskillsboost.google/">Google</a></li>
<li>Delivered via: <a href="https://www.cloudskillsboost.google/">Google Cloud Skills Boost</a></li>
</ul></li>
<li>Introduction to Image Generation
<ul>
<li><strong>MOOC course</strong></li>
<li>Author: <a href="https://www.cloudskillsboost.google/">Google</a></li>
<li>Delivered via: <a href="https://www.cloudskillsboost.google/">Google Cloud Skills Boost</a></li>
</ul></li>
<li>Encoder-Decoder Architecture
<ul>
<li><strong>MOOC course</strong></li>
<li>Author: <a href="https://www.cloudskillsboost.google/">Google</a></li>
<li>Delivered via: <a href="https://www.cloudskillsboost.google/">Google Cloud Skills Boost</a></li>
</ul></li>
<li>Attention Mechanism
<ul>
<li><strong>MOOC course</strong></li>
<li>Author: <a href="https://www.cloudskillsboost.google/">Google</a></li>
<li>Delivered via: <a href="https://www.cloudskillsboost.google/">Google Cloud Skills Boost</a></li>
</ul></li>
<li>Transformer Models and BERT Model
<ul>
<li><strong>MOOC course</strong></li>
<li>Author: <a href="https://www.cloudskillsboost.google/">Google</a></li>
<li>Delivered via: <a href="https://www.cloudskillsboost.google/">Google Cloud Skills Boost</a></li>
</ul></li>
<li>Create Image Captioning Models
<ul>
<li><strong>MOOC course</strong></li>
<li>Author: <a href="https://www.cloudskillsboost.google/">Google</a></li>
<li>Delivered via: <a href="https://www.cloudskillsboost.google/">Google Cloud Skills Boost</a></li>
</ul></li>
<li>Introduction to Generative AI Studio
<ul>
<li><strong>MOOC course</strong></li>
<li>Author: <a href="https://www.cloudskillsboost.google/">Google</a></li>
<li>Delivered via: <a href="https://www.cloudskillsboost.google/">Google Cloud Skills Boost</a></li>
</ul></li>
<li>Generative AI Explorer - Vertex AI
<ul>
<li><strong>MOOC course</strong></li>
<li>Author: <a href="https://www.cloudskillsboost.google/">Google</a></li>
<li>Delivered via: <a href="https://www.cloudskillsboost.google/">Google Cloud Skills Boost</a></li>
</ul></li>
<li><a href="https://www.cloudskillsboost.google/journeys/118">Generative AI Learning Path</a>
<ul>
<li>Author: <a href="https://www.cloudskillsboost.google/">Google</a></li>
<li>Delivered via: <a href="https://www.cloudskillsboost.google/">Google Cloud Skills Boost</a></li>
</ul></li>
</ul>Add to Pelican - Sitemap and Robots.txt2022-09-11T00:00:00-06:002022-09-11T00:00:00-06:00Brad Lazaruktag:None,2022-09-11:/add-sitemap-and-robots-to-pelican.html–<p>Finally with some more time on my hands I fixed up the last bit of the site migration from Wordpress to Pelican: adding the sitemap and robots.txt file.</p>
<p>The robots.txt file was easy, as this is a static file in the first place. Just create the file in /content/extra and on the next build it will be available in the output.</p>
<p>The sitemap is a bit more involved. Fortunately, there’s <a href="https://github.com/pelican-plugins/sitemap">a plugin for that</a>.</p>
<ol type="1">
<li>Add the sitemap plugin to your environment.</li>
</ol>
<pre><code>python -m pip install pelican-sitemap</code></pre>
<ol start="2" type="1">
<li>Update your requirements.txt so the deployments to other environments, like Netlify when this is published, also add the plugin.</li>
</ol>
<pre><code>pip freeze > requirements.txt</code></pre>
<ol start="3" type="1">
<li>Add the configuration of the plugin to pelicanconf.py file.</li>
</ol>
<pre><code> SITEMAP = {
"format": "xml",
"priorities": {
"articles": 0.5,
"indexes": 0.5,
"pages": 0.5
},
"changefreqs": {
"articles": "monthly",
"indexes": "daily",
"pages": "monthly"
},
"exclude": ["tag/", "category/", "author/"]
}</code></pre>
<p>And … that’s that. Super easy. Pelican is great.</p>Email Sieve Filtering with Simplelogin2022-09-10T00:00:00-06:002022-09-10T00:00:00-06:00Brad Lazaruktag:None,2022-09-10:/sieve-filtering-with-simplelogin.html–<p>Recently I started using <a href="https://simplelogin.io">Simplelogin</a>. A wonderful service, it lets you create temporary email addresses and disable or delete them when you don’t want them anymore.</p>
<p>I also get to redirect all my domain email through there so I can use throwaway email addresses with my own <span class="citation" data-cites="lazaruk.com">@lazaruk.com</span> domain.</p>
<p>But on the downside, once I turned it on, all my email filters broke. Most of them were based on sender email addresses or domains in the SMTP header <em>from</em> field, and with Simplelogin intercepting all the emails the addresses all changed and the domain for all email reaching me is now simplelogin.co.</p>
<p>I’ve had the same email address for 25 years, and I have no intention of disabling it. So for those spammers that are sending to my main address I need to filter their mail after Simplelogin has forwarded it.</p>
<p>This gave me the reason to finally figure out the <a href="http://sieve.info/">Sieve</a> email filtering that my mail service provider has.</p>
<p>In the end I was able to work out three filters: one for the name that the sender included in their email, one for their original <em>from</em> address, and another for the <em>Message-ID</em>.</p>
<p><strong>To-Do</strong>: I’m sure there are too many commands in the require statements. I still need to go through those and reduce them to the minimum required.</p>
<h3 id="name">Name</h3>
<p>By far the easiest to implement, probably the most useful for filtering people that I know, and also the least likely to be useful for filtering spammers. Spammers will easily change the “name” that they appear to send their email from. On the other hand, my friends “Bob McGoodGuy” and “Alice SeemsFriendly” always configure their email accounts to send their name as the <em>from</em> field.</p>
<p>So to file emails from my friends, I use this:</p>
<pre><code>require ["include", "environment", "variables", "relational", "comparator-i;ascii-numeric"];
require ["fileinto"];
if allof (address :all :comparator "i;unicode-casemap" :contains "From" ["Bob McGoodGuy", "Alice SeemsFriendly"]) {
fileinto "Mail from friends";
}</code></pre>
<p>While to reject emails from “Eve Real-Person”, who just won’t leave me alone, this does the trick:</p>
<pre><code>require ["include", "environment", "variables", "relational", "comparator-i;ascii-numeric"];
require ["reject"];
if allof (address :all :comparator "i;unicode-casemap" :contains "From" "Eve Real-Person") {
reject "550 5.1.1: Recipient address rejected: Address does not exist";
}
</code></pre>
<h3 id="from-address">From: Address</h3>
<p>Now some spammers will fiddle with their <em>from</em> name, but leave the email address they are sending from alone. Also, this filter works for catching those distribution lists that are not respecting unsubscribe requests. They often send from the same addresses or domains and so are easy to filter. It can also be used to reject entire domains.</p>
<p>But as I noted above, the <em>from</em> field is always changed by Simplelogin. You can set it up so that the “name” portion is retained and still comes through in the <em>from</em> field. But the address is always changed.</p>
<p>To resolve this, I configured Simplelogin to include to original sender in the email headers (just a click in their settings). And now I just have to have my sieve filter scan the <em>X-Simplelogin-Envelope-From</em> field in the header and compare the original name and email address information with those that I want to filter.</p>
<p>All this also has the nice effect of surviving and functioning if I choose to change the way Simplelogin presents the original sender name to me. There are a few options, but changing them won’t break these sieve filters.</p>
<pre><code>require ["include", "environment", "variables", "relational", "comparator-i;ascii-numeric"];
require ["imap4flags", "reject"];
if anyof (header :is "X-Simplelogin-Envelope-From" ["daily-list.ext", "newsletter@daily-list.ext", "idiot06@yahoo.ca", "Spammer McSpammyPants"]) {
reject "550 5.1.1: Recipient address rejected: Address does not exist";
}</code></pre>
<h3 id="message-id">Message-ID</h3>
<p>The most complicated so far is for those spammers that change the name and email domain in the header <em>from</em> field. This, of course, is most of them.</p>
<p>Now I’m sure this will be an evolving battle.</p>
<p>Even if their names and domains are forged, they still need to send the emails from somewhere. And those spammers that are concerned about not wasting their time and resources will put in legitimate addresses to catch bouncebacks from mailboxes that no longer exist. That way when they receive a “550” error that my mailbox doesn’t exist they stop sending mail to that address.</p>
<p>I know that this field is set by the spammers so they can technically forge it too, but right now the <em>Message-ID</em> field is giving me enough to filter them with.</p>
<p>Checking into the headers of the recent batches of spam, I noted they were coming from a few specific domains. So I added a filter to scan the <em>Message-ID</em> field and trigger if those domains are found.</p>
<pre><code>require ["include", "environment", "variables", "relational", "comparator-i;ascii-numeric", "imap4flags", "reject"];
if anyof (header :contains "Message-Id" ["@spammer-domain.com", "@alter.spammers.co", "@another.spammer.net"]) {
reject "550 5.1.1: Recipient address rejected: Address does not exist";
}</code></pre>
<p>And voila. Regardless of the name and email address that the spammer uses, this does the job in rejecting messages that include those domains in the <em>Message-ID</em>.</p>
<p>So for so good!</p>Remember to Disable Caching2022-09-02T00:00:00-06:002022-09-02T00:00:00-06:00Brad Lazaruktag:None,2022-09-02:/disable-caching.html–<p>Remember when doing site development work to disable local caching in the browser dev tools.</p>
<figure>
<img alt="Disable caching on the browser when doing site development" src="/images/devtools.png"/><figcaption aria-hidden="true">Disable caching on the browser when doing site development</figcaption>
</figure>Fixing my Pelican to display images2022-09-02T00:00:00-06:002022-09-02T00:00:00-06:00Brad Lazaruktag:None,2022-09-02:/fixing-pelican-to-show-images.html–<p>I found that the Pelican site theme I was using was automatically expanding images to 100% width, which I didn’t want to have. I also wanted to use captions on my images.</p>
<p>Thanks to <a href="https://www.joelotz.com/blog/2021/use-pandoc-markdown-in-pelican.html">Joe Lotz</a> I was able to sort this out.</p>
<p>This involved switching from the Pelican provided <a href="https://python-markdown.github.io/">Python Markdown</a> to <a href="https://garrettgman.github.io/rmarkdown/authoring_pandoc_markdown.html">Pandoc Markdown</a>. This adds a whole bunch more Markdown functionality to the site.</p>
<ol type="1">
<li>Add Pandoc and the Pelican Pandoc reader to your environment.</li>
</ol>
<pre><code>python -m pip install pandoc
python -m pip install pelican-pandoc-reader</code></pre>
<ol start="2" type="1">
<li>Update your requirements.txt so the deployments to other environments, like Netlify when this is published, also do this.</li>
</ol>
<pre><code>pip freeze > requirements.txt</code></pre>
<ol start="3" type="1">
<li>I wanted to extend the site CSS to use my own CSS file. But I also wanted to not make a lot of changes to the source CSS of the theme if possible. So I created a new CSS file under /theme/static/css and then updated /theme/templates/base.html and added my css file in last. I also had to edit the pelicanconf.py file and change the line <code>NEST_CSS_MINIFY = True</code> to <code>NEST_CSS_MINIFY = False</code>; without this change the minified css file is used instead and my custom css is ignored.</li>
<li>Now I was able to comment out the <code>width: 100%</code> and <code>height: 100%</code> from nest.css, and add the captioning CSS that I wanted to use to lazaruk.css.</li>
</ol>
<p>This also served as a good reminder that css settings for images override the settings on individual images. Because I wanted to use the individual settings to define image size I needed comment those out of the css completely.</p>PowerPoint Wrapping In The Middle of a Word2022-08-21T00:00:00-06:002022-08-21T00:00:00-06:00Brad Lazaruktag:None,2022-08-21:/powerpoint-words-wrapping.htmlHow to stop Microsoft PowerPoint from wrapping words in the middle of a word<p>I had a PowerPoint document that I inherited where the text boxes were allowing words to be split in the middle of the word. Turns out the solution, copied/pasted below, was this:</p>
<blockquote>
<p>Your presentation was edited at one time on a computer running an oriental language. When that happened, an obscure PowerPoint setting got applied to it. If it’s just a few placeholders that are affected, here’s how to fix it:</p>
</blockquote>
<blockquote>
<ol type="1">
<li>Choose File>Options>Language. In the Office authoring languages and proofing section, click Add a Language.</li>
<li>Choose an Asian language (Chinese, Japanese, Korean all will work). OK out and restart all Office programs.</li>
<li>Open your deck in PowerPoint.</li>
<li>Select the text in an affected text box or text placeholder.</li>
<li>Open the Home>Paragraph dialog and click on the Asian Typography tab.</li>
<li>Uncheck the option for Allow Latin text to wrap in the middle of a Word. OK out.</li>
<li>Repeat steps 4 to 6 for all other affected text boxes and text placeholders.</li>
</ol>
</blockquote>
<blockquote>
<p>If the presentation is large and the problem is widespread, take an alternate approach:</p>
</blockquote>
<blockquote>
<ol type="1">
<li>Use File>Save As and change the Save as type to PowerPoint XML Presentation (*.xml).</li>
<li>Open the XML file in NotePad</li>
<li>Choose Edit>Replace.</li>
<li>In the Find what field, type latinBreak=“1”.</li>
<li>In the Replace with field, type latinBreak-“0”</li>
<li>Choose Replace All.</li>
<li>Save the file and close NotePad.</li>
<li>Open PowerPoint and use File>Open to find and reopen the XML version. Resave in the normal PowerPoint pptx format. All English text will now break normally.</li>
</ol>
</blockquote>
<p><em>Source: <a href="https://answers.microsoft.com/en-us/msoffice/forum/all/powerpoint-text-box-issue-how-to-stop-text/9f574574-d287-4394-86d9-1c44d667098f">PowerPoint text box issue: how to stop text splitting in the middle of words in a text box MS PowerPoint 365 plz i need answer</a>.</em></p>Problems with BOINC2022-08-19T08:59:00-06:002022-08-19T08:59:00-06:00Brad Lazaruktag:None,2022-08-19:/my-problems-with-boinc.htmlSolving a problem with getting BOINC and World Community Grid to download new work to me<p>I’m a long time user of <a href="https://boinc.berkeley.edu/">BOINC</a>. In fact I was an early user of the old SETI@Home project before BOINC was even established.</p>
<p>Over the years I’ve tried some project managers with BOINC, starting with <a href="http://www.gridrepublic.org/">GridRepublic</a>, and then moving to <a href="https://www.worldcommunitygrid.org/">World Community Grid</a> when I joined IBM in 2005.</p>
<p>A few years ago it seemed to me that GridRepublic was no longer being maintained and so I dabbled with <a href="https://scienceunited.org/">ScienceUnited</a> as well.</p>
<p>But in the end I didn’t like the strain that ScienceUnited was putting on my laptop, and I felt that I had to spend far too much time tweaking and monitoring it so that it completed the work units on time. So I decided to switch back to World Community Grid where I could easily specify limits that I was comfortable with and knew they would be respected.</p>
<p>At the beginning of 2022, IBM transferred the WCG project to Krembil, and as part of the migration all work was stopped. When the project came back online I wasn’t getting new work units.</p>
<p>So today I finally took the time to look into this.</p>
<p>Removing and re-adding the WCG project from BOINC didn’t solve the problem. In fact, I was unable to re-add the project at all to my BOINC manager; I just got errors when trying to do so. So I tried removing the application entirely and re-installing from the version downloaded from the BOINC website, and from the WCG website. Neither of those solved the problem. I was sometimes able to add the project to the BOINC manager, and sometimes not. But even when it did add I was unable to get any work units to transfer.</p>
<p>Performing a scrub of the program files directories and the registry didn’t move things forward for me either.</p>
<p>But finally, installing the BOINC client as downloaded from ScienceUnited and then using it to attach to World Community Grid worked. The project attached and new work units are being downloaded in a reasonable timeframe.</p>
<p>Odd. But it works.</p>Hello, world.2022-08-14T14:11:00-06:002023-06-27T16:31:00-06:00Brad Lazaruktag:None,2022-08-14:/deploy-pelican-to-netlify.htmlThe quick summary of how I created the shell of this site and deployed it from GitHub to Netlify<p>Well it only seems fitting that the first post I write for this iteration of the site would be a description of how I made it. As I go back and add content from the old site(s) to this one I’m going to manually update the timestamp to the original posting time. So things may be older on the site - but this is the first post. This site is a static site generated with <a href="https://getpelican.com">Pelican</a> and hosted on <a href="https://netlify.com">Netlify</a>. I chose Pelican because I wanted a static site generator, and I wanted it to be associated with Python if possible, and I wanted to use Markdown to write the actual posts and files. I don’t require anything like Django right now … maybe later.</p>
<p>Assumptions: You have a <a href="https://github.com">GitHub</a> account, and GitHub desktop is installed and configured. <a href="https://anaconda.com">Anaconda</a> is installed and configured. You’ve got a Netlify account.</p>
<h2 id="setup">Setup</h2>
<ol type="1">
<li><p>I like Anaconda, so I defined a new environment there. I double checked that python was at least version 3.8, and installed pelican and markdown, along with whatever dependencies those brought about.</p></li>
<li><p>Since I prefer to use GitHub desktop I fired that up and clicked on File > New Repository. I gave my new repo a name and description and pointed the local path to the repos folder to let the application create the subfolder based on the name of the repository. I created the README so I could populate it later. Since I was creating my own Git ignore file later I did not choose one here and I since this is a Pelican website I used the GNU AGPLv3 license to respect the license of the original project.</p></li>
<li><p>Now I opened the project folder and create a file called .gitignore. Into .gitignore I added the default Python exclusions from <a href="https://gitignore.io">gitignore.io</a>, and at the end of the file I added</p>
<pre><code># Pelican output directory
output/</code></pre>
<p>After committing that to the repo the standard Python bits, as well as the output directory of the site itself, are not going to be pushed to GitHub. That’s fine since Netlify will be rebuilding the output directory locally every time I commit a new change to the repo.</p></li>
<li><p>From inside the project folder, I setup the pelican structure with the command <code>pelican-quickstart</code>. This launched a configuration wizard. I accepted the defaults except for:</p>
<ul>
<li>“What will be the title of this web site?”
<ul>
<li>This is written to the pelicanconf.py file as the SITENAME</li>
</ul></li>
<li>“Who will be the author of this web site?”
<ul>
<li>Written to pelicanconf.py as AUTHOR</li>
</ul></li>
<li>“Do you want to specify a URL prefix?”
<ul>
<li>Set this to N. When I specified Y then the URL was used instead of relative paths for images which made local development pretty much impossible.</li>
</ul></li>
<li>Get the timezone for the site from <a href="https://en.wikipedia.org/wiki/List_of_tz_database_time_zones">Wikipedia</a>, and enter it when prompted</li>
</ul></li>
</ol>
<h2 id="customise-pelican-and-prepare-it-for-netlify">Customise Pelican and Prepare It For Netlify</h2>
<ol type="1">
<li><p>I wanted to have a bit of a theme on the site from the beginning, so I hunted around on <a href="http://pelicanthemes.com">pelicanthemes.com</a> and settled on the <a href="https://github.com/molivier/nest">nest</a> theme. After messing about with it a bit I discovered that it needed to be changed to work with the version of Pelican I was using. So I <a href="https://github.com/lazarukb/nest">forked</a> the original theme and applied the changes to the fork.</p>
<ul>
<li>To do the changes I edited base.html on the theme and changed four instances of ‘|format(’ to be ‘.format(slug=’, so that CATEGORY_FEED_ATOM|format(category.slug) becomes ‘CATEGORY_FEED_ATOM.format(slug=category.slug)’.</li>
</ul>
<p>After that, I created a /theme folder in the project folder, and downloaded the theme to it.</p></li>
<li><p>In the project folder under /content, I added an images folder and a file there for the logo of the site. I scaled it down to 25x25. I also added an image for the background of the header.</p></li>
<li><p>To pelicanconf.py I added the <a href="https://github.com/molivier/nest">default configuration information for the theme</a>. Among other customisations for various strings I pointed the site logo to ‘/images/logo.png’, including the path, and homepage header image specified as the filename only, ‘header-scaled.jpg’.</p></li>
<li><p>That should be the base of the site. I committed those changes to the repo and test built the site locally with</p>
<pre><code>pelican content -d -s publishconf.py -t theme --autoreload
pelican --listen</code></pre>
<p>… which you can now combine on Windows as</p>
<pre><code>pelican content -d -s publishconf.py -t theme --autoreload --listen</code></pre>
<p>Alternatively you can skip the second command for –listen and use a local server like Live Server in vscode to actually view the site.</p>
<p>The <code>-d</code> flag causes pelican to delete the content directory before rebuilding the site. The <code>--autoreload</code> flag tells pelican to keep watch on the content folders and rebuild the site automatically when content is added, edited, or removed. As expected, that gave me a functioning site on http://localhost:8000 with the logo and background images I specified.</p>
<ol type="1">
<li>Special usage note: until the site is building reliably, just use</li>
</ol>
<pre><code>pelican content -d -s publishconf.py -t theme</code></pre>
<p>…so you can see the console errors in the build process.</p></li>
<li><p>Now that the shell is working, I created a requirements.txt file of the working environment, both as a checkpoint myself and also so Netlify will be able to duplicate it, with the command <code>pip freeze > requirements.txt</code>.</p></li>
<li><p>When I tested this originally, Netlify was deploying the site with Python 2.7 which was not at all working. So to specify the version of Python I was using locally, 3.8, per <a href="https://docs.netlify.com/configure-builds/manage-dependencies/#python">the docs</a> I created a runtime.txt file in the root of the project, and added <strong>3.8</strong> to that file.</p></li>
<li><p>After committing those changes to the repo, it’s ready to go. So I published it to GitHub with the desktop app. I left the repo set to private at this point.</p></li>
</ol>
<h2 id="deploy-the-site-to-netlify">Deploy the site to Netlify</h2>
<p>All that remains is to deploy the site with Netlify.</p>
<ol type="1">
<li>I logged in to Netlify and selected Sites > Add New Site > Import an existing project.</li>
<li>On the next page, I clicked GitHub.
<ul>
<li>The first time I did this I needed to connect my Netlify account to my GitHub account by following the prompts.</li>
</ul></li>
<li>Once GitHub and Netlify were connected, I did a search on my repos to find the one for the website, and selected it.</li>
<li>On the next page:
<ul>
<li>on <em>branch to deploy</em> I selected <strong>main</strong>.</li>
<li>The <em>base directory</em> I left blank.</li>
<li>The <em>build command</em> is <code>pelican content -s publishconf.py -t theme</code></li>
<li>The <em>publish directory</em> is <strong>output</strong>.</li>
</ul></li>
<li>That’s it. I clicked on Deploy Site and awaited …</li>
</ol>
<p>… the shell of my site was deployed to Netlify. Volia.</p>
<p>After that all that remained was to re-direct my domain to point here, and configure the Let’s Encrypt certificate to enable HTTPS. This is available under the Netlify Site settings for the new site. Following the directions on the Netlify pages this change took me all of 4 minutes of editing on my DNS server, and the deployment of the SSL certificate was a couple of clicks and otherwise automatically done in a few minutes.</p>
<p>And that’s it. After several years of stalling I have completed a reasonable starting point for a new static site version of the website and deployed it. Took me a couple of hours to figure it all out, and maybe 20 minutes start to finish for the final production version. Hope this helps.</p>
<hr/>
<h3 id="thanks">Thanks!</h3>
<ul>
<li><a href="https://razcodes.dev/">Raz</a>, for general direction <a href="https://dev.to/razcodes/how-to-create-a-static-website-using-pelican-24he">here</a> and <a href="https://dev.to/razcodes/how-to-deploy-your-static-pelican-website-to-netlify-55d7">here</a></li>
<li><a href="https://frankcorso.dev/">Frank Corso</a> for the general directions <a href="https://frankcorso.dev/deploying-your-pelican-static-site-to-netlify.html">here</a></li>
<li><a href="https://github.com/mirajpatel19">Miraj Patel</a> for the pointers to hack the theme so it would work with Pelican 4 <a href="https://github.com/getpelican/pelican/issues/2489#issuecomment-472176621">here</a></li>
</ul>Updating Anaconda Navigator2021-03-25T00:00:00-06:002021-03-25T00:00:00-06:00Brad Lazaruktag:None,2021-03-25:/updating-anaconda-navigator.htmlUpdating Anaconda Navigator<p>For whatever reason my installations of Anaconda Navigator always refuse to update through the GUI. No matter how many times I click the Yes to upgrade, nothing happens.</p>
<p>So finally I found 15 seconds where I was both tired of this situation and had the clarity of thought to do something about it.</p>
<pre><code>conda deactivate
conda update anaconda-navigator</code></pre>
<p>Problem solved. Sigh.</p>
<p><em>Source: <a href="https://docs.anaconda.com/anaconda/navigator/update-navigator/">Updating Navigator — Anaconda documentation</a>.</em></p>Evidence for Evolution2020-09-02T00:00:00-06:002022-08-21T00:00:00-06:00Brad Lazaruktag:None,2020-09-02:/papers-showing-evidence-for-evolution.htmlA collection of scientific papers that together provide more evidence for biological evolution than one person should really need<p>Back in previous years I used to do a lot of arguing on Twitter about evolution. It was fun for a time.</p>
<p>When I discovered <a href="https://www.coursera.org">Coursera</a> I also found a wonderful course called <a href="https://www.coursera.org/learn/genetics-evolution">Introduction to Genetics and Evolution</a>, taught by the wonderful Dr. Mohamed Noor from Duke University. I thought this would be a great course to help me get some more ammunition for my arguments about evolution.</p>
<p>But instead what I found was that I had really missed learning. So eventually I enrolled in another course, <a href="https://www.coursera.org/learn/papers-molecular-genetics">Classical Papers in Molecular Genetics</a> by Dominique Belin of the University of Geneva.</p>
<p>(This course really knocked me on my butt. It’s utterly amazing what people were able to hypothesise, isolate, discover, and document back before they even were certain what DNA was even composed of. They were mapping exact segments of DNA before anyone had even seen DNA. Incredible.)</p>
<p>From the readings of that course I put together this list of papers that I would send to evolution deniers, or those who would say there was no evidence for evolution. I’m sure there were more at one point so I guess I’ll have to revisit that course and gather the papers up again.</p>
<hr/>
<ol type="1">
<li><p>Paper exploring a possible hereditary, genetic cause of disease E. Garrod, The Incidence of Alkaptonuria: A Study in Chemical Individuality, Lancet vol 2, 1616-20 (1902). <a href="">http://www.esp.org/foundations/genetics/classical/ag-02.pdf</a></p></li>
<li><p>1944 paper showing that genetic heritability has a chemical foundation and that DNA is likely the carrier Avery et al., Studies on the chemical nature of the substance inducing transformation of pneumococcal types, J.Exp.Med. 79, 137-158 (1944). <a href="">http://jem.rupress.org/content/79/2/137.full.pdf+html</a></p></li>
<li><p>1953 paper showing the first determinations of the structure of DNA. <a href="">http://www.nature.com/nature/dna50/watsoncrick.pdf</a></p></li>
<li><p>1943 paper showing that specific beneficial mutations can be isolated and duplicated in a population, indicating such mutations are not wholly random. S.E. Luria & M. Delbrück. Mutations of bacteria from virus sensitivity to virus resistance. Genetics 28, 491-511 (1943). <a href="">http://www.genetics.org/content/28/6/491.full.pdf+html</a></p></li>
<li><p>Seymour Benzer’s work in mutating specific sections of DNA, controlling inherited changes. <a href="">http://www.pnas.org/content/47/3/403.full.pdf</a></p></li>
</ol>