Contribution Time, Sponsored, and Teams Fields Added to WordPress.org User Profiles

A new section named Contribution has been added to WordPress.org user profiles. This section contains fields that enable users to share how much time they contribute to WordPress on a weekly basis, which teams they contribute to, and whether or not those contributions are sponsored.

New WordPress.org User Profile Fields

Each field is optional and will only appear if the Hours and Teams fields are filled in. The sponsored tag will only appear next to the Contributions heading if you answer Yes to being sponsored and the other fields are filled in.

Andrea Middleton describes these fields as a step towards a possible version one of the Five for the Future program that was published last year.

“I think it will also help with transparency, and might facilitate how teams set internal expectations for how much time different contributors might have to spend on a project or ongoing task,” she said.

In addition to the profile fields, the official WordPress Jobs Board has also been updated to include a new Contributor position. The goal is to make it easier for companies to find and hire people interested in becoming sponsored contributors.

These changes are the first iteration with plans to enhance them in the future. If you have any suggestions or ideas on improving these fields, you’re encouraged to leave a comment.

One question I have regarding potential additions is whether or not it makes sense to provide a text field where users can name the company that is sponsoring them. This may aid in transparency and avoiding conflicts of interests.

On the other side of the coin, does it make sense for the company’s name to be public information, or should contributors only share that information with team leads or reps on a 1-on-1 basis?

I feel as though knowing someone’s contributions are sponsored is only half of the equation. Without knowing who the sponsor is, that information is practically irrelevant.

HDD to SSD, not compatible

My dad has an older laptop that I intalled Linux Mint on a long time ago and he loves his Linux Mint. For Father's Day I got him an SSD but when I would get to the part of the installation where it needs to format the drive it would always give me an error and fail. A few times it did this after I swapped the drives out but now the computer will not even boot to a Linux Mint ISO USB or DVD with the SSD drive in because it gives an error saying that there's no hard drive detected. Upon further inspection I think I've found the problem and I think it's a hardware issue I just don't know what to do about it. The old HDD has 4 more pins off to one side than the SSD does so I don't think the SSD has a chance of plugging in, although I don't know why it was letting me get as far into the installation process as it did the first few times if it couldn't see the SSD anyway. Images attached, what can I do about this? Thanks.

HDDvsSSD.JPG

Docker Snafu Leads to Millions of Downloads of Vulnerable JDK

Attention to detail matters, folks.

If you're one of the more than ten million developers who downloaded the official Docker images for OpenJDK 8 and 11 from mid April until about a month ago, you'll really want to make sure you get those updated stat

Due to innocent enough confusion over tagging protocols, Debian volunteers populated their repos with unreleased versions of the JDKs some weeks before the final versions were ready to go, but failed to clearly label them as such.

Matt Mullenweg’s Summer Update at WordCamp Europe 2019: Gutenberg’s Progress and a Preview of Upcoming Features

image credit: WCEU Photography Team

Matt Mullenweg took the stage at WordCamp Europe in Berlin this afternoon to give a summer update on the progress of the block editor. He attributed much of its continued success to the availability of the Gutenberg plugin, which allows for quick iteration and testing. More than 150,000 posts are published per day using the block editor, which Mullenweg said is “a testament to the long development period” that gave the team an opportunity to work out bugs and make it usable for a large number of people.

Since its initial release, the block editor has added a host of notable improvements, including block management capabilities, a cover block with nested elements, widgets as blocks, block grouping, and snackbar style notices.

Mullenweg highlighted a few beautiful and innovative examples of Gutenberg in the wild. Two projects from Human Made showcase Gutenberg-powered designs (artefactgroup.com) and an AI integration that analyzes a user’s writing in the editor (ingenuity.siemens.com.)

Election season is ramping up in the U.S. and Gutenberg-powered sites, like hurst4delegate.com, are starting to pop up. Mullenweg noted that 21/24 of the current democratic candidates for President are using WordPress for their sites. Whitehouse.gov also switched from Drupal to WordPress earlier this year.

