Profiad Technegol


Daw profiad Talat o'i yrfa broffesiynol yn y sector addysg uwch a hefyd o'i amryw brosiectau personol a chymunedol dros gyfnod hir, gan gynnwys mewn Linux, MacOS a systemau Windows, cynnal gweinyddion, systemau CMS, meddalwedd goruchwylio asedion digidol, ieithoedd rhaglennu a thechnolegau gwe fel PHP, JavaScript, HTML5, XHTML, CSS, XML ac RDF. Mae ei waith yn y gwyddorau gwybodaeth wedi rhoi profiad sylweddol iddo mewn ystod eang o dechnolegau a systemau trefnu gwybodaeth, yn enwedig mewn safonau metadata a thechnolegau gwe semantaidd.

Mae ef wedi creu safleoedd gweithredol ar sail prif systemau goruchwylio cynnwys megis Drupal, WordPress, Joomla! a MediaWiki, a bu'n gweinyddu amryfal wefannau sefydlog a dynamig yn ogystal â chymwysiadau gwe eraill ers 2006, gan mwyaf ar staciau LAMP a LEMP gyda MySQL ond hefyd yn defnyddio Tomcat a gweinyddion gwe eraill.

Gall ef raglenni'n fedrus mewn PHP, Javascript (gan gynnwys JQuery), ac mewn ieithoedd seiliedeg ar C, e.e. Java, C#. Mae ganddo rywfaint o brofiad o ASP.NET, Python a Perl. Mae ef wedi datblygu cymwysiadau gwe cwmwl ar Google App Engine a RedHat OpenShift.

Mae profiad Talat mewn meysydd technegol ac ieithyddol wedi rhoi iddo arbenigedd nodweddol mewn cyfieithu technegol, yn enwedig cyfieithu rhyngwynebau meddalwedd. Darparodd y cyfieithiadau Cymraeg ar gyfer DSpace 1.4, DSpace 1.5 (JSP UI), EPrints 3.1, MetaLib (Ex Libris), Voyager 7 (Ex Libris) a Primo 3.0 (Ex Libris). Cyn hynny, cyfieithodd amryw ryngwynebau eraill, e.e. rhaglenni post gwe i grwp gwirfoddol.

Yn ogystal ag mewn ystod helaeth o brosiectau Ffynhonnell Agored eraill, mae ganddo ddiddordebau personol mewn: peiriannau planedig a chadarnwedd ffynhonell agored, e.e. Raspberry Pi a'r cyfryw, OpenWRT, DD-WRT; y rhaglen OpenSim ar gyfer bydoedd rhithiol a thechnolegau perthynol, isadeiledd negeseua di-oed ar sail XMPP ac IRC; teleffoni VoIP a SIP; IPv6; HTTP/2 and HTTP/3.





** Gwefan yn cael ei chyfieithu: ymddiheuraf nad oes fersiwn Cymraeg cyflawn o'r isod ar gael **

