Posted on Leave a comment

Ankur Sinha: How do you Fedora?

We recently interviewed Ankur Sinha on how he uses Fedora. This is part of a series on the Fedora Magazine. The series profiles Fedora users and how they use Fedora to get things done. Contact us on the feedback form to express your interest in becoming an interviewee.

Who is Ankur Sinha?

Ankur is a Computational Neuroscientist and has just started his first post-doctoral fellowship at University College London and a FLOSS enthusiast trying to spread the message of FOSS and evidence based science. Ankur started using Linux a decade ago, when he was introduced to Linux in a LUG doing an install fest during his undergraduate degree.

Ankur loves reading:

“I read a lot and tend to get attached to characters from books quite easily. Holmes, Poirot (I’m a detective fiction fan), Francisco D’Anconia (fan of the book Atlas Shrugged, but not so much Ayn Rand’s philosophy), lots of random characters from books I’d read. I also read lots of Hindi comics as a child—Doga, Super commando Dhruv, Naagraj, and Chacha Chaudhary—loved them all!”.

As far as all time favorite movies go, Swades comes to his mind. His favorite genre is science fiction thrillers (think “The Prestige” and ” Predestination”). When not busy working or engaging people on IRC channels, he enjoys listening to podcasts and classic rock.

Ankur’s favorite food is his mother’s Chhole Bhature. Otherwise, if he’s away from home, his go-tos are Butter chicken, Butter Naan, and Chilli Chicken from North Indian restaurants.

The Fedora Community

Ankur found about Fedora after a distro hopping phase in 2008, and since then he has been a fedora user. His first memory of the Fedora community is an IRC workshop on packaging fonts that the Fedora India community had organised back in 2008.
Talking to and meeting other community members has been one of the most exciting parts of the Fedora community for him. “I found this great bunch of people to hang out and geek out with! It was so much fun, and extremely educational both in terms of technical knowledge and the social/philosophical side of FOSS and life in general.”

When asked what he would change in the Fedora Project if he could change one thing, he said that he prefers “Smaller tweaks” since “Smaller tweaks also allow work to be spread out, and that really helps”. Specifically, he would like to see more discussion on the philosophy and nuances of FOSS in the community.

"Perhaps we all know it so well that we take it for granted and focus on the work that needs to be done. It’s so easy to get bogged down in the work, though, that I worry that we forget the bigger picture sometimes. The end for us is to promote FOSS, and everything we do is the means to this end. So, I worry that the means sometimes becomes the end for us — that we focus so
much on producing deliverables that we forget why we produce them."

Since he works in academia and science, Ankur would like the Fedora community (and FOSS in general) to get more involved with academic/scientific communities.
“I think we have an excellent platform to enable education and research. NeuroFedora is a start in this direction.”

He wishes that other people knew that the Fedora community are not just OS developers, but a global community, and he’d like folks to just hang out and communicate even if they’re not contributing in the traditional sense of the word.

Ankur tries to help wherever he can, especially if newbies are involved. Nowadays, he tries to focus more on NeuroFedora as it fits well for his day-job and there’s so much to do in this Field + Open Science.

Ankur learnt most of the things from his >10 years of experience in Fedora and FOSS. He had learned theories of software development at undergrad but got to experience practical implementations from his colleagues in the community. He is a firm believer of “No question is a stupid question”. He adds that Fedora is perfect because it gets better as you start working with it.

His piece of advice for anyone thinking of getting involved in Fedora is to just go ahead and start. One doesn’t need to know anything at all. All of it can be learned over time. Secondly, don’t focus on tasks. Yes, that’s a good way of learning, but it is far more important to get to know the people of Fedora! As one meets more people, one learns more about how Fedora works and one has way more fun working and learning!!

Just like a lot of our community members, Ankur struggles from time constraints. His new challenge is to find more time to work on FOSS and Fedora. During his college years, it was to learn more and more.

One of the challenges Ankur faces about promoting open source is to explain to non-FOSS people that Windows/Mac aren’t the only OSes present. He thinks that having Fedora shipped with Lenovo systems will give a start for the community. It makes Fedora and FOSS more "official".

What Hardware?

Ankur has three machines and runs Fedora 32 on each of them:

Ankur’s Desk
  • Thinkpad E490 laptop
  • a custom workstation that university IT set up for research work
  • a headless MacPro5,1
  • 2x Microsoft Sculpt Ergonomic keyboard/mouse/numpad
  • Netgear wifi extender
  • TP-Link TL-PA8033PKIT AV1300 3-Port Gigabit Passthrough Powerline Adapters
  • Moto g7 phone with Android 10

What Software?

Fedora 32 workstation, and server on the MacPro.

Workstation/Gnome3 with a few extensions: caffeine, pomodoro,

  syncthing.

byobu with tmux: multiple sessions: default, work, fedora

taskwarrior, vit, timewarrior, gnome-pomodoro, gnome-calendar/evolution for calendars

neomutt with msmtp + offlineimap + notmuch for e-mail

vim for *everything* possible – vimrc link

qutebrowser, weechat, zathura, vimiv

– syncthing + dropbox + git for syncing/version control

For research work:

NEST + lots of python and Gnuplot for analysis, LaTeX for writing

  (stuff from NeuroFedora!)

inkscape + gimp + dia + freemind for figures/mind mapping

jabref for bibliography management

Other bits: – occasional gamer?

Oad + endless sky + openttd!

Posted on Leave a comment

PHP 7.4.10 Released!