Mullenweg also gave a quick preview of some of the upcoming Gutenberg features that are currently being developed on GitHub. Most of them are still in the prototype stage. The team is creating a system to install new blocks online, which will tie into the planned block directory. Mullenweg said Blocks could become a new top-level menu item in the WordPress admin, with screens dedicated to block discovery.

He showed demos of the navigation block in progress, a prototype for adding realistic motion to block movement, an experimental footnotes block, and a demo of resizing images with “snap to grid” capabilities. Mullenweg said one of the goals with Gutenberg is to “make it possible to create beautiful experiences, because that’s part of what the web needs to win.”

Mullenweg also gave an update on Gutenberg’s progress in the mobile apps. He said the new editor is operational but development is slow moving because the mobile engineers essentially have to duplicate all of the work that has been done by hundreds of Gutenberg contributors thus far.

Q&A Highlights Governance, Core Maintenance, and the Future of WordPress Themes

The Q&A portion of the session featured a variety of topics, ranging from an aggressive tirade about licensing and Envato, to more relevant inquiries about the future of WordPress themes. While this format of interaction has its shortcomings, it gives community members the opportunity to check on the status of issues where they have a particular interest.

One attendee asked if WordPress.org plans to implement a more democratic structure for decision making. Mullenweg seemed to interpret the question as referencing a system where tens or hundreds of millions of WordPress users would participate in making decisions on features through a vote or some other form of feedback. In contrast, he said WordPress’ current approach is for leadership to try to get a sense for what the most common issues are through polls and public channels and allow those issues to help shape the project’s roadmap.

Mullenweg shared that one particular issue on his mind right now is the problem of “how do I make my theme look like the demo?” He said contributors are experimenting with different types of models for making decisions that move WordPress in the direction to solve these types of problems.

He said that the project’s decision making is fairly transparent, without a lot of mystery, and that the community has tons of feedback mechanisms. This is a somewhat controversial claim, as regular project contributors have expressed frustration with the lack of communication surrounding important planning and decisions, such as release dates and project timing, as it pertained to how WordPress 5.0 landed. The community was frustrated by a lack of effective ways to communicate critical issues and complaints to project leadership. As a followup to this specific feedback, Josepha Haden, the new Executive Director of the WordPress project, has been diligent to track and communicate how leadership is working to improve communication.

Another attendee asked if WordPress themes will become obsolete after Gutenberg gains more site-building capabilities. Mullenweg predicted they will always be a part of WordPress but seemed inclined to let the market decide the fate of themes.

“I don’t know,” he said. “They are going to change for sure. I don’t think they ever go away.” He said he could see developers offering an array of different designs that could be used as a starting point. Although a WordPress theme has a very specific definition right now (as far as what types of files are included), Mullenweg said he can see that definition evolving over time. He said he could see themes becoming like a starter template or a library of patterns to choose from, or even a set of complex layouts that could work across different themes.

“I think we’re going to decouple themes a little bit but I don’t know how or what that will look like,” Mullwenweg said. He also noted that a lot of themes right now represent a similar aesthetic, often business minimalist that use white and blue colors. Design trends have the potential to shift dramatically as Gutenberg and themes evolve to allow users more control over how their sites are designed.

It is no secret that the WordPress development community is eager to switch to GitHub or another Git-based infrastructure for core development. Most of the recent feature projects have successfully matured on GitHub, with the majority of work and discussion taking place outside of Trac. One attendee asked about the possibility of moving away from Trac in the near future. Mullenweg said that this year the team that works on WordPress.org is prioritizing changes to the directory, but in the meantime anyone with Python knowledge is welcome to contribute to tweaking Trac for improvements in the interim before WordPress moves to Git-based development.

In response to a question about blockchain technology and WordPress, Mullenweg said he has long been an enthusiast in this area and loves the idea of open source applying to money, as well as having a distributed ledger.

