Monthly Archiv: August, 2020

WordPress 5.5 “Eckstine”

Here it is! Named “Eckstine” in honor of Billy Eckstine, this latest and greatest version of WordPress is available for download or update in your dashboard.

Welcome to WordPress 5.5.

In WordPress 5.5, your site gets new power in three major areas:
speed, search, and security.

Speed

Posts and pages feel faster, thanks to lazy-loaded images.

Images give your story a lot of impact, but they can sometimes make your site seem slow.

In WordPress 5.5, images wait to load until they’re just about to scroll into view. The technical term is ‘lazy loading.’

On mobile, lazy loading can also keep browsers from loading files meant for other devices. That can save your readers money on data — and help preserve battery life.

Search

Say hello to your new sitemap.

WordPress sites work well with search engines.

Now, by default, WordPress 5.5 includes an XML sitemap that helps search engines discover your most important pages from the very minute you go live.

So more people will find your site sooner, giving you more time to engage, retain and convert them to subscribers, customers or whatever fits your definition of success.

Security

Now you can choose to update plugins and themes automatically–or pick just a few–from the screens you’ve always used.

Auto-updates for Plugins and Themes

Now you can set plugins and themes to update automatically — or not! — in the WordPress admin. So you always know your site is running the latest code available.

You can also turn auto-updates on or off for each plugin or theme you have installed — all on the same screens you’ve always used.

Update by uploading ZIP files

If updating plugins and themes manually is your thing, now that’s easier too — just upload a ZIP file.

Highlights from the block editor

Once again, the latest WordPress release packs a long list of exciting new features for the block editor. For example:

Block patterns

New block patterns make it simple and fun to create complex, beautiful layouts, using combinations of text and media that you can mix and match to fit your story.

You will also find block patterns in a wide variety of plugins and themes, with more added all the time. Pick any of them from a single place — just click and go!

The new block directory

Now it’s easier than ever to find the block you need. The new block directory is built right into the block editor, so you can install new block types to your site without ever leaving the editor.

Inline image editing

Crop, rotate, and zoom your photos right from the image block. If you spend a lot of time on images, this could save you hours!

And so much more.

The highlights above are a tiny fraction of the new block editor features you’ve just installed. Open the block editor and enjoy!

Accessibility

Every release adds improvements to the accessible publishing experience, and that remains true for WordPress 5.5.

Now you can copy links in media screens and modal dialogs with a button, instead of trying to highlight a line of text.

You can also move meta boxes with the keyboard, and edit images in WordPress with your assistive device, as it can read you the instructions in the image editor.

For developers

5.5 also brings a big box of changes just for developers.

Server-side registered blocks in the REST API

The addition of block types endpoints means that JavaScript apps (like the block editor) can retrieve definitions for any blocks registered on the server.

Defining environments

WordPress now has a standardized way to define a site’s environment type (staging, production, etc). Retrieve that type with wp_get_environment_type() and execute only the appropriate code.

Dashicons

The Dashicons library has received its final update in 5.5. It adds 39 block editor icons along with 26 others.

Passing data to template files

The template loading functions (get_header()get_template_part(), etc.) have a new $args argument. So now you can pass an entire array’s worth of data to those templates.

More changes for developers

  • The PHPMailer library just got a major update, going from version 5.2.27 to 6.1.6.
  • Now get more fine-grained control of redirect_guess_404_permalink().
  • Sites that use PHP’s OPcache will see more reliable cache invalidation, thanks to the new wp_opcache_invalidate() function during updates (including to plugins and themes).
  • Custom post types associated with the category taxonomy can now opt-in to supporting the default term.
  • Default terms can now be specified for custom taxonomies in register_taxonomy().
  • The REST API now officially supports specifying default metadata values through register_meta().
  • You will find updated versions of these bundled libraries: SimplePie, Twemoji, Masonry, imagesLoaded, getID3, Moment.js, and clipboard.js.

The Squad

Leading this release were Matt MullenwegJake Spurlock, and David Baumwald. Supporting them was this highly enthusiastic release squad:

Joining the squad throughout the release cycle were 805 generous volunteer contributors who collectively worked on over 523 tickets on Trac and over 1660 pull requests on GitHub.