The PHP development team announces the immediate availability of PHP 7.4.10. This is a security bug fix release. All PHP 7.4 users are encouraged to upgrade to this version. For source downloads of PHP 7.4.10 please visit our downloads page. Windows binaries can be found on the PHP for Windows site. The list of changes is recorded in the ChangeLog. A migration guide is available in the PHP Manual. Please consult it for the detailed list of new features and backward incompatible changes. Release Announcement: <https://www.php.net/releases/7_4_10.php> Downloads: <https://www.php.net/downloads> Windows downloads: <https://windows.php.net/download> Changelog: <https://www.php.net/ChangeLog-7.php#7.4.10> Migration guide: <https://www.php.net/manual/migration74.php> Many thanks to all the contributors and supporters! Derick Rethans P.S. Below is the verification information for the downloads, which is also available on <https://gist.github.com/derickr/bc9f10ff9ab15df3d8f077b1cc575463>. php-7.4.10.tar.gz SHA256 hash: e720f1286f895ca37f1c75a2ca338ad2f2456664d7097298167181b25b212feb PGP signature: -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEWlKIB4H3VWCL+BX8kQ3rRvU+oxIFAl9OU74ACgkQkQ3rRvU+ oxKnTg/9EYFnzv3ENm2IdZGDuaCxVQ09WatsRUCaCwpbgzcz93G1ouasfnmjJ/zJ DW0TGJofGoKoTRSr46zM4MtalobzRGIjRS+4voV8TKGQsKuR5j54I3jwkASb+8Ar 3LJX6YOYbP0ZuaZ1br5Ee2RC4rPhDVOLr2vjaRz24SE3uIlXogNBfheTvpY8np1i k0th7tg0a1y06JyzqTz0x983vSwQPtPGrdIX03cL9VYtpF/C6F8Lno6XSwhNs+Qs qq3FO5j1FkLs5DqAoNpGcuIVanGhYqjBBA851OY0l5SyzDNxxaPT62qg5k4BqIck /GkJRkfJ8sT/9b2hrMz1LO+iWli9JWstiNwGqvcIruOmTb1Ca3rP5TZkb08yTq8Z 2b1YUNQb34QizrjHxo9hkaVd8zAPdQMiy9WTVpzRb4w9K0SD1ipNJF5lJqnU7sIj n2n0fzmU0JIkLTDeDXC+JrW0rpLbCDCZ3cD7VYsSJRWeMB3YGSHEYC84te2qwvbw 5Wb0nHMtve7PQB2emwQaaei5VTLPmo90j8t22R28yT3xYGfDw6IMxovs+L0kkqch 45saXPi3GPg8fCDUwoRX2VM3VNAmlq2+NFUZf0VUXusUyTin97qEVkXOcT4R/tQ/ Y+oCNRWdReXPFI4HFFCRHts/+ZsFaCPQU/npiUHR3a5hmuNUU+4= =gnGa -----END PGP SIGNATURE----- php-7.4.10.tar.bz2 SHA256 hash: e90bfc9ed98d24e53b51ffd4eb636cf5cd9d71ed7c6f8e4b6e9981e9882174e7 PGP signature: -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEWlKIB4H3VWCL+BX8kQ3rRvU+oxIFAl9OU8IACgkQkQ3rRvU+ oxIUyA//TmgEA/vO+Crnv04M1Ty0iBidfHK5UnIfM+tusqtyj88PAFOkbkSZzvym JM/m+TuyMKLWyirKfI0MFhSvxpXFPfBCbS6GMnrL4uVlwf3jxyHmQoQI0c39bPcV xx1LNYeLesbu8qtPYBDzP1GIW8PRM3Efmu+H7/Sb1SjT4ngHcpdlzudqqF3y+I8Y ZmgwDqC4XThglJoO84Z7ahvxgxqarQ8GX2VGWnnSKoPu6RB1ZZkXo2GP/MIf3xhv kBcTk1Km3LbSsPMWfSSZ7xFzTP2cqM2JKVI7g14YNXq92cfvZJyhHF4KOKhGoqOP ldoK/zwMLKJMymOHo1SWRyQKzWipIhsdC46BBOWoTTeKMPidSevY3ZEuyiVPFZIe 5RkiCFJrNS7UbvT8wvaJigHRuxDxXZmoZ1n3L0gcmxpQlJ48zlsVvjn6litOI6ge VQl2M8wMITcCC9e++iKhMky/PdTEHvp5qSrP0FlrRHnlJ3hqVpQIJCAieg0Qlgf4 lMdSQ6aw+xRmWMx1mkLA+OGYmWdfAPEMl3JOfjG/cTPcxP+8rW1dANny+mbe0G/k IPlDtsl9lNxU93/66g9+dkxA9985cG1EyXEy848RXtamWEg2zGi6GADqvfTigCrB sObn0+la3iOb7Sq4XLCY9KkYXpqAb0qfRw9+oE7cgI4z5+Ion3E= =a9kp -----END PGP SIGNATURE----- php-7.4.10.tar.xz SHA256 hash: c2d90b00b14284588a787b100dee54c2400e7db995b457864d66f00ad64fb010 PGP signature: -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEWlKIB4H3VWCL+BX8kQ3rRvU+oxIFAl9OU8MACgkQkQ3rRvU+ oxLGbw//dWhAOQyrzCXb4Xcbm83IS1n457ZzwOgkFANcVL8oT/3AgXJ0fiBfgYVI DwTOb781s7rTnV6isRgQi1nRX7PC3Bg7pr2wjINQx8zQQmYl3xwlvdS+Be2ADIAB 4UwCRJPT22YyqJL0YO/z4MhfRDqLy6DrY8SnorXLkPsAzlfECz6QSWNz1VUS2l0G ozfay1ENTjFsZnxXHMIpcZCN0UENIYdy8cZe7K8b9HFdCq8n/cgVqdYfNOZsvFPG BsygoZZ0nvVvru5Ot8oa4g4/IU+3jDpnFvV80glO8Az4601au96uwIzx2sD7ALm9 uJt0Uie8baV85fA6kBm5jy3xHj63xpqIRpRjTqInIwUvFR6fFYsVA8YZLbubq0Jz mdZCx3g430qz8kMmSC0i4JEX8ZeIQEN0x1Bl2VgoYgeN4PYKBBTu+vy6EVTtLDIB yAdwtlI5y8qHnVzEvXWpyUAeXFzVAsp+TbJgbFPOCbdbNjM2SKKSZDVUZC+XtCRl MvDNXwS3itX2KjYbRliLZl/I5y9Me+uyuaZKlP4DDefvYoxvC+5E1yp/fDQH1dDa wQqUFku6+was4zs251XrSilxf2Vt1rCYtBTLTOpeDY6NpviJ0zmjGbZm5C6UnmKG aZk+X2zEDfcvQ2kvFGBYUJLwN1HCLxIXWRTSsEjXKZdXdikZLYk= =vybB -----END PGP SIGNATURE----- -- PHP 7.4 Release Manager Host of PHP Internals News: https://phpinternals.news Like Xdebug? Consider supporting me: https://xdebug.org/support https://derickrethans.nl | https://xdebug.org | https://dram.io twitter: @derickr and @xdebug
Posted on Leave a comment

PHP 7.3.22 Released!

The PHP development team announces the immediate availability of PHP 7.3.22. This is a bugfix release. All PHP 7.3 users are encouraged to upgrade to this version. For source downloads of PHP 7.3.22 please visit our downloads page. Windows binaries can be found on the PHP for Windows site. The list of changes is recorded in the ChangeLog. Release Announcement: <https://php.net/releases/7_3_22.php> Downloads: <https://www.php.net/downloads> Windows downloads: <https://windows.php.net/download> Changelog: <https://www.php.net/ChangeLog-7.php#7.3.22> Many thanks to all the contributors and supporters! Stanislav Malyshev, Christoph M. Becker php-7.3.22.tar.bz2 SHA256 hash: c790b8172520b2ff773d6cf80774ea0a678a2f16e8ee6b11d68802094448689e PGP signature: -----BEGIN PGP SIGNATURE----- iQJABAABCAAqFiEEy69p8XOg/qS1N/Rw1myVkxGLzLYFAl9OGrMMHGNtYkBwaHAu bmV0AAoJENZslZMRi8y2vLwQAIr26thaKdmq7D8MZLHWAQCB7Wwd1s08nVlssFj1 DKU6t5bEmB48nAqe8fOA/jQSnR8tZRviBMPMFwsDxp6KlOAJtJ06xA3tGg8Er9G/ BapEf5KGgOfXSgrwH9ZbmiLCUsB8Gw5q70NU+D8XPd3M78HlXE70Rv89V27i9Q1a F8kQ3WMAAGmb23XuHd8RXVr2jsLnEAPDj3G3Q9BOfeYFuoguFubb1o4PgYzEj6LX 0+aoutgwJGuXw6bp9rPOGdFNX1gmsltovuYEee96FVvsIH7tbBjbd7z+fNZpmhs3 w8N5HNNaRUZBB/RopUklMmjv1G0TxavfJ4domy3Qd/DtVWVT5gdpuQDgwgMZUH5c Gv/zBrrebOquIR+gnYu/o7E6E2yQ1kIpm+XdFxmcYnEEze3IRJpSqYmaD79v/tKD Ais2SWXvaGrugSFlPzGbVJuDNKj2wTdD8uag549fJnTNIrSFlOBnwkOUculgesPf Jaq5k1isnUp451yzljWpPiup50g1xPa1XEJ5F4xLEpMYWSocanfZurjZIv8btjSE oopez94judITEWfeEbtTwtITCcDY4usvjMCl1JAsR62sRJaHdRmnG0inH+YLXvOj TxzQzAiHMegPukAlAqniJ+QKosNSg7pX9CWJwpPcQMN96IwDitripqu06JQOE1uo JFGT =TJ4u -----END PGP SIGNATURE----- php-7.3.22.tar.gz SHA256 hash: 759426cb4054e3f23316c39710faff0bb8063fd0ea50fc2c5efa590429af1a22 PGP signature: -----BEGIN PGP SIGNATURE----- iQJABAABCAAqFiEEy69p8XOg/qS1N/Rw1myVkxGLzLYFAl9OGrkMHGNtYkBwaHAu bmV0AAoJENZslZMRi8y2nnIP/Rsg0X33u0wIzc2WRq67auIuniZBDPWPsD+iVv+F lMlRH4Q2WV2HXOuEuRji2js0p9dAbhna5SInKqxCor8kWNyQ71bHLJ/tT4tby8sE fwbgUvOWKt/JeiYCSsn/AAVy8QuJzwPYxDKrrxMmPhBhOU2DjkhjMQuLIR8M1QTg n1yA2XN7mdLEaj44suktXskSu/SyFGcSwWPmXW+NhdfuTboPFBOTAKWk3af7+9eo gr/pxTVR3egnQH3+LYBNjDUaTWJQ/rNGFjrfmgy6I5d1NdiSdUN8PgNYVi4gzqM6 4d0idwqNpIXVA1pQt5vZFiPIKnFAEZZy2Awgh6U7oU8tqxqyZ/CEgMv512hSikOq lJLoBWEHZBsEtJ+i81tCFdzids7d8f8FPWpyjb4UUntCeh4RtKr+Ur0PIxeWpA2T vSf7mH1d/SLGurgTudNR96T/I1tFi8qpqRGCegfGLLOk5nqiV/e0hpw7w2I1XHaw LMCdKlJ3/40onznlSp57z0Oq00A2ASuktCaEHvAAoKDcG3dtr/xInFEgBR646sso o5+GzRsS1s69Na0617tIc3MbdhUOu4GTaEaoPyIjGWIp4DUAw19gvvOP3xyh9S25 lHEqu5ehqBzU5wMSAsGJf2RAyX4OhnmjaBcgK1UFDomdOEHMF3caBXbxJEkhGaNK Jg9D =xhuX -----END PGP SIGNATURE----- php-7.3.22.tar.xz SHA256 hash: 0e66606d3bdab5c2ae3f778136bfe8788e574913a3d8138695e54d98562f1fb5 PGP signature: -----BEGIN PGP SIGNATURE----- iQJABAABCAAqFiEEy69p8XOg/qS1N/Rw1myVkxGLzLYFAl9OGrkMHGNtYkBwaHAu bmV0AAoJENZslZMRi8y2cD4P+QG/cbbXRlKVZ4VsqXdgaZbBLH4XV72kkrOMq8VG 9ioOIClKNq9y932vK8PGUCmodZeWbrQ+EUJTpj5aP+g+jb7nl415wDfu613FWrZf TzEdQAROMY7TwkmleK1UcHgla9a0aASsgU5xEf1JJftpuN1zhh0kTUPij6e2HEbp +C92hs2bCSllLznSgl/lsPIEoSlwM6hH3xhyJp+UOYr55DWic9t23NpIgzc5s6Fd 1RFcuFEzo/zZ89zcV7JvzIzw5oPDNq17iVeRUKf92P464QYZG4OtZsBuAIGr/Qpl nob2XkFMTZrxGvgAL0lqWQhw6BoJhNiMYIq0I2P0P40hRkSU7DX6avNOeHdXGhOO uD8LKWOh+tpz4NRrIz5PyyajWOAvuWzCW7U5C8dE7bvyjZYVgBahcZscO3+T81qm mRwf6DWNDu8GNvAxe9LqYjBl2tY7WC90L9G3ky7RmlyspUbmSiyiJrZ4/N6J12rr VIq4/3DH0zqqCMMowFbdE6DF+rPtidEqgGBlCLgu8gXjqmNEo2GrbV/BGOmxax0K PIgMdH1tLjmh8HcXYnjhq65o7PDzEE4Y+7LemZZbHL+4wX0y57skVyFgWzR9AzAA 8DEwzFcSSw5KQQIDJP1ECqtjg0FYlqMAmW8tJHGg2OV6BtvzeeqOndktdJ3mVyOq LcTB =bUDc -----END PGP SIGNATURE-----
Posted on Leave a comment