“But I can’t think of any problem in core WordPress right now that the overhead of a blockchain would really improve,” he said. “Everything I could think of right would probably be plugin territory.” However, he said that the WordProof plugin’s timestamping WordPress content on the blockchain is among one of the best ideas he has seen for this technology so far.

When asked how he plans to “balance chasing the new and shiny with all of WordPress’ existing legacy APIs,” Mullenweg said that “PHP is going to be crucial to us for many years to come.” He recognized that the project has fallen behind in maintenance with some of its older APIs but that work on Gutenberg can be done in parallel.

The new triage team is currently going through all the tickets, refreshing patches, and working on taking them to resolution. Mullenweg noted that WordCamp Europe hosted the first ever triage table at its contributor day and said that this new area is ripe for contribution.

The REST API, despite its broad support and noteworthy contributors, is one area that Mullenweg said has held Gutenberg back. He said it still does not have the demonstrated use that its advocates predicted when working to get it merged into core and cautioned that WordPress should always use an API first before shipping it to the world.

Mullenweg concluded the Q&A by estimating that Gutenberg is only 10% of the way down the road towards solving the problems that WordPress contributors set out to tackle. He predicts that building on this initial effort will carry into the next decade.

18 Best SEO WordPress Themes for Digital Marketers

The Best SEO WordPress ThemesWith the increase in the number of online businesses, digital marketing along with SEO and social media agencies have also increased. These agencies promote the products & services of their clients and help in increasing the traffic to their client’s website and SEO WordPress Themes were tailor made for these sites. Now, to attract potential […]

The post 18 Best SEO WordPress Themes for Digital Marketers appeared first on WPExplorer.

Facebook Announces Libra

Earlier this month, Facebook announced their cryptocurrency solution will utilize Libra.  Scheduled to be in place in 2020, Libra currency will allow end-users to perform financial transactions — like buying things or sending funds to another user — with little to zero fees.  

In a pseudo-anonymous fashion, the expectation is that Libra holders can use their Libra via integrations with third-party wallet applications to purchase goods. When ready to convert Libra to physical currency, there will be a number of brick-and-mortar locations — like grocery stores — accepting Libra and providing local currency exchange services.

5 Real-World Applications of Blockchain Technology

Blockchain technology has garnered a significant amount of digital ink in recent years. In fact, it is as big of a game changer as the Internet was back in the 1990s. However, we often use the terms ‘blockchain’ and ‘Bitcoin’ interchangeably. What people don’t realize is that Bitcoin, or cryptocurrencies, are just an application of blockchain technology, and this decentralized and distributed digital ledger has been making its way to the core of multiple industries.

In this blog post, we are going to explore the different real-world applications of blockchain solutions.

Python Tutorial for Beginners: Modules Related to DateTime

Python DateTime Modules

In this article, we will look at the Python DateTime module. We will learn how to create the current time, how to calculate a time gap, and how to produce time differences. According to the Python docs:

“The python DateTime module supplies classes for manipulating dates and times in both simple and complex ways.”

So, the Python DateTime modules contain several classes. Let us discuss them one by one.

Managers: For Effective Stand Up Meetings, Do Your Homework

Stand up meetings don't have to be the worst. It just takes a little management preparation.
“The daily stand up meeting is not another meeting to waste people's time. It will replace many other meetings, giving a net savings several times its own length.” --  XP Rules

One of three things happens at every standup:

  1. Issues are omitted.

Microservices Best Practices: Why Build a Vertical Slice?

In this article, we look at what a vertical slice is and why we build it. We also discuss the best practices involved in building vertical slices.

What You Will Learn

  • What is a vertical slice?
  • When do you build a vertical slice?
  • What are the advantages of building a vertical slice?
  • What are the best practices for building a vertical slice?

Best Practices With Cloud and Microservices

This is the third article in a series of six articles on best practices with cloud and microservices. The first two articles can be found here: 

Full Build Automation For Java Application Using Docker Containers