Put on a Billy Eckstine playlist, click that update button (or download it directly), and check the profiles of the fine folks that helped:

A2 Hosting, a4jp . com, a6software, Aaron D. Campbell, Aaron Jorbin, abderrahman, Abha Thakor, Achal Jain, achbed, Achyuth Ajoy, acosmin, acsnaterse, Adam Silverstein, Addie, addyosmani, adnan.limdi, adrian, ahortin, airamerica, Ajay Ghaghretiya, Ajit Bohra, akbarhusen, akbarhusen429, Akhilesh Sabharwal, Akira Tachibana, Alain Schlesser, Albert Juhé Lluveras, Alex Concha, Alex Kirk, Alex Lende, Alex Shiels, Ali, ali11007, Allen Snook, amaschas, Amit Dudhat, anbumz, andfinally, Andrea Fercia, Andrea Middleton, Andrea Tarantini, Andrei Draganescu, Andrew Duthie, Andrew Nacin, Andrew Nevins, Andrew Ozz, Andrey "Rarst" Savchenko, Andrés Maneiro, Andy Fragen, Andy Meerwaldt, Andy Peatling, Angela Jin, Angelika Reisiger, Anh Tran, Ankit Gade, Ankit K Gupta, Ankit Panchal, Anne McCarthy, Anthony Burchell, Anton Timmermans, Antonis Lilis, apedog, archon810, argentite, Arpit G Shah, Arslan Ahmed, asalce, ashiagr, ashour, Atharva Dhekne, Aurélien Joahny, aussi, automaton, Ayesh Karunaratne, BackuPs, Barry, Barry Ceelen, Bart Czyz, bartekcholewa, bartkalisz, Bastien Ho, Bastien Martinent, bcworkz, bdbch, bdcstr, Ben Dunkle, Bence Szalai, bencroskery, Benjamin Gosset, Benoit Chantre, Bernhard Reiter, BettyJJ, bgermann, bigcloudmedia, bigdawggi, Bill Erickson, Birgir Erlendsson (birgire), Birgit Pauli-Haack, BjornW, bonger, Boone Gorges, Boris, Brandon Kraft, Brandon Payton, Brent Swisher, Brian Krogsgard, bruandet, Bunty, Burhan Nasir, caiocrcosta, Cameron Voell, cameronamcintyre, Carike, Carl Wuensche, Carlos Galarza, Carolina Nymark, Caroline Moore, Carrigan, ceyhun, Chad, Chad Butler, Charles Fulton, Chetan Prajapati, Chintan hingrajiya, Chip Snyder, Chloé Bringmann, Chouby, Chris Van Patten, chriscct7, Christian Chung, Christian Jongeneel, Christian Sabo, Christian Wach, Christoph Herr, cklee, clayray, Clifford Paulick, codeforest, Commeuneimage, Copons, Corey McKrill, cpasqualini, Cristovao Verstraeten, Csaba (LittleBigThings), Curtis Belt, Cyrus Collier, D.PERONNE, d6, Daniel Bachhuber, Daniel Hüsken, Daniel James, Daniel Llewellyn, Daniel Richards, Daniel Roch, Daniele Scasciafratte, Danny, Darko G., Darren Ethier (nerrad), Dave McHale, Dave Whitley, David A. Kennedy, David Aguilera, David Anderson, David Artiss, David Baumwald, David Binovec, David Brumbaugh, David E. Smith, David Herrera, David Ryan, David Shanske, David Smith, davidvee, dchymko, Debabrata Karfa, Deepak Lalwani, dekervit, Delowar Hossain, demetris, Denis Yanchevskiy, derekakelly, Derrick Hammer, Derrick Tennant, Diane Co, Dilip Bheda, Dimitris Mitsis, dingo-d, Dion Hulse, Dixita Dusara, djennez, dmenard, dmethvin, doc987, Dominik Schilling, donmhico, Dono12, Doobeedoo, Dossy Shiobara, dpacks, dratwas, Drew Jaynes, DrLightman, DrProtocols, dsifford, dudo, Dustin Bolton, dvershinin, Dylan Kuhn, Earle Davies, ecotechie, Eddie Moya, Eddy, Edi Amin, ehtis, Eileen Violini, Ekaterina, Ella van Durpe, elmastudio, Emanuel Blagonic, Emilie LEBRUN, Emmanuel Hesry, Enej Bajgoric, Enrico Sorcinelli, Enrique Piqueras, Enrique Sánchez, Eric, Eric Andrew Lewis, Eric Binnion, Erik Betshammar, Erin 'Folletto' Casali, esemlabel, esoj, espiat, Estela Rueda, etoledom, etruel, Ev3rywh3re, Evan Mullins, Fabian Kägy, Fabian Todt, Faisal Ahmed, Felix Arntz, Felix Edelmann, ferdiesletering, finomeno, Florian Brinkmann, Florian TIAR, Florian Truchot, florianatwhodunit, FolioVision, Francesca Marano, Francois Thibaud, Frank Goossens, Frank Klein, Frank.Prendergast, Franz Armas, Gabriel Koen, Gabriel Maldonado, Gabriel Mays, gadgetroid, Gal Baras, Garavani, garethgillman, Garrett Hyder, Gary Cao, Gary Jones, Gary Pendergast, Geert De Deckere, Gemini Labs, Gennady Kovshenin, geriux, Giorgio25b, gisselfeldt, glendaviesnz, goldsounds, Goto Hayato, Govind Kumar, Grégory Viguier, gradina, Greg Ziółkowski, gregmulhauser, grierson, Grzegorz.Janoszka, gsmumbo, Guido Scialfa, guidobras, Gunther Pilz, gwwar, H-var, hakre, Halacious, hankthetank, Hapiuc Robert, Hareesh Pillai, haukep, Haz, Hector F, Helen Hou-Sandi, Henry Wright, hlanggo, hommealone, Hoover, Howdy_McGee, hronak, huntlyc, Ian Belanger, Ian Dunn, Ian Stewart, ianjvr, ibdz, ifrins, infinum, Ipstenu (Mika Epstein), Isabel Brison, ishitaka, J.D. Grimes, jackfungi, jacklinkers, Jadon N, jadpm, jagirbahesh, Jake Spurlock, James Koster, James Nylen, Jan Koch, Jan Reilink, Jan Thiel, Janvo Aldred, Jarret, Jason Adams, Jason Coleman, Jason Cosper, Jason Crouse, Jason LeMahieu (MadtownLems), Jason Rouet, JasWSInc, Javier Casares, Jayson Basanes, jbinda, jbouganim, Jean-Baptiste Audras, Jean-David Daviet, Jeff Chandler, Jeff Farthing, Jeff Ong, Jeff Paul, Jen, Jenil Kanani, Jeremy Felt, Jeremy Herve, Jeremy Yip, jeryj, Jesin A, Jignesh Nakrani, Jim_Panse, Jip Moors, jivanpal, Joe Dolson, Joe Hoyle, Joe McGill, Joen Asmussen, Johanna de Vos, John Blackbourn, John Dorner, John James Jacoby, John P. Green, John Watkins, johnnyb, Jon Quach, Jon Surrell, Jonathan Bossenger, Jonathan Champ, Jonathan Christopher, Jonathan Desrosiers, jonkolbert, Jonny Harris, jonnybot, Jono Alderson, Joost de Valk, Jorge Bernal, Jorge Costa, Joseph Dickson, Josepha Haden, Josh Smith, JoshuaWold, Joy, Juanfra Aldasoro, juanlopez4691, Jules Colle, julianm, Juliette Reinders Folmer, Julio Potier, Julka Grodel, Justin Ahinon, Justin de Vesine, Justin Tadlock, justlevine, justnorris, K. Adam White, kaggdesign, Kailey (trepmal), Kaira, Kaitlin Bolling, KamataRyo, Kantari Samy, Kaspars, Kavya Gokul, keesiemeijer, Kelly Dwan, kennethroberson5556, Kevin Hagerty, Kharis Sulistiyono, Khokan Sardar, kinjaldalwadi, Kiril Zhelyazkov, Kirsty Burgoine, Kishan Jasani, kitchin, Kite, Kjell Reigstad, Knut Sparhell, Konstantin Obenland, Konstantinos Xenos, ksoares, KT Cheung, Kukhyeon Heo, lalitpendhare, Laterna Studio, laurelfulford, Laurens Offereins, Levdbas, Lew Ayotte, Lex Robinson, linyows, lipathor, Lisa Schuyler, liuhaibin, ljharb, logig, lucasbustamante, luiswill, Luke Cavanagh, Luke Walczak, lukestramasonder, M Asif Rahman, M.K. Safi, Maarten de Boer, Mahfoudh Arous, manojlovic, Manuel Schmalstieg, maraki, Marcin Pietrzak, Marcio Zebedeu, Marco Pereirinha, MarcoZ, Marcus, Marcus Kazmierczak, Marek Dědič, Marek Hrabe, Mario Valney, Marius Jensen, Mark Chouinard, Mark Parnell, Mark Uraine, markdubois, markgoho, Marko Andrijasevic, Marko Heijnen, MarkRH, markshep, markusthiel, Martijn van der Kooij, martychc23, Mary Baum, Matheus Martins, Mathieu Viet, Matias Ventura, matjack1, Matt Cromwell, Matt Mullenweg, Matt Radford, Matt van Andel, mattchowning, Matthew Boynes, Matthew Eppelsheimer, Matthew Gerring, Matthias Kittsteiner, Matthias Pfefferle, Matthieu Mota, mattyrob, Maxime Culea, Maxime Pertici, maxme, Mayank Majeji, mcshane, Mel Choyce-Dwan, Menaka S., mensmaximus, metalandcoffee, Michael, Michael Arestad, Michael Arestad, Michael Fields, Michael Nelson, Michele Butcher-Jones, Michelle, Miguel Fonseca, mihdan, Miina Sikk, Mikael Korpela, mikaumoto, Mike Crantea, Mike Glendinning, Mike Haydon, Mike Schinkel [WPLib Box project lead], Mike Schroder, Mikey Arce, Milana Cap, Milind More, mimi, mislavjuric, Mohammad Jangda, Mohammad Rockeybul Alam, Mohsin Rasool, Monika Rao, Morgan Kay, Morten Rand-Hendriksen, Morteza Geransayeh, moto hachi ( mt8.biz ), mrgrt, mrmist, mrTall, msaggiorato, Muhammad Usama Masood, Mukesh Panchal, munyagu, Nadir Seghir, Nahid Ferdous Mohit, Naoko Takano, narwen, Nate Gay, Nathan Rice, Navid, neonkowy, net, netpassprodsr, Nextendweb, Ngan Tengyuen, Nick Daugherty, Nicky Lim, nicolad, Nicolas Juen, NicolasKulka, Nidhi Jain, Niels de Blaauw, Niels Lange, nigro.simone, Nikhil Bhansi, Nikolay Bachiyski, Nilo Velez, Niresh, nmenescardi, Noah Allen, ntsekouras, NumidWasNotAvailable, oakesjosh, obliviousharmony, ockham, Omar Alshaker, onokazu, Optimizing Matters, ovann86, overclokk, p_enrique, Paal Joachim Romdahl, palmiak, Paresh Shinde, Parvand, Pascal Birchler, Pascal Casier, Paul Bearne, Paul Biron, Paul Fernhout, Paul Gibbs, Paul Ryan, Paul Schreiber, Paul Stonier, Paul Von Schrottky, pavelevap, Pedro Mendonça, pentatonicfunk, pepe, Peter "Pessoft" Kolínek, Peter Westwood, Peter Wilson, Phil Derksen, Phil Johnston, Philip Jackson, Pierre Gordon, pigdog234, pikamander2, pingram, Pionect, Piyush Patel, pkarjala, pkvillanueva, Prashant Baldha, pratik028, Pravin Parmar, Presskopp, Presslabs, Priyank Patel, Priyo Mukul, ProGrafika, programmin, Puneet Sahalot, pvogel2, r-a-y, Raaj Trambadia, Rachel Peter, raine, Ramanan, Rami Yushuvaev, Rastaban, RavanH, Ravat Parmar, ravenswd, rawrly, rebasaurus, Red Sand Media Group, Remy Perona, Remzi Cavdar, Renatho, renggo888, retlehs, retrofox, Riad Benguella, Rian Rietveld, riasat, Rich Tabor, Ringisha, ritterml, Rnaby, Rob Cutmore, Rob Migchels, rob006, Robert Anderson, Robert Chapin, Robert Peake, Ronald Huereca, Rostislav Wolný, Roy Tanck, ruxandra, Ryan Boren, Ryan Fredlund, Ryan Kienstra, Ryan McCue, Ryan Welcher, Ryota Sakamoto, ryotsun, Sören Wrede, Søren Brønsted, Sachit Tandukar, Sagar Jadhav, Sajjad Hossain Sagor, Sal Ferrarello, Salvatore Formisano, Sam Fullalove, Sam Webster, Samir Shah, Samuel Wood (Otto), samueljseay, Sander van Dragt, Sanket Mehta, sarahricker, Sathiyamoorthy V, Sayed Taqui, scarolan, scholdstrom, Scott Kingsley Clark, Scott Reilly, Scott Smith, Scott Taylor, scribu, scruffian, Sean Hayes, seanpaulrasmussen, seayou, senatorman, Sergey Biryukov, Sergey Predvoditelev, Sergio de Falco, sergiomdgomes, Shannon Smith, Shantanu Desai, shaunandrews, Shawn Hooper, shawnz, Shital Marakana, shulard, siliconforks, Simon Wheatley, simonjanin, sinatrateam, sjmur, skarabeq, skorasaurus, skoskie, slushman, snapfractalpop, SpearsMarketing, sphakka, squarecandy, sreedoap, Stanimir Stoyanov, Stefano Minoia, Stefanos Togoulidis, Steph Wells, Stephen Bernhardt, Stephen Cronin, Stephen Edgar, Steve Dufresne, stevegibson12, Steven Stern (sterndata), Steven Word, stevenkussmaul, stevenlinx, Stiofan, Subrata Sarkar, SUM1, Sunny, Sunny Ratilal, Sushyant Zavarzadeh, suzylah, Sybre Waaijer, Synchro, Sérgio Estêvão, Takayuki Miyauchi, Tammie Lister, Tang Rufus, TeBenachi, Tessa Watkins LLC, Tetsuaki Hamano, theMikeD, theolg, Thierry Muller, thimalw, Thomas M, Thorsten Frommen, Thrijith Thankachan, Tiago Hillebrandt, Till Krüss, Timothy Jacobs, Tkama, tmdesigned, tmoore41, TobiasBg, tobifjellner (Tor-Bjorn Fjellner), Tofandel, tomdude, Tommy Ferry, Tony G, Toro_Unit (Hiroshi Urabe), torres126, Torsten Landsiedel, Toru Miki, Travis Northcutt, treecutter, truongwp, tsimmons, Tung Du, Udit Desai, Ulrich, vabrashev, Vagios Vlachos, valchovski, Valentin Bora, Vayu Robins, veromary, Viktor Szépe, vinkla, virginienacci, Vladimir, vortfu, voyager131, vtieu, webaware, Weston Ruter, Whodunit, William Earnhardt, williampatton, Winstina, wpdesk, WPDO, WPMarmite, wppinar, Yahil Madakiya, yashrs, yoancutillas, yohannp, yuhin, Yuri Salame, Yvette Sonneveld, Zack Tollman, zaheerahmad, zakkath, Zebulan Stanphill, zieladam, and Česlav Przywara.

 