PHP 7.3.21 Released

The PHP development team announces the immediate availability of PHP 7.3.21. This is a security release. All PHP 7.3 users are encouraged to upgrade to this version. For source downloads of PHP 7.3.21 please visit our downloads page. Windows binaries can be found on the PHP for Windows site. The list of changes is recorded in the ChangeLog. Release Announcement: <https://php.net/releases/7_3_21.php> Downloads: <https://www.php.net/downloads> Windows downloads: <https://windows.php.net/download> Changelog: <https://www.php.net/ChangeLog-7.php#7.3.21> Many thanks to all the contributors and supporters! Stanislav Malyshev, Christoph M. Becker php-7.3.21.tar.bz2 SHA256 hash: dbb0ea39e7e4b3814d6d1dd3ac5983aed6c38cdf55464645da11a8b134a9f7a7 PGP signature: -----BEGIN PGP SIGNATURE----- iQJABAABCAAqFiEEy69p8XOg/qS1N/Rw1myVkxGLzLYFAl8pGIwMHGNtYkBwaHAu bmV0AAoJENZslZMRi8y2JkUP/3PYJ9MDXc/K0wJ0QO2Vv0WHRpKoi0qGCi/3diGY Gw1JV62xa9L5etkIUizrDEqTlWyKRh2aDgMgKgqF9+CBgF7JEfad9jDkoxUDlb+1 k44pe2qwkep3vR+W/jQKROn/YdSeaI2/LfoI+FQ+85eCr8dlCDpR2LIvq47NnAIH ac17up8iuw7EQ9Yr+xUU/IJ800cdzvyKJxfb83cVqVS5kV5dmsOYfVZlahgHh5J/ DUC87/wXaMndaAo/4auG0Nrfn27GVqnKNwgLTm4Qd/kh2SJm+IHPV5FAwGq1bgqb 1a0BnzjE8JuJSuMkITgYjkY6Rj5Qrs0OGQg1LciVxVwtFdpUrv2Azw6EicrbHb5A 9wrZndcGqz4pM+6gLkKCBYX6MXGMJR8dHCwi3ILejzpQ63rNVmzhIVvUjMTkSj6e KUKbm9wXvv4SkTDVnZy7wFKARzlnsTp5sNuz+KKKzjCG8qRmjY0dVqnCa3adaEU3 gHK32Hm3yJUViFqkjiFiH8YSNeUpCwOyWmaYTejkRm+KfIIDZNavbWUr4+ncZvZ3 zTcZG4638E+SBPG6IQlzL76oQKj3v8Z2TmidYBKJva19pweBQNis01Q4q4wjoB2N ofv/URSYijs9kn/GGAuscbrXGhxOrOW9V8bpyCQzSa2ng603Si3K6fEvm3EejgbQ Fb6B =1vns -----END PGP SIGNATURE----- php-7.3.21.tar.gz SHA256 hash: f5d6e136768522edd025c4a97b9b6a98a2fda20b68445cbc5ca2efce1e73c7d0 PGP signature: -----BEGIN PGP SIGNATURE----- iQJABAABCAAqFiEEy69p8XOg/qS1N/Rw1myVkxGLzLYFAl8pGJEMHGNtYkBwaHAu bmV0AAoJENZslZMRi8y2v6QP/3Q5fA6HOIGAI3Msi9n+ESHVjnt8/Hinp6KUFcj2 OKZ5pYsVCONcGeXccQ5DIiZ+TS6V+lFnSdNYWZVmJmkOdzTbzZt9G81QXauLTObB IeXS69wb67OUdqWwwhtZKfcx+ubrQz5YlIS//+N2s/7oN3LJRLRv82yI8kD1YYkG GYFZ95IFS/8UhROU9psrPUX7OC7fkan/V11pFtdenmWBiHOeIki5rtBK1jYd3APb pL3wuQTqxGET/bK/91wAqL7UmHw/L/dzJC/azE29EArplvsMgmq/IZByey3CRExV xpjfIpOZATqZp4GjUQo7KjVcPS9ePgs6bvjcyli59+TF9xyjrQxp0hCJqK4KASXZ lUAhlsCo4Xvpp1JrhhZUuq7ts/FQj1fOLNb3cJ1sNOokwe25Hux4B0nc5AsAZHFs eExLS1Ssvf49QrZEZIVMryPD2YJtRlHm+deMo0ICZq7DqtoLTBNnBgLfIoG+GErz 5lFYuaiRNZ3mMvlgLFQUZBp28TZTMV1S5JAtp2iMc+h0OFnXk/tSiGBfOzjMoFAF dia6vP3C2AhV+kVm3d2mdicsSNOFlUDvmhM55VR2/IV1A/6UPsBO7rKo2ow2r8Rz cdVD29t4cOAV5janwajusT0Yj6Bnjs+vNE6sgoaeZbOQ/F1iaWEDNYyPtdk1Hs2q sB8l =haxj -----END PGP SIGNATURE----- php-7.3.21.tar.xz SHA256 hash: 4c8b065746ef776d84b7ae47908c21a79e3d4704b86b60d816716b8697c58ce9 PGP signature: -----BEGIN PGP SIGNATURE----- iQJABAABCAAqFiEEy69p8XOg/qS1N/Rw1myVkxGLzLYFAl8pGJEMHGNtYkBwaHAu bmV0AAoJENZslZMRi8y2R44P/0KK8tU7FqDXrPhOlXEAtAB3Uaocw54A7gG/HwV1 QV4zUdlITUjuLAi8OHIWJmD/9ixc2EDnD35qkbQFP/8XnUoOZu2QkqKoUeIH5vP5 snmLY9tS9P6x/4GvV5zBtVNS0SgkTU/7ZUrL5QR7HxO7sBr2BZp+j2C2y7x23E7c zGODXTTuY3U/57cYZdUsETxtI/MMI4N+gw9ypTPoLXtnmIaWeMvv330PlzRdAHw0 cNJ0BJYKmY8cxD5XQ+dIbUUKOo68+qjPdqlZyRQZ/zYxvJx60Rs3S7QzCb4IhuAz aKPL/96Vq0cxuoEw3yBc/Umbh5xvbzjUmArmX0W6jGd11BhZisWXMgdq3KZa6kxY zEVEL02ZhTI6A3NXao0w9/bXJUBJjyEVF+bIdy1sddLQTzVr8W6JC8vNM0U8Sir1 7TEv2ubQNnG1yE/v/eLRNThH5S4i6PZxdp/EhT5ZY36wYcgQ7hAjlgr3P4fwUzlu 6ggsApc/jdo8MHKEPyhsqX+Va5Pm9hlvsZwx+8sJ0Z5hGzkf9CCJnhaW8g9NsdPx DTxZoZRZt/t62q0ECZDAFbplvcwLAFWc26099In/BasJxClKzWIu19Tf1nyuKLrZ 6cdXUqJeV6MYXtV8p2Lq6PegdwD9xVgk8gqhwsWTlI4mRwMedJEMMVWfh4DJEZzE K5CU =2e0a -----END PGP SIGNATURE-----
Posted on Leave a comment