In this pipeline implementation, we will be using Dockers containers for building our Java application. We will run Jenkins inside a Docker container, start Maven containers from the Jenkins container to build our code, run test cases in another Maven container, generate the artifact (jar in this case), then build a Docker image inside the Jenkins container itself and push that to the Docker Hub at the end from Jenkins Container.

For this Pipeline, we will be using 2 Github repositories.

Converting Objects to Map and Back

In large enterprise applications, sometimes, we need to convert data objects to and from Map. Usually, it is an intermediate step to a special serialization. If it is possible to use something standard, then it is better to use that, but many times, the architecture envisioned by some lead architect, the rigid environment, or some similar reason does not make it possible to use JOOQ, Hibernate, Jackson, JAX, or something similar. In such a situation, as it happened to me a few years ago, we have to convert the objects to some proprietary format being string or binary, and the first step towards that direction is to convert the object to a Map.

Eventually, the conversion is more complex than just:

We Really Need to Talk About Agile Contracts

If we really want to be Agile, we need to make sure our contracts are, too.

We all are aware that Agile software development has been in existence for about 18 years now, so it's clearly been enough time for organizations to adopt Agile processes for the complete development lifecycle.

But when it comes to writing contracts, I think most of us who have been working in software consulting companies will agree that there is still reluctance, and most of the time we either go back to waterfall language of writing or succumb to a mix of both the traditional and agile way.

Reduced Motion Picture Technique, Take Two

Did you see that neat technique for using the <picture> element with <source media=""> to serve an animated image (or not) based on a prefers-reduced-motion media query?

After we shared that in our newsletter, we got an interesting reply from Michael Gale:

What about folks who love their animated GIFs, but just didn’t want the UI to be zooming all over the place? Are they now forced to make a choice between content and UI?

I thought that was a pretty interesting question.

Also, whenever I see <img src="gif.gif"> these days, my brain is triggered into WELL WHAT ABOUT MP4?! territory, as I've been properly convinced that videos are better-in-all-ways on the web than GIFs. Turns out, some browsers support videos right within the <img> element and, believe it or not, you can write fallbacks for that, with — drumroll, please — for the <picture> element as well!

Let's take a crack at combining all this stuff.

Adding an MP4 source

The easy one is adding an additional <source> with the video. That means we'll need three source media files:

  1. A fallback non-animated graphic when prefers-reduced-motion is reduce.
  2. An animated GIF as the default.
  3. An MP4 video to replace the GIF, if the fallback is supported.

For example:

<picture>
  <source srcset="static.png" media="(prefers-reduced-motion: reduce)"></source>
  <source srcset="animated.mp4" type="video/mp4">
  <img srcset="animated.gif" alt="animated image" />
</picture>

Under default conditions in Chrome, only the GIF is downloaded and shown:

Chrome DevTools showing only gif downloaded

Under default conditions in Safari, only the MP4 is downloaded and shown:

Safari DevTools showing only mp4 downloaded

If you've activated prefers-reduced-motion: reduce in either Chrome or Safari (on my Mac, I go to System PreferencesAccessibilityDisplayReduce Motion), both browsers only download the static PNG file.

Chrome DevTools showing png downloaded

I tested Firefox and it doesn't seem to work, instead continuing to download the GIF version. Firefox seems to support prefers-reduced-motion, but perhaps it's just not supported on <source> elements yet? I'm not sure what's up there.

Wouldn't it be kinda cool to provide a single animated source and have a tool generate the others from it? I bet you could wire that up with something like Cloudinary.

Adding a toggle to show the animated version

Like Michael Gale mentioned, it seems a pity that you're entirely locked out from seeing the animated version just because you've flipped on a reduced motion toggle.

It should be easy enough to have a <button> that would use JavaScript to yank out the media query and force the browser to show the animated version.

I'm fairly sure there is no practical way to do this declaratively in HTML. We also can't put this button within the <picture> tag. Even though <picture> isn't a replaced element, the browser still gets confused and doesn't like it. Instead, it doesn't render it at all. No big deal, we can use a wrapper.

<div class="picture-wrap">
  
  <picture>
     <!-- sources  -->
  </picture>

  <button class="animate-button">Animate</button>