Many thanks to all of the community volunteers who contribute in the support forums. They answer questions from people across the world, whether they are using WordPress for the first time or since the first release. These releases are more successful for their efforts!

Finally, thanks to all the community translators who worked on WordPress 5.5. Their efforts bring WordPress fully translated to 46 languages at release time, with more on the way.

If you want to learn more about volunteering with WordPress, check out Make WordPress or the core development blog.

Community News: Latest PECL Releases (08.11.2020)

Latest PECL Releases:

  • mysqlnd_azure 1.1.1
    - 1. New connection attribute "_extension_version", indicate the mysqlnd_azure extension build version.

      1. Fix memory collect mnd_ prefix alloc crash and add a test case for enable mysqlnd.collect_memory_statistics.
      1. Add support for two redirection info format.
      1. Add support to enable runtime log, check myslqnd_azure_log.md
      1. Add doc for general troubleshooting.
  • gRPC 1.31.0
    - gRPC Core 1.31.0 update
  • igbinary 3.1.4
    * Fix unserialization of PHP references to internal/user-defined classes using PHP 7.4's `__unserialize` (e.g. `ArrayObject`)
  • ast 1.0.8
    - Recommend using the new constant `astflagsPARAM_MODIFIER_*` when checking if parameters use constructor property promotion. The values of `astflagsMODIFIER_*` and `astflagsPARAM_VARIADIC` had some overlap in some php 7 versions. The new constants will have the same values as `astflagsMODIFIER_*` in PHP 8.0+, but different values in PHP 7 (and these flags will never be set in php 7). - Support PHP 8.0's named arguments. - Support PHP 8.0's nullsafe operator (`?->`).
  • igbinary 3.1.3
    * Properly serialize reference groups of size 1 (these can be created by array_walk_recursive and other functions). Note that this does not fix the general case where values not being serialized are in the same reference group as a value being serialized. * PHP 8.0 compatibility fixes.