PHP 7.2.33 Released

Hi, The PHP development team announces the immediate availability of PHP 7.2.33. This is a security release. All PHP 7.2 users are encouraged to upgrade to this version. For source downloads of PHP 7.2.33 please visit our downloads page. Windows binaries can be found on the PHP for Windows site. The list of changes is recorded in the ChangeLog. Release Announcement: https://php.net/releases/7_2_33.php Downloads: https://www.php.net/downloads Windows downloads: https://windows.php.net/download Changelog: https://www.php.net/ChangeLog-7.php#7.2.33 Many thanks to all the contributors and supporters! Sara Golemon, Remi Collet php-7.2.33.tar.gz SHA256 hash: 97bb6b88ddfa44f36c4fc84a1a718faef476f61b532d26ea29e3e9f6cd79d839 PGP signature: -----BEGIN PGP SIGNATURE----- iQIcBAABAgAGBQJfKRDcAAoJENyf+NPuWvJ/QYoP/3slqXlp8yx5juQEsMf56na1 Qnhf5NvKCJilANcDQb7COGYCPiO9Bg8WoqIdwXIgtYlPGUxTtohiuqr6BlN2PqAA PhtUE7cmrXsJtIoOEwdEBuyxM8mjdOy1gld1fHr390OefcjvmT0H+mKeyJmPmvpk xZREJjHF1nHmbD+7i9Ne2EayU9VFRxiTKLw7/QDJ4vezyZyVPzmpN6V0ROtjIoS+ TbCUQeqKqENGoeLB6sZfjwizX4oK7NPrel9LbjaRjnXObYixCmpXi/luNP+F9rgK Visxdla61vqn6bTZrxws/EIilmXrdl2X8BN7iCkgAFP3pHjZ3WpSc6kul0gY1nyz CwCU07vhmbeSOksoz4zBMhUvLUYsAMCBXqxgvlKTSLzwYzqPRjSXJn9Pc9cMPd+R ZO1DSFIPVmr6VKYLWip2DN8sKDYfnEExxOaqHo2x3Zcwnam12iiYg+X5xD8MoXae 1+3QrzcF/RYKHCF6czsaluJUutBDtJbk8C9U8F1leD4cMCB6cMxQRVIagJyV/Hxl 7tFRjksz8dCNP+bC84lDQBOyaBVuHcfPIyGdVqqX8Z6PqDqimyNzsc1Agsv8dCKE MulXNBfzMHi5ea+tYL3UUVrNcLlUKSAnxizupJt5BfkuzEzfRS7jIeM6XdRmTocM I1JfnPnwMt5bpFzo56BA =5pmK -----END PGP SIGNATURE----- php-7.2.33.tar.bz2 SHA256 hash: 03dda3a3a0c8befc9b381bc9cf4638d13862783fc7b8aef43fdd4431ab85854d PGP signature: -----BEGIN PGP SIGNATURE----- iQIcBAABAgAGBQJfKRDeAAoJENyf+NPuWvJ/u3wP/3Kzzqt8EUwhRlA3fCV1jZrX BnhsteT7Bpe9R7WxNeLWE8FhuqVWRHDIPExjyBf5on/s/XYLCiBHFY0kPdb+wY1o IQ+VSRmggs4ca2wTOJEZXYYiTX8NnWMkoW+NihkD5bxlzus9oxDl+tovucyP1dwc aAqtW9CbA+3lo/UE5iqQA1EPWxsmDNrKIqHsApd5BgPPFW/l0Bfr+LqeY4s2LO4J o9Kpx9NztaF40mlAd+89Hao0iwkI2CYkk8M1UxT14VPPRm0z59aHj6aS9Yp5DCWt vu+3X6ttykRuD1/L9/aX8Hngx8Mptjyxkvp5vskaSg624QUsG8zR/3cTTCfK1fnI fOQwePd6GYBxwqzdOLp8UYaOA19Xy+lOpJL5aqTXD9PQH/jqy8WSZh5JRvpsHYTc ZlLTTJG1Vp44+RZtrrZM/9KcTfUk5E3FNdT+oXVZBHXrQINil9ziZUXNh83BlVLA ytzf8LfHup+BIWqWuTnzXCTN4JbhiwlnP3ospvHDXIr6UIt5P66gzmUnMM3O0Isp Uui/eTiModfFeaEMK730zl46npu90cieyar2CZDIpEDyjDyyTYyQdi3RUHSfZeTZ cfVDuBsvVqM31FV7kxHSDA1dcDjFSQcb/S8YeTsZkEbCZWC5gHTRkUmIktq7MBjy Ojej5xzwDPJmwhB5X1o2 =Iamw -----END PGP SIGNATURE----- php-7.2.33.tar.xz SHA256 hash: 0f160a3483ffce36be5962fab7bcf09d605ee66c5707df83e4195cb796bbb03a PGP signature: -----BEGIN PGP SIGNATURE----- iQIcBAABAgAGBQJfKRDhAAoJENyf+NPuWvJ/3DQP/3vgghiSAL3odrN4gTw3ZwS5 RAFpNMTtOD7/jWzbTCVca0TmocjNLoS9Mp1GpGJjyaz+APSPuWMqvi17S5TgU2hG eGcaCyuRA+U/37uNUR7fO8gpow9M0FvMJ7XZABXVql1L3gQkrZ6fTpI22BQ8cZGC k4QoYMLomrU0aSLMuUUUkNqTKe3/mQjkgbHg9lPEeQkCDDHtLjzqPXl9vzDrDj+S RWploMyixvh/e1HSinMzApYIjnUQ4y1iMN8IFkZUhj9TzX6cNdNiMhjpemsQmX9I YZwwnxZ9uoBx5guU5zqhhW/Ajm8OkbRNobXuizdPHMrKEOPyydYZYYEoVJqGmhtB 02MKYMVfxz5cNBA543fiMoDNb+1AxNMD2CKYmlKbeqqt1zNvauZ/49H8AJhVJGUA 3ihPuJqEUFIleP/bujaHilLLIM8+N8VzOvUEAsColsxoYckZeamZNYppVb3YGoCD nQUuwAUEXAUbZiZsSQMZJMybjpjS9whqUKeLIjP7MrDDBB2jP+D34s2SVJmTJdyU dKmAxiP4WLHfkUulA+gk7cmEzqKBrmSgHhQCdHvSJr0Ng6oWSSouGbgFd6dnv8+h qPBx48s7g0+w6ozEs04xQ5Y8RRdxBj71nPL20aJHWQmyfMbJmDwfwuTrEpN4zHD6 ONdwHXj1oT6gXu5OFuEZ =Ku/n -----END PGP SIGNATURE-----
Posted on Leave a comment