</div>

We can position the button on top of the image somewhere. This is just an arbitrary choice — you could put it wherever you want, or even have the entire image be tappable as long as you think you could explain that to users. Remember to only show the button when the same media query matches:

.picture-wrap .animate-button {
  display: none;
}

@media (prefers-reduced-motion: reduce) {
  .picture-wrap .animate-button {
     display: block;
  }
}

When the button is clicked (or tapped), we need to remove the media query to start the animation by downloading an animated source.

let button = document.querySelector(".animate-button");

button.addEventListener("click", () => {
  const parent = button.closest(".picture-wrap");
  const picture = parent.querySelector("picture");
  picture.querySelector("source[media]").remove();
});

Here's that in action:

See the Pen
Prefers Reduction Motion Technique PLUS!
by Chris Coyier (@chriscoyier)
on CodePen.

Maybe this is a good component?

We could automatically include the button, the button styling, and the button functionality with a web component. Hey, why not?

See the Pen
Prefers Reduction Motion Technique as Web Component
by Chris Coyier (@chriscoyier)
on CodePen.

The post Reduced Motion Picture Technique, Take Two appeared first on CSS-Tricks.

Weekly Platform News: Mozilla’s AV1 Encoder, Samsung One UI CSS, DOM Matches Method

Šime posts regular content for web developers on webplatform.news.

In this week's weekly roundup, Vimeo and Mozilla partner up on a video encoding format, how to bind instructions to to form fields using aria labels, the DOM has a matching function, and Samsung is working on its own CSS library.


Vimeo partners with Mozilla to use their rav1e encoder

Vittorio Giovara: AV1 is a royalty-free video codec designed by the Alliance for Open Media and the the most anticipated successor of H.264. Vimeo is contributing to the development of Mozilla’s AV1 encoder.

In order for AV1 to succeed, there is a need of an encoder like x264, a free and open source encoder, written by the community, for the community, and available to everyone: rav1e. Vimeo believes in what Mozilla is doing.

Use aria-describedby to bind instructions to form fields

Raghavendra Satish Peri: If you provide additional instructions for a form field, use the aria-describedby attribute to bind the instruction to the field. Otherwise, assistive technology users who use the Tab key might miss this information.

<label for="dob">Date of Birth</label>
<input type="text" aria-describedby="dob1" id="dob" />
<span id="dob1">Use DD/MM/YY</span>

Samsung Internet announces One UI CSS

Diego González: Samsung is experimentally developing a CSS library based on its new One UI design language. The library is called One UI CSS and includes styles for common form controls such as buttons, menus, and sliders, as well as other assets (web fonts, SVG icons, polyfills).

Some of the controls present in One UI CSS.

DOM elements have a matches method

Sam Thorogood: You can use the matches method to test if a DOM element has a specific CSS class, attribute or ID value. This method accepts a CSS selector and returns true if the element matches the given selector.

el.classList.has('foo')  /* becomes */ el.matches('.foo');
el.hasAttribute('hello') /* becomes */ el.matches('[hello]');
el.id === 'bar'          /* becomes */ el.matches('#bar');

The post Weekly Platform News: Mozilla’s AV1 Encoder, Samsung One UI CSS, DOM Matches Method appeared first on CSS-Tricks.

How to Be a Better Programmer: Take Care of Yourself!

If you want to be a better programmer, stop this. Now.
Photo credit by Flickr/osseous

A decade ago, a book called Death March was listed as a bestseller. The book described how insane hours of programming led to health issues:

“Death March is a type of project in which the employees need to overwork for unsustainable number of hours. The project starts feeling like an actual death march as the superiors force their employees to keep on working against their better judgment. The projects had so many parameters that the only way to succeed was by coding more than 16 hours a day, seven days a week—with no break until the project is finished.”

Some years later, another story went viral from a spouse of a programmer who worked at Rockstar games. She said the company expected the developers to work 12 hours a day, six days a week, damaging the programmers’ health.