Eighers Gonna Eight with Sara Golemon and Garbriel Caruso

This episode is sponsored by
Ring Central Developers

The post Eighers Gonna Eight with Sara Golemon and Garbriel Caruso appeared first on Voices of the ElePHPant.

Embracing Competency and Letting Go of Design Perfection

It seems like every designer and developer out there is on the hunt for perfection. As if somehow that’s our ticket to the top. The distinguished projects, the big paycheck and the booming business. It all will come if we just…do the impossible?

The trouble is, we mere mortals aren’t known for perfection. Sure, subjectively someone could look at a project in our portfolio and say “it’s perfect”. Flattering as it may be, another person may look at that same project and give it a “meh”.

Recently, I’ve begun to realize what a pointless pursuit this is. Since design (and even code) is so subjective – is perfect really a thing? In my view it just seems like a big old waste of time. It’s an impossible standard to hold ourselves to. And thus, it’s ultimately counterproductive.

So, if we’re not after perfection, just what are we aiming for?

Give Competency a Chance

In my own journey, I feel like competency has become a bit of a lost art. It also gets a bad name, as some seem to equate it with mediocrity.

However, that view doesn’t take the whole picture into consideration. To me, being a competent web designer is a pretty awesome thing. It means that you:

  • Know what you’re doing and employ a professional approach;
  • Have valuable experience and use it to benefit your clients;
  • Understand what works (and what doesn’t) in terms of how a website looks and functions;
  • Can be relied upon to do the job the right way;