Spam Classification with ML-Pack

Introduction

ML-Pack is a small footprint C++ machine learning library that can be easily integrated into other programs. It is an actively developed open source project and released under a BSD-3 license. Machine learning has gained popularity due to the large amount of electronic data that can be collected. Some other popular machine learning frameworks include TensorFlow, MxNet, PyTorch, Chainer and Paddle Paddle, however these are designed for more complex workflows than ML-Pack. On Fedora, ML-Pack is packaged by its lead developer Ryan Curtin. In addition to a command line interface, ML-Pack has bindings for Python and Julia. Here, we will focus on the command line interface since this may be useful for system administrators to integrate into their workflows.

Installation

You can install ML-Pack on the Fedora command line using

$ sudo dnf -y install mlpack mlpack-bin

You can also install the documentation, development headers and Python bindings by using …

$ sudo dnf -y install mlpack-doc \
mlpack-devel mlpack-python3

though they will not be used in this introduction.

Example

As an example, we will train a machine learning model to classify spam SMS messages. To keep this article brief, linux commands will not be fully explained, but you can find out more about them by using the man command, for example for the command first command used below, wget

$ man wget

will give you information that wget will download files from the web and options you can use for it.

Get a dataset

We will use an example spam dataset in Indonesian provided by Yudi Wibisono

 
$ wget https://drive.google.com/file/d/1-stKadfTgJLtYsHWqXhGO3nTjKVFxm_Q/view
$ unzip dataset_sms_spam_bhs_indonesia_v1.zip

Pre-process dataset

We will try to classify a message as spam or ham by the number of occurrences of a word in a message. We first change the file line endings, remove line 243 which is missing a label and then remove the header from the dataset. Then, we split our data into two files, labels and messages. Since the labels are at the end of the message, the message is reversed and then the label removed and placed in one file. The message is then removed and placed in another file.

$ tr 'r' 'n' < dataset_sms_spam_v1.csv > dataset.txt
$ sed '243d' dataset.txt > dataset1.csv
$ sed '1d' dataset1.csv > dataset.csv
$ rev dataset.csv | cut -c1 | rev > labels.txt
$ rev dataset.csv | cut -c2- | rev > messages.txt
$ rm dataset.csv
$ rm dataset1.csv
$ rm dataset.txt

Machine learning works on numeric data, so we will use labels of 1 for ham and 0 for spam. The dataset contains three labels, 0, normal sms (ham), 1, fraud (spam), and 2 promotion (spam). We will label all spam as 1, so promotions and fraud will be labelled as 1.

$ tr '2' '1' < labels.txt > labels.csv
$ rm labels.txt

The next step is to convert all text in the messages to lower case and for simplicity remove punctuation and any symbols that are not spaces, line endings or in the range a-z (one would need expand this range of symbols for production use)

$ tr '[:upper:]' '[:lower:]' < \
messages.txt > messagesLower.txt
$ tr -Cd 'abcdefghijklmnopqrstuvwxyz n' < \ messagesLower.txt > messagesLetters.txt
$ rm messagesLower.txt

We now obtain a sorted list of unique words used (this step may take a few minutes, so use nice to give it a low priority while you continue with other tasks on your computer).

$ nice -20 xargs -n1 < messagesLetters.txt > temp.txt
$ sort temp.txt > temp2.txt
$ uniq temp2.txt > words.txt
$ rm temp.txt
$ rm temp2.txt

We then create a matrix, where for each message, the frequency of word occurrences is counted (more on this on Wikipedia, here and here). This requires a few lines of code, so the full script, which should be saved as ‘makematrix.sh’ is below

#!/bin/bash
declare -a words=()
declare -a letterstartind=()
declare -a letterstart=()
letter=" "
i=0
lettercount=0
while IFS= read -r line; do labels[$((i))]=$line let "i++"
done < labels.csv
i=0
while IFS= read -r line; do words[$((i))]=$line firstletter="$( echo $line | head -c 1 )" if [ "$firstletter" != "$letter" ] then letterstartind[$((lettercount))]=$((i)) letterstart[$((lettercount))]=$firstletter letter=$firstletter let "lettercount++" fi let "i++"
done < words.txt
letterstartind[$((lettercount))]=$((i))
echo "Created list of letters" touch wordfrequency.txt
rm wordfrequency.txt
touch wordfrequency.txt
messagecount=0
messagenum=0
messages="$( wc -l messages.txt )"
i=0
while IFS= read -r line; do let "messagenum++" declare -a wordcount=() declare -a wordarray=() read -r -a wordarray <<> wordfrequency.txt echo "Processed message ""$messagenum" let "i++"
done < messagesLetters.txt
# Create csv file
tr ' ' ',' data.csv

Since Bash is an interpreted language, this simple implementation can take upto 30 minutes to complete. If using the above Bash script on your primary workstation, run it as a task with low priority so that you can continue with other work while you wait:

$ nice -20 bash makematrix.sh

Once the script has finished running, split the data into testing (30%) and training (70%) sets:

$ mlpack_preprocess_split \ --input_file data.csv \ --input_labels_file labels.csv \ --training_file train.data.csv \ --training_labels_file train.labels.csv \ --test_file test.data.csv \ --test_labels_file test.labels.csv \ --test_ratio 0.3 \ --verbose

Train a model

Now train a Logistic regression model:

$ mlpack_logistic_regression \
--training_file train.data.csv \
--labels_file train.labels.csv --lambda 0.1 \
--output_model_file lr_model.bin

Test the model

Finally we test our model by producing predictions,

$ mlpack_logistic_regression \
--input_model_file lr_model.bin \ --test_file test.data.csv \
--output_file lr_predictions.csv

and comparing the predictions with the exact results,

$ export incorrect=$(diff -U 0 lr_predictions.csv \
test.labels.csv | grep '^@@' | wc -l)
$ export tests=$(wc -l < lr_predictions.csv)
$ echo "scale=2; 100 * ( 1 - $((incorrect)) \
/ $((tests)))" | bc

This gives approximately 90% validation rate, similar to that obtained here.

The dataset is composed of approximately 50% spam messages, so the validation rates are quite good without doing much parameter tuning. In typical cases, datasets are unbalanced with many more entries in some categories than in others. In these cases a good validation rate can be obtained by mispredicting the class with a few entries. Thus to better evaluate these models, one can compare the number of misclassifications of spam, and the number of misclassifications of ham. Of particular importance in applications is the number of false positive spam results as these are typically not transmitted. The script below produces a confusion matrix which gives a better indication of misclassification. Save it as ‘confusion.sh’