Profiad Cynnal Gweinyddion

  • Ubuntu Server 6.10+ (2006+)
  • Fedora/RedHat (2008-13)
  • Debian (2014+)
  • Windows Server 2010
  • Domain names, DNS & IP routing
    • A, AAAA, CNAME, TXT (DMARC & SPF) & MX records
    • IPv6 connectivity via Hurricane Electric 6in4 tunnel on Technicolor TG582n router (see blog post)
    • Techniques such as reverse proxies, Cloudflare CDN, for IPv6 connectivity without dual-stack infrastructure
    • Configured IPv6 firewall rules on Technicolor TG582n router to enable all sites over IPv6
    • Optimised DNS servers for IPv4 and IPv6 using Google namebench
  • Major security patches
    • OpenSSL Heartbleed vulnerability
    • CVE-2019-11043 - PHP7.x-fpm + nginx
  • Docker
    • Various server software
    • Node.js projects
  • Apache 1.x, 2.x
    • Largely LAMP, some stand-alone MAMP and WAMP
    • Virtual hosts for a variety of web sites and web applications
    • mod_rewrite, mod_proxy, mod_proxy_ajp, mod_python
    • used Apache AJP reverse proxy to Tomcat for Greenstone 3, Magnolia (see below)
    • used Apache modwsgi Python adapter for CKAN (HTTP & HTTPS)
    • mod_perl, e.g. Greenstone 2
    • TLS/SSL certificates (CAcert.org, LetsEncrypt & self-signed)
    • Apache 2.4 configuration changes
  • Nginx
    • Static web pages
    • Reverse proxy
    • Virtual hosts for a variety of web sites and web applications
    • used Nginx reverse proxy to Tomcat for DSpace, Greenstone 3, Magnolia (see below)
    • used uWSGI to serve Python via Nginx reverse proxy for CKAN (HTTP & HTTPS)
    • PHP via PHP-FPM (FastCGI)
    • PHP and Hack via HHVM (Hip Hop Virtual Machine)
    • Perl with FastGCI, e.g. Greenstone 2
    • TLS/SSL certificates (CAcert.org & self-signed)
    • SPDY/2 with Nginx 1.4.1, SPDY 3, SPDY 3.1 with Nginx 1.5.12 (see blog post)
    • HTTP/2 with Nginx 1.9.5+ (see blog post)
    • Migrated sites from Apache 2.4 to Nginx 1.4.1 (replacing Apache mod_rewrite rules etc)
      • 2 x PHP/static sites
      • 1 x WordPress
      • 1 x Joomla!
      • 1 x MediaWiki
      • Demo sites: CKAN; Greenstone 2; Greenstone 3; Magnolia; Bolt; Anchor
      • Various development sites including 1 x Drupal
  • Tomcat 5.x - 8.x
    • Guacamole HTML5 with VNC, forced TLS/SSL for security
    • Magnolia
    • Greenstone v3.05
    • DSpace 4
    • Virtual hosts
    • TLS/SSL certificates (CAcert.org & self-signed)
  • Twisted
    • Qwebirc
    • IRC relay bots written in Python
  • h2o
    • High performance server with HTTP/2 and HTTP/3
    • Compiled from source with libuv 1.x, wslay, mruby, libressl
    • Compiled latest cURL from source to allow HTTP/3 requests
    • HTTP/3 test end point (see blog post)
    • PHP via PHP-FPM (FastCGI)
    • PHP and Hack via (HHVM Hip Hop Virtual Machine)
  • SQL
    • MySQL
      • Various CMSs (see below)
      • FreeSwitch (see below)
      • FreeRADIUS (see below)
      • OpenSim (see below)
      • Scheduled backups
    • PostgreSQL
      • CKAN (see below)
      • DSpace (see below)
  • LDAP
    • OpenLDAP for FreeRADIUS WPA/WPA2 Enterprise (802.11i) servers for eduroam
    • Testing OpenDJ for FreeRADIUS WPA/WPA2 Enterprise (802.11i) servers for eduroam
    • Dovecot authentication for IMAP4 & POP3
    • LDAP & PAM user authentication for Linux
    • N-way multi-master replication for FreeRADIUS for eduroam and email
    • SAMBA using OpenLDAP
  • SAMBA
    • Using OpenLDAP
  • E-mail
    • SMTP
      • Postfix
      • Exim4
    • IMAP4 & POP3
      • Dovecot
      • Courier
  • webDAV, calDAV & cardDAV
  • VoIP servers
    • FreeSWITCH using fs_curl gateway cgi to load dynamic XML configuration
    • Configuration of SIP phones with FreeSwitch
    • Integration with OpenSim (see below)
  • FreeRADIUS
    • FreeRADIUS WPA/WPA2 Enterprise (802.11i) servers for eduroam
      • MySQL
      • LDAP - OpenLDAP, OpenDJ (testing)
  • Instant Messaging Servers:
  • Monit (with OpenSim, see below)
  • SFTP access within a chroot jail (see blog post)

CMS a Wiki

  • MediaWiki
    • with Semantic MediaWiki
  • Drupal 6 & 7
    • e.g. Technical Foundations web site (2011-13) at UKOLN for JISC
    • Major Drupal modules, e.g. Content Construction Kit, and many others
    • Deployment and modification of themes using CSS, PHP etc
    • Migration of blog and page content from WordPress to Drupal (2012)
    • Used wget to migrate Technical Foundations and private UKOLN staff intranet from Drupal to static sites (2013)
    • Some simple module writing
    • Migrated parts of OpenSim Web Interface PHP code
  • WordPress etc
    • e.g. blog.talatchaudhri.net
      • Migrated from self-hosted at WordPress.com to self-hosted WordPress.org
      • Customisation of WordPress and Blogger themes, widgets etc
      • Migration of blog and page content from WordPress to Drupal (2012)
    • Cymdeithas Cymru-Llydaw
      • Blog with custom domain at blogspot.com
      • Migrated to own domain e.g. blog.domain.example
  • Joomla! 3.2+
  • Others deployed in testing