To be sure, none of these traits are guarantees of perfection. But put them together and it means that there’s a good chance you’ll deliver outstanding results. That’s something the vast majority of your clients will see and appreciate.

When it comes to web design, competence may be a bit of a bland term. It certainly doesn’t stir up the emotions quite as much as “perfect”.

Still, I take it to mean that a design is solid and the code is technically sound. In other words: it looks good and it works the way it’s supposed to. In the end, isn’t that what both designers and our clients are hoping for?

A woman smiling.

What We Gain by Leaving Perfection Behind

The idea of achieving perfection is a fool’s errand. As such, it can feel like forever climbing a mountain with a boulder strapped to your back. You’re more likely to be stuck in place rather than making progress.

Letting go of this idea is freeing. It can help clear your mind and remove those thoughts of not being “good enough”. You’re no longer competing against whoever or whatever you consider to be perfect. Instead, you’re simply doing your very best.

And there’s the irony. It may sound like aiming for competence means lowering your standards. But it’s actually the practice of being comfortable in your own skin. It’s realizing and accepting your strengths and limitations. Then, striving to improve with every project.

In all, you’re no longer trapped by the walls that perfection puts up around you.

A person looking out over a lake.

How to Get Started

Maybe all of this sounds nice enough. But what does it take to let go of this unproductive pursuit? I don’t think there’s one single playbook to follow.