#!/bin/bash
declare -a labels
declare -a lr
i=0
while IFS= read -r line; do labels[i]=$line let "i++"
done < test.labels.csv
i=0
while IFS= read -r line; do lr[i]=$line let "i++"
done < lr_predictions.csv
TruePositiveLR=0
FalsePositiveLR=0
TrueZerpLR=0
FalseZeroLR=0
Positive=0
Zero=0
for i in "${!labels[@]}"; do if [ "${labels[$i]}" == "1" ] then let "Positive++" if [ "${lr[$i]}" == "1" ] then let "TruePositiveLR++" else let "FalseZeroLR++" fi fi if [ "${labels[$i]}" == "0" ] then let "Zero++" if [ "${lr[$i]}" == "0" ] then let "TrueZeroLR++" else let "FalsePositiveLR++" fi fi done
echo "Logistic Regression"
echo "Total spam" $Positive
echo "Total ham" $Zero
echo "Confusion matrix"
echo " Predicted class"
echo " Ham | Spam "
echo " ---------------"
echo " Actual| Ham | " $TrueZeroLR "|" $FalseZeroLR
echo " class | Spam | " $FalsePositiveLR " |" $TruePositiveLR
echo ""

then run the script

$ bash confusion.sh

You should get output similar to

Logistic Regression
Total spam 183
Total ham 159
Confusion matrix

    Predicted class
    Ham Spam
Actual class Ham 128 26
Spam 31 157

which indicates a reasonable level of classification. Other methods you can try in ML-Pack for this problem include Naive Bayes, random forest, decision tree, AdaBoost and perceptron.

To improve the error rating, you can try other pre-processing methods on the initial data set. Neural networks can give upto 99.95% validation rates, see for example here, here and here. However, using these techniques with ML-Pack cannot be done on the command line interface at present and is best covered in another post.

For more on ML-Pack, please see the documentation.

Posted on Leave a comment

PHP 7.3.20 Released

The PHP development team announces the immediate availability of PHP 7.3.20. This is a security release impacting the official Windows builds of PHP. For Windows users running an official build, this release contains a patched version of libcurl addressing CVE-2020-8159. For all other consumers of PHP, this is a bug fix release. All PHP 7.3 users are encouraged to upgrade to this version. For source downloads of PHP 7.3.20 please visit our downloads page. Windows binaries can be found on the PHP for Windows site. The list of changes is recorded in the ChangeLog. Release Announcement: <https://php.net/releases/7_3_20.php> Downloads: <https://www.php.net/downloads> Windows downloads: <https://windows.php.net/download> Changelog: <https://www.php.net/ChangeLog-7.php#7.3.20> cURL sec advisory: <<https://curl.haxx.se/docs/CVE-2020-8169.html> Many thanks to all the contributors and supporters! Stanislav Malyshev, Christoph M. Becker php-7.3.20.tar.bz2 SHA256 hash: c6ed7894911acfe075381c01b07745d92e9259fac510a849f742edb6b95c89de PGP signature: -----BEGIN PGP SIGNATURE----- iQJABAABCAAqFiEEy69p8XOg/qS1N/Rw1myVkxGLzLYFAl8EK/oMHGNtYkBwaHAu bmV0AAoJENZslZMRi8y2S4YP/i9GiSHcvrhl0QGag8+fyT/HSdn09Z6n19on5NMB XjjhttphYVo2B8qoHxXCGT8zQ/Tb21U7lkTs8gYSCFJtES0QAk8JnApMmBTftLuX uczF29JX5xbL1uLRpAQ7nXUpNFULANz223xfJDx+lgyV3r1m3J+djSkj/eueV32X 1vivMeLoEtVxGtNJoGpL8FBUz2ryDuGuC8wMZA5mgwSVwfcyEyOfn/PKTKzK+Rsu /fAIwdWJyL1mM4vrsscW3f7acpGN19vgSqy/iMAok7bA1NeGYWhN80dbXA4Ms91M 3t0RtQIPwlhGYQO5SnxGFX8Oh0EJetoOihRq5r6BxgCJbCaiZcNSaCG/xa7ontuy yqFOHFarAUXJUH+EJl1V2NQ742qNY2NHoIIXdpZBa7iQGHnHW/wIVgQpIfAVy7/d R6qIjgM/V6m1a7l8byvrS5ih5c1YKuxgGde9926oA029P6cEeMWS9PtWQ7bNyEJI DlDwev5MHrOwBg27xTVteWWJXY563NtW7w+VoOVjYU3R3LMCru0M3dAOGZzakL/S uGogbed7+frdlUh9w89E4owF3nA7gEBpynTrennEUAzQSN7EEi2L3CtvpLrMspW+ kL/BzSNu9J3o2c0mt5YC7sE8phuGho7PLP/RtnJsJpabhmxITSF2SfEEnb9MRkCG fVKZ =Xgc8 -----END PGP SIGNATURE----- php-7.3.20.tar.gz SHA256 hash: d0579b8a6bcdd5e1ae334d83261f2389b0d3d4fd54cc808e20a5031121f97d87 PGP signature: -----BEGIN PGP SIGNATURE----- iQJABAABCAAqFiEEy69p8XOg/qS1N/Rw1myVkxGLzLYFAl8ELAkMHGNtYkBwaHAu bmV0AAoJENZslZMRi8y2/G0P/0MxN7hnN9r/rEr8AkHh5H8DrxE5Z1KidCYBuy/r +zKV1RT6GeQuR4gtJij1eOUDPLJtV02Dg7rIrH18GLqEwxH7eL6oBiC8bOePipWZ hPW8pn7okm5GoJzpVVicQq1Qc7SCVtBdd/XuQKt082ldgYnyxU1u3BNOA8FFh92G Aa4GRSCMXsKcTaUNMm5TZthylii4O61x1iHzY85r6L4sUy2SuQrw8w6FNaOtQmP6 6DYXAODdfsbvSNF8keqaayXz/RmN0zHTqivrb0TzdAVK0mAGcpF/ZQN5xquAuB66 dUNwrEG8LSys7/1Lcof4zC7RCmEhhwt3XEd9iJoFsx5YNhlPn/ny2crjDRL9Nt22 30O3I+7GUD5ZxhMaKSl0bhSfExYK/cyYyOq4FK2jF8NlcUDuClNM6sgUzPgLjprc B7hPiKe1iT45wCNfDq3rrmM7eYHrUKy13AAZDIB/ytGe89JiOiPpJKM9wfyPh+Mg xbaJaugA1GazIZp4iEQZDfRavj013Yh73yBRDCIvzuKis/+MQ3b2GYdS4Uu86kRj ntH+W3KffwaT7poK8dXwDXlTL5p0pJ+himzh2S5rGbDT0cgYVM6UOPov2AaiQUrf Mc4CYI6GB0gSgl/dzYQ/7bCvdP/tT5ul75TAT7N8U5Grz4SCHQbo4ZMmKyI/EiM/ ELLD =1DBT -----END PGP SIGNATURE----- php-7.3.20.tar.xz SHA256 hash: 43292046f6684eb13acb637276d4aa1dd9f66b0b7045e6f1493bc90db389b888 PGP signature: -----BEGIN PGP SIGNATURE----- iQJABAABCAAqFiEEy69p8XOg/qS1N/Rw1myVkxGLzLYFAl8ELAkMHGNtYkBwaHAu bmV0AAoJENZslZMRi8y240EP/2Ed4Fa6u+0kYDg0d0Tn0E9zjJTI3oIX64kvUnA9 368L0AzCpCEHMZoE36oeLHs+pmqm2Irz2FrjvwnmXlKbf7k9iZsgo/IZxTesetE4 wBmzGZCWEgEcpUTHav/scejEysD70GbzBo3wpIzIps3D+4wcMFXYSpygFiEtMGiM MqNnTn+Q/i8krNIGtuV20RnuGkzDedogUb99B1E0LjiuS9Lq/obFeWGWnNMsgYlv TEPxcMgqsglovXZd3Z2tdAqQ34A89gdOkK97oUDeBrLJfJabgFrCprMlOWiECkNs VuKKqiHSQOcPoebpKzwYh0rsLD3glIW7MXU1koyXFS2QTiLNsaUTv+8vxWnr6JNg 9nuZfD2OgI0gSLMbpjvTBLJFIUA43/Sp/iQAlA1sQJZXnOSi+xjkqgtNw8hnwURT lDrCnCqcBb0L11aDamBVE4E/2UVTg7bRRxFrMRnsQtr6SqXO/QBbhnpyHQLsnBd/ tcGDZw7uSTIoAoy6PpIWg70E5lDArZcHHJ51IXfCvTMPSx0IkzdNUg1VOeUzlHtX 1zR1Ms2Umr6EWvwC9krzow16iSty3pUfzs57qVBYAt5jS776qIvHmo+kIMcYQzki X4sn3IQntksLevOh+RNIuSWoLgtmNpCc8TMfhHEU2tapoLxgaNaHbxqNAv7cNqL0 /wRc =zju5 -----END PGP SIGNATURE-----
Posted on Leave a comment

