Technical Experience


Talat's experience is derived both from his professional career in the higher education sector and from various personal and community projects over a long period, including in Linux, Mac OS X and Windows systems, server admininistration, CMS systems, digital asset management software, programming languages and web technologies such as PHP, JavaScript, HTML5, XHTML, CSS, XML & RDF. His work in information science has given him considerable experience in a wide range of technologies and information organisation systems, particularly in metadata standards and semantic web technologies.

He has built production sites based on major content management and related systems such as Drupal, WordPress, Joomla! and MediaWiki, and has been administering various static and dynamic web sites and numerous other web applications since 2006, mostly on LAMP and LEMP stacks with MySQL but also using Tomcat and other web servers.

He can program proficiently in PHP, Javascript (including JQuery), and C based languages e.g. Java, C#. He has some experience of Python and Perl. He has developed cloud web applications on Google App Engine and RedHat OpenShift.

Talat's technical and linguistic experience has given him particular expertise in technical translation, especially software interface translation. He provided the Welsh translations for DSpace 1.4, DSpace 1.5 (JSP UI), EPrints 3.1, MetaLib (Ex Libris), Voyager 7 (Ex Libris) and Primo 3.0 (Ex Libris). Previously, he translated various other interfaces, e.g. web mail applications for voluntary groups.

As well as a wide range of other Open Source projects, he has personal interests in: embedded devices and open source firmware, e.g. Raspberry Pi and similar, OpenWRT, DD-WRT; the OpenSim platform for 3D virtual worlds and related technologies; instant messaging infrastructure based on PSYC, XMPP and IRC; e-mail; VoIP and SIP telephony; mesh networking; IPv6; and HTTP/2. He provides volunteer technical support and web services for Aberystwyth Council, for whom he maintains a working eduroam service using FreeRADIUS and LDAP.





Server Experience

  • Ubuntu Server 6.10 - 14.04 (2006-15)
  • Fedora/RedHat (2008-13)
  • Debian 7 (Wheezy) & Debian 8 (Jessie) (2014-15)
  • Domain names, DNS & IP routing
    • A, AAAA, CNAME & 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
    • Patched OpenSSL Heartbleed vulnerability and replaced TLS/SSL certificates
  • 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 & 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 - 7.x
  • Twisted
    • Qwebirc
    • IRC relay bots written in Python
  • h2o
    • HTTP/2 high performance server
    • Compiled from source with libuv 1.x, wslay, mruby, libressl
    • 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 & Wiki

Data, Research & Library Management Software

  • 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, e.g. dspace.talatchaudhri.net
    • 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
  • 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)

PHP

  • Dropbox PHP Proxy for Dropbox
    • Deployed on Apache server at talatchaudhri.info/downloads and koraljka.info
    • 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 downloads2.talatchaudhri.net and http://koraljka.info 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:
  • 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 & jQuery

(X)HTML, CSS, XML & RDF

Search Engine Optimisation

Hardware

  • 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

Distributed social networking platforms

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

Other

 

Last updated: 25 Aug 2016

IPv6 ready

Dr Talat Chaudhri

Contact Information

E-mail:

Skype:

ProfilesAcademia.edu, LinkedIn

Research IDs: ORCID, ResearcherID

PGP Key: 0x1A0097B6B4A58FA6