Each of us have our own unique experiences and they inform our approach. But in general, it’s about changing how you look at your work and your place in the industry.

Celebrate Past Projects for What They Were

For instance, it’s easy to look at past projects with a highly-critical eye. This is a natural reaction. Why? Because you’ve likely grown as a designer or developer. Therefore, you see things you might have done differently.

But instead of focusing on the negatives of those old projects, look at what you did right. Maybe a particular project saw you employ a new skill or technique for the first time. Or perhaps it was a success for your client.

Rather than see it as a list of could haves and should haves, think about that project as a step in your progress. In its own way, it helped you get to where you are now.

Don’t Allow Yourself to Be Defined by What Others Do

Your portfolio may seem, in your opinion, to be better or worse than that of your peers. That’s to be expected, as we are all at different points in our career. Not to mention the differences in market niche, location and industry connections.

Some may have booked that big project to put them on the map, while you’re still waiting for that opportunity. In these scenarios, it’s important to keep things in perspective.

It’s great to seek inspiration in what others are doing. But you don’t need to hold yourself to some imaginary standard based on their success.

Try to look at your personal progression as a solo trip. In that way, your only real competition is with yourself. And getting to where you want to go takes time.

Flowers in a field.

Become the Best Version of You

None of us are perfect. We all have our share of successes and failures. But, by themselves, those things don’t define us. Rather, we are defined by what we learn from each and every project.