Re: [ANNOUNCE] PHP 7.4.8 Released!

On Thu, Jul 9, 2020, 7:17 AM Derick Rethans <derick@php.net> wrote: > The PHP development team announces the immediate availability of PHP > 7.4.8. This is a security bug fix release. > > All PHP 7.4 users are encouraged to upgrade to this version. > > For source downloads of PHP 7.4.8 please visit our downloads page. > Windows binaries can be found on the PHP for Windows site. The list of > changes is recorded in the ChangeLog. > > A migration guide is available in the PHP Manual. Please consult it for the > detailed list of new features and backward incompatible changes. > > Release Announcement: <https://www.php.net/releases/7_4_8.php> > Downloads: <https://www.php.net/downloads> > Windows downloads: <https://windows.php.net/download> > Changelog: <https://www.php.net/ChangeLog-7.php#7.4.8> > Migration guide: <https://www.php.net/manual/migration74.php> > > Many thanks to all the contributors and supporters! > > Derick Rethans > > P.S. Below is the verification information for the downloads, which is > also available on > <https://gist.github.com/0faa5df99297ee1c40e55e8c3d9d8256>. > > > php-7.4.8.tar.gz > SHA256 hash: > 649f6bcdb60dc38d5edd7f3a7b2905d15d88c1d13e40307e8972ede347cea6ba > PGP signature: > -----BEGIN PGP SIGNATURE----- > > iQIzBAABCAAdFiEEWlKIB4H3VWCL+BX8kQ3rRvU+oxIFAl8G3GIACgkQkQ3rRvU+ > oxJWRg/+MjrdZyLzJtCI77hkcWtLjmbeYVIhTmSTR8zySJokCe5e8jqVPS/AM0gX > vI1BduZnkoKAg8eP2JU98/Kl5nnplK9G1TZ3FChqKrpnttEAEm4HdZB44xBXbUeh > EIBlidXls9cPkjtWhYyCqaahcElYrJuzymuLCm/JOfO+xKlIqmq4odLtlM5aBeqK > nhWjYxGbXocw3H38U4hUGa3AkI1vY28me49R/hse76g58YheOZI4oJUPLMM5io5a > QEo52UgcMrZxpUbkWYQlfgwDlUFpA8o1GBX1A2gebmCbPxMoeS+FjggOyAjegPcB > KeinQraOui6OuNXk03nL0ptcGuY8dQceitJmdICcH4CZ0TDXQAYxcpjBxRZsKtBX > L7ecSMUITkBVnEupug753542Q3ppdtzgA5Vdj471jTul6d4AWdCNJPH7d9ZwU6yG > HYqJ6/cKmpieI6XSzdMzZnL8epZvRmtDAHLceWUtTwKjuC16t9q3RM2YrTQSWcB9 > +gAD4Atf+m8aobgzBVEbuMpP+yEj5u2XfWTbPyULXf3BU3UuhC/7JwcAW+i167oA > slftSPS3/0R6tOrPkW8otEBcW1JdWzUgl978wMTPc8S3Xe9iI/6xb/dKy798m28i > o6SxfIuMUqtrSFqqzUIYzEelW02GAhSVskObzioamGEXsMCRppU= > =pQNz > -----END PGP SIGNATURE----- > > php-7.4.8.tar.bz2 > SHA256 hash: > 6a48d3a605c003b088984ceb53be5df1e698b8b35ddacadd12fe50f49c0e8062 > PGP signature: > -----BEGIN PGP SIGNATURE----- > > iQIzBAABCAAdFiEEWlKIB4H3VWCL+BX8kQ3rRvU+oxIFAl8G3GkACgkQkQ3rRvU+ > oxK3/xAAi8QhwKDrqQLWuQLzprAx2yq20eCHTAzap2QcBOJ3xbLTN8XgIe8FU4kQ > VwzX+BE4p8aLpjqebnZoBxCU/M6Gli54r8yBnXwqcCIjXxQWK1M1RaJwDR5jlyYZ > mKY0x5NFHPzVcS3KrubC3y+dS5EqYhKP+eal5L0HU5yNVeN2mVPOdsa7UV2CDe6Q > KTUF7CHrO77l0VF6YH07n0x353xq1XToNTkYVr0uU7/l1IqdyySvg3pV94zL9q2I > 1pujn9m1U2hQpcI0y6KCKnzPRGVH7Cjj04xYzWT79MKxl0H4Q2zYPUKRZrLvexZz > Wop0RLj49lrK1FlZhsUJESyXQw5LIZHNUAbTP2TthdNR4soM/A/ZTP3N1Q/BVejq > J4hG7Q6Xmzp/Bmv4BcQbpygofEs71JPVXNSUlATttHmIFOgxEijJcifxLZ56jyxL > /T6+EQV8uDQ70Ho6GaZfbMWIhz18lIWAyc5QRxRiZCBkNmSXqNMb9W/C4xqVwcux > xgbHoh8LA8F5brHNdv7g6WWwk47ogb87NNZ0U3QtdWqOTVqWjoI0nuL1kRovF5fa > PCi2uo5LoY+CADvbUwL2SB5qFO7YK8W7Y2VaS4PpgS3I5ylXnFXNY8eaPbMWqUPt > tFURvMCFQTpwKuLpjbsvoWLk8pgLz57t1MGNUeuojnmPZrq2zoc= > =96y9 > -----END PGP SIGNATURE----- > > php-7.4.8.tar.xz > SHA256 hash: > 642843890b732e8af01cb661e823ae01472af1402f211c83009c9b3abd073245 > PGP signature: > -----BEGIN PGP SIGNATURE----- > > iQIzBAABCAAdFiEEWlKIB4H3VWCL+BX8kQ3rRvU+oxIFAl8G3GkACgkQkQ3rRvU+ > oxI9ug/+KJRhp4nHJ3M9b4P7Thb5zeM49NyhqJIDeidIKshoN0yaABrp0CGm80RC > MuIMz6+DkybZ4iCXMt8boTA6CkY4Y+E2nSNYlDYkude10zTkCmYq5yVkZB4ojMpk > 04Z1+HblqCd/XaZVDwvO/IGGix7Vlm7qsAdG+MupJDIVme2xdSxqLhoDmsT29Ex+ > 1vwI4IRnQrniD/nheeWlh7V8+vCf38Pn5Cq4tjQyZPI6a7aXnd6+C2V+snSO9IPg > zN5g/m9jM0uvVXR4wgb8PtPIdWLkQqxol7wyOQA0/YYmNAh/ZhacFxeY0rSK95V6 > CawjWGT6Fn34i40qdzOMPMy2KR5GGqdYaMB96X6vr7UVwC3QaT2theDfUduDPDVK > /ulfmT5dLmqgh7ViNb5eq9zW0DfRvSI4gUiap5XBn0vB4IbocSyB10Ld4DzmsUja > RC3EIZNziIyDTp4uKufmxcVYP6rfcPQLR81x/hGVV+wyTUBZCIR2j07VpIEqZCmL > knXkDZFBJ/jgxE9xCcEe3Xmcm2eM6jMeCxs9o3KhfA7zFwfJvYTyPYfnKSpEleYu > rLkAtjFgjilmG90AmbUiApIozehMEQ0a5yvPHDylzG1Auh4RqjgJR+NWimY0Dyq6 > f39LjH7RPq88S7unBK2qmNU1Jr0VcjyOb9VioBQU2JmBKzWP41w= > =Exqa > -----END PGP SIGNATURE----- > > > -- > PHP 7.4 Release Manager > Host of PHP Internals News: https://phpinternals.news > Like Xdebug? Consider supporting me: https://xdebug.org/support > https://derickrethans.nl | https://xdebug.org | https://dram.io > twitter: @derickr and @xdebug > > -- > PHP Announcements Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php > >
Posted on Leave a comment