Meddalwedd Data, Ymchwil a Rheoli Llyfrgelloedd

  • CKAN data management system
    • Installed from source
    • Created blog post instructions to install Apache Solr separately on Tomcat7 rather than Jetty.
    • Created blog post instructions to serve Python with uWSGI via Nginx proxy (HTTP & HTTPS).
  • DSpace
    • Installed DSpace 4 via Nginx reverse proxy, 2014
    • Front-end experience 2007-8
    • Theming through HTML & CSS
    • Testing on local copy using Eclipse with Tomcat
    • Responsible for repository and content as front-line production service
  • EPrints, Fedora Commons etc
    • Largely front-end testing experience as user, 2007-2013
  • Greenstone
    • Installed v2.85
    • Installed v3.05 (Java version on Tomcat7)
  • EMP iLex
    • 2.3 122+

PHP

  • Dropbox PHP Proxy for Dropbox
    • Deployed on Apache server at talatchaudhri.info/downloads
    • Submitted patch for correct division of HTTP header and response body
    • Added dev branch with code to:
      • Fix requests for bare domain where final character of URL was not / to point to index.htm(l) in order to act effectively as simple web server
      • Modify HTTP response header to send Content-Type: text/html; charset=utf-8 rather than Dropbox default ASCII in order to support character set for additional languages
      • Modify HTTP response header to send Last-Modified for correct modified date using JavaScript, rather than the modified date of the proxy script (Dropbox does not run server-side scripts, so this cannot be achieved with PHP)
      • Tested and deployed on RedHat OpenShift at and to migrate proxy to cloud server via CloudFlare CDN
    • Completely re-wrote code in new branch without cURL for Google App Engine and similar services that do not allow cURL and other 3rd party C# libraries:
      • Deployed via Google App Engine
  • Multilingual PHP web sites
    • Browser language detection:
      • e.g. talatchaudhri.info (cy, en)
        • User languages matched in order against those available on the site
        • Overrideable by user
        • Unlimited extensible language buttons
    • The now defunct static site of Cymdeithas Cymru-Llydaw
      • Included scripts for online petitions
  • Migrated sites to Nginx and h2o servers via PHP-FPM and HHVM (FastCGI)
  • OpenSim
    • Migrated parts of OpenSim Web Interface PHP code to Joomla! and Drupal
    • Wrote code for OpenSim login screen news feed via RSS, site notices
  • Wrote back-end recursive link checker script for admin and cron jobs.

JavaScript a jQuery

  • OpenSim Maps for OpenSim (part of OpenSim Web Interface)
    • Completely re-wrote (2012) to migrate to Google Maps API v3 from deprecated v2 (2008)
    • Re-wrote (2014) to enable larger regions e.g. varregions in OpenSim/Aurora/WhiteCore
    • Added multiple map centres
    • Added home re-centering
  • Re-wrote JavaScript last modified date script to replace unavailable PHP on Dropbox
  • Contact details obfuscation
  • Web page rotator for digital signage platform on Raspberry Pi (see demo)
    • Custom looped timer script with arbitrary timings per page
    • Animated JavaScript/CSS transitions using ElementTransitions.js
    • Agnostic about Web technology and content
  • Node.js
    • Regular expression web scraper to query multiple library collections

(X)HTML, CSS, XML & RDF

Optimeiddio Peiriannau Chwilio

Caledwedd

  • Many years of experience replacing memory, hard drives, PCI, PCIe cards, fans, power supplies etc
  • Flashing router firmware
    • OpenWrt
      • Compiled and flashed on defunct Inventel Livebox v1.1
      • Flashed on Belkin F5D7130 for WPA/WPA2 Enterprise (802.11i) project testing
    • Flashed 10.2.x firmware upgrade on Technicolor TG582n router (DANT-1) via TFTP
      • Factory default Technicolor firmware 10.2.5.2.BM for IPv6 connectivity (see blog post)
  • Raspberry Pi (B, B+)
  • Banana Pro

Rhaglenni Rhwydweithio Cymdeithasol ar Wasgar

  • See blog posts on Diaspora (open source)
  • Demo installation of movim (open source)
  • Longstanding interest in XMPP, JSON, XML technologies etc

Arall

 

Diweddarwyd: 11 Maw 2024

yn barod am IPv6

Dr Talat Chaudhri

Gwybodaeth Cysylltu

E-bost:

Skype:

ProffiliauAcademia.edu, LinkedIn

Dyn. Ymchwil: ORCID, ResearcherID

Allwedd PGP: 0x1A0097B6B4A58FA6

Twitter: talat