When compared with the relentless (and perhaps pointless) aim for perfection, I believe this is a much healthier approach. Personal growth doesn’t need to be perfect. There will be fits and starts. Learning to accept that is key.

The beauty of competency is that it’s actually something we can attain. Not only that, but with a little elbow grease we can continue to improve upon that trait over time.

So, while the thought of being perfect is more buzzed-about, the act of being competent is what will bring you the most joy.

The post Embracing Competency and Letting Go of Design Perfection appeared first on Speckyboy Design Magazine.

XLogger PHP PSR Logger

Package:
XLogger PHP PSR Logger
Summary:
Log events to browser console, text and XML files
Groups:
Console, Debug, Logging, PHP 7, PSR
Author:
Stefan Kientzler
Description:
This package can be used to log events to the current browser console, text and XML files...

Read more at https://www.phpclasses.org/package/11743-PHP-Log-events-to-browser-console-text-and-XML-files.html#2020-08-11-01:56:25

Xdebug Update: July 2020

Xdebug Update: July 2020

Another monthly update where I explain what happened with Xdebug development in this past month. These will be published on the first Tuesday after the 5th of each month. Patreon and GitHub supporters will get it earlier, on the first of each month. You can become a patron to support my work on Xdebug. If you are leading a team or company, then it is also possible to support Xdebug through a subscription.

In July, I worked on Xdebug for about 100 hours, with funding being around 70 hours. I worked mostly on the following things:

Xdebug 3

I spend nearly all of my time improving performance this month, with some help by Michael Voříšek for the profiler feature. Some of this work I have done live through Twitch where I stream (almost) every Monday at 15:30 BST (14:30 UTC/10:30 EDT). Past sessions are available on Vimeo.

In order to find out what can be improved I profiled Xdebug running various workloads. I have selected the following workloads per Xdebug mode

If you have any specific one you'd like to see added, please let me know and I'll see whether I have CPU cycles for it—running composer update for Pimcore under the C profiler Valgrind takes 2½ hours per run!

In any case, the profiling found out the following possible improvements:

Switch xdebug_sprintf to a new xdebug_str_add_fmt

Xdebug often needs to convert data into a single string, for either writing to file or network, storing function names with arguments in memory, or display purposes. It uses an API xdebug_sprintf which allocates new memory and formats the string according to format specifiers. Often it needs to add this to a xdebug_str buffer that makes up a longer piece of text. After it has added it to that buffer, it frees the allocated memory again.

By creating a new API that can add a formatted string to an xdebug_str buffer, I managed to reduce the amount of memory allocations and frees dramatically. This gave a 10-15% Wall Time performance boost, and a 10-25% reduction in CPU instructions.

Truncated by Planet PHP, read more at the original (another 3405 bytes)

Powered by Gewgley