PHP 7.4.8 Released!

The PHP development team announces the immediate availability of PHP 7.4.8. This is a security bug fix release. All PHP 7.4 users are encouraged to upgrade to this version. For source downloads of PHP 7.4.8 please visit our downloads page. Windows binaries can be found on the PHP for Windows site. The list of changes is recorded in the ChangeLog. A migration guide is available in the PHP Manual. Please consult it for the detailed list of new features and backward incompatible changes. Release Announcement: <https://www.php.net/releases/7_4_8.php> Downloads: <https://www.php.net/downloads> Windows downloads: <https://windows.php.net/download> Changelog: <https://www.php.net/ChangeLog-7.php#7.4.8> Migration guide: <https://www.php.net/manual/migration74.php> Many thanks to all the contributors and supporters! Derick Rethans P.S. Below is the verification information for the downloads, which is also available on <https://gist.github.com/0faa5df99297ee1c40e55e8c3d9d8256>. php-7.4.8.tar.gz SHA256 hash: 649f6bcdb60dc38d5edd7f3a7b2905d15d88c1d13e40307e8972ede347cea6ba PGP signature: -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEWlKIB4H3VWCL+BX8kQ3rRvU+oxIFAl8G3GIACgkQkQ3rRvU+ oxJWRg/+MjrdZyLzJtCI77hkcWtLjmbeYVIhTmSTR8zySJokCe5e8jqVPS/AM0gX vI1BduZnkoKAg8eP2JU98/Kl5nnplK9G1TZ3FChqKrpnttEAEm4HdZB44xBXbUeh EIBlidXls9cPkjtWhYyCqaahcElYrJuzymuLCm/JOfO+xKlIqmq4odLtlM5aBeqK nhWjYxGbXocw3H38U4hUGa3AkI1vY28me49R/hse76g58YheOZI4oJUPLMM5io5a QEo52UgcMrZxpUbkWYQlfgwDlUFpA8o1GBX1A2gebmCbPxMoeS+FjggOyAjegPcB KeinQraOui6OuNXk03nL0ptcGuY8dQceitJmdICcH4CZ0TDXQAYxcpjBxRZsKtBX L7ecSMUITkBVnEupug753542Q3ppdtzgA5Vdj471jTul6d4AWdCNJPH7d9ZwU6yG HYqJ6/cKmpieI6XSzdMzZnL8epZvRmtDAHLceWUtTwKjuC16t9q3RM2YrTQSWcB9 +gAD4Atf+m8aobgzBVEbuMpP+yEj5u2XfWTbPyULXf3BU3UuhC/7JwcAW+i167oA slftSPS3/0R6tOrPkW8otEBcW1JdWzUgl978wMTPc8S3Xe9iI/6xb/dKy798m28i o6SxfIuMUqtrSFqqzUIYzEelW02GAhSVskObzioamGEXsMCRppU= =pQNz -----END PGP SIGNATURE----- php-7.4.8.tar.bz2 SHA256 hash: 6a48d3a605c003b088984ceb53be5df1e698b8b35ddacadd12fe50f49c0e8062 PGP signature: -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEWlKIB4H3VWCL+BX8kQ3rRvU+oxIFAl8G3GkACgkQkQ3rRvU+ oxK3/xAAi8QhwKDrqQLWuQLzprAx2yq20eCHTAzap2QcBOJ3xbLTN8XgIe8FU4kQ VwzX+BE4p8aLpjqebnZoBxCU/M6Gli54r8yBnXwqcCIjXxQWK1M1RaJwDR5jlyYZ mKY0x5NFHPzVcS3KrubC3y+dS5EqYhKP+eal5L0HU5yNVeN2mVPOdsa7UV2CDe6Q KTUF7CHrO77l0VF6YH07n0x353xq1XToNTkYVr0uU7/l1IqdyySvg3pV94zL9q2I 1pujn9m1U2hQpcI0y6KCKnzPRGVH7Cjj04xYzWT79MKxl0H4Q2zYPUKRZrLvexZz Wop0RLj49lrK1FlZhsUJESyXQw5LIZHNUAbTP2TthdNR4soM/A/ZTP3N1Q/BVejq J4hG7Q6Xmzp/Bmv4BcQbpygofEs71JPVXNSUlATttHmIFOgxEijJcifxLZ56jyxL /T6+EQV8uDQ70Ho6GaZfbMWIhz18lIWAyc5QRxRiZCBkNmSXqNMb9W/C4xqVwcux xgbHoh8LA8F5brHNdv7g6WWwk47ogb87NNZ0U3QtdWqOTVqWjoI0nuL1kRovF5fa PCi2uo5LoY+CADvbUwL2SB5qFO7YK8W7Y2VaS4PpgS3I5ylXnFXNY8eaPbMWqUPt tFURvMCFQTpwKuLpjbsvoWLk8pgLz57t1MGNUeuojnmPZrq2zoc= =96y9 -----END PGP SIGNATURE----- php-7.4.8.tar.xz SHA256 hash: 642843890b732e8af01cb661e823ae01472af1402f211c83009c9b3abd073245 PGP signature: -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEWlKIB4H3VWCL+BX8kQ3rRvU+oxIFAl8G3GkACgkQkQ3rRvU+ oxI9ug/+KJRhp4nHJ3M9b4P7Thb5zeM49NyhqJIDeidIKshoN0yaABrp0CGm80RC MuIMz6+DkybZ4iCXMt8boTA6CkY4Y+E2nSNYlDYkude10zTkCmYq5yVkZB4ojMpk 04Z1+HblqCd/XaZVDwvO/IGGix7Vlm7qsAdG+MupJDIVme2xdSxqLhoDmsT29Ex+ 1vwI4IRnQrniD/nheeWlh7V8+vCf38Pn5Cq4tjQyZPI6a7aXnd6+C2V+snSO9IPg zN5g/m9jM0uvVXR4wgb8PtPIdWLkQqxol7wyOQA0/YYmNAh/ZhacFxeY0rSK95V6 CawjWGT6Fn34i40qdzOMPMy2KR5GGqdYaMB96X6vr7UVwC3QaT2theDfUduDPDVK /ulfmT5dLmqgh7ViNb5eq9zW0DfRvSI4gUiap5XBn0vB4IbocSyB10Ld4DzmsUja RC3EIZNziIyDTp4uKufmxcVYP6rfcPQLR81x/hGVV+wyTUBZCIR2j07VpIEqZCmL knXkDZFBJ/jgxE9xCcEe3Xmcm2eM6jMeCxs9o3KhfA7zFwfJvYTyPYfnKSpEleYu rLkAtjFgjilmG90AmbUiApIozehMEQ0a5yvPHDylzG1Auh4RqjgJR+NWimY0Dyq6 f39LjH7RPq88S7unBK2qmNU1Jr0VcjyOb9VioBQU2JmBKzWP41w= =Exqa -----END PGP SIGNATURE----- -- PHP 7.4 Release Manager Host of PHP Internals News: https://phpinternals.news Like Xdebug? Consider supporting me: https://xdebug.org/support https://derickrethans.nl | https://xdebug.org | https://dram.io twitter: @derickr and @xdebug
Posted on Leave a comment

PHP 7.2.32 Released!

The PHP development team announces the immediate availability of PHP 7.2.32. This is a security release impacting the official Windows builds of PHP. For Windows users running an official build, this release contains a patched version of libcurl addressing CVE-2020-8159. For all other consumers of PHP, this release is functionally identical to PHP 7.2.31 and no upgrade from that point release is necessary. Release Announcement: http://php.net/releases/7_2_32.php Downloads: http://www.php.net/downloads Windows downloads: http://windows.php.net/download Changelog: http://www.php.net/ChangeLog-7.php#7.2.32 Signatures and Checksums: https://gist.github.com/sgolemon/030a3c04cdc8e073bdfb96a3f70f8701 Many thanks to all contributors and supporters! Stay typesafe and wear a netmask! Sara Golemon, Remi Collet