GNU Project Maintainers Move to Oust Richard Stallman from Leadership

GNU Project maintainers are working to oust Richard Stallman from his position as head of the organization. In a joint statement published yesterday morning, a collection of 22 GNU maintainers and developers thanked Stallman for his work and declared that he can no longer represent the project:

We, the undersigned GNU maintainers and developers, owe a debt of gratitude to Richard Stallman for his decades of important work in the free software movement. Stallman tirelessly emphasized the importance of computer user freedom and laid the foundation for his vision to become a reality by starting the development of the GNU operating system. For that we are truly grateful.

Yet, we must also acknowledge that Stallman’s behavior over the years has undermined a core value of the GNU project: the empowerment of all computer users. GNU is not fulfilling its mission when the behavior of its leader alienates a large part of those we want to reach out to.

We believe that Richard Stallman cannot represent all of GNU.

Stallman’s personal website continues to prominently display his intentions to remain in the leadership role. He added the header to his site, following the publication of remarks he made regarding a 17-year old victim of sex trafficker Jeffrey Epstein, which precipitated his resignation from both MIT and the Free Software Foundation:

The Stallman saga has continued to grow stranger in the aftermath of his resignations, as many were concerned that he would be homeless after his website featured a notice that he was “Seeking Housing,” accompanied by a link leading to his specific requirements for a temporary residence. His personal site was also reportedly vandalized nine days ago with a message that he was stepping down from the GNU.

The defacement with the false GNU resignation message was reverted shortly thereafter on September 30, and replaced with the header saying he continues to be “Chief GNUisance of the GNU Project” with no intention of stopping soon. Stallman has not yet publicly acknowledged the statement from the GNU maintainers. He has also not yet responded to our request for comment.

Yesterday the Free Software Foundation (FSF) published a statement indicating it was re-evaluating its working relationship with the GNU project, which has provided some of its technical infrastructure, fiscal sponsorship, and copyright assignment:

GNU decision-making has largely been in the hands of GNU leadership. Since RMS resigned as president of the FSF, but not as head of GNU (“Chief GNUisance”), the FSF is now working with GNU leadership on a shared understanding of the relationship for the future. As part of that, we invite comments from free software community members.

Stallman responded the next day, indicating he wanted to work with FSF on restructuring the relationship between the two organizations:

I recently resigned as president of the FSF, but the FSF continues to provide several forms of crucial support for the GNU Project. As head of the GNU Project, I will be working with the FSF on how to structure
the GNU Project’s relationship with the FSF in the future.

The FSF maintains some critical responsibilities in that it currently holds the copyrights to enforce the GPL. Stallman has recently called on people to continue supporting the FSF’s work, despite his resignation from the organization.

The small contingency of GNU project maintainers who penned the statement published yesterday seem to be on the same page with FSF in its rejection of Stallman’s leadership. Their message concludes with their intention to overhaul the leadership of the free software movement to be more inclusive of the people who have been alienated by Stallman’s behavior over the years:

“We think it is now time for GNU maintainers to collectively decide about the organization of the project. The GNU Project we want to build is one that everyone can trust to defend their freedom.”

Bring Your Monolithic Applications Back From the Dead

It was the early 2000’s, your .NET application was the best thing to hit the streets since the IBOOK G3 came out. Let’s just say that your application was so money, it didn’t even know it. It had its shiny new (insert any sweet .NET functionality here) and all of the Java-based applications were jealous of it. Those were the days…

Now turn to today. You feel like John Ritter and your application is the problem child from hell. It’s stuck in the past; it won’t allow you to update it. You’re constantly supporting all of its bad consumption habits and it won’t play nice with your other applications.

Hacktoberfest in Neo4j Land

Fall is the perfect time of year to up your OSS contributions!

Now that in some countries, fall has arrived with colorful leaves, stormy weather, and fog, your indoor activities in October can revolve around contributing to open-source projects that could use some help.

Luckily for all of us, Digital Ocean has been running “Hacktoberfest” for 6 years now.

Review: GraphQL Editor Shows Promise as IDE for GraphQL API Development

GraphQL is a powerful technology that is altering the API development landscape. Since its release into the public domain by Facebook in 2015, the specification has been implemented in a variety of programming frameworks including but not limited to Java, .NET, Python, Node.js and Ruby. The GraphQL Query Language (GQL) provides developers with the ability to use a GraphQL API in a declarative manner.

Some Hands-On with the HTML Dialog Element

This is me looking at the HTML <dialog> element for the first time. I've been aware of it for a while, but haven't taken it for a spin yet. It has some pretty cool and compelling features. I can't decide for you if you should use it in production on your sites, but I'd think it's starting to be possible.

It's not just a semantic element, it has APIs and special CSS.

We'll get to that stuff in a moment, but it's notable because it makes the browser support stuff significant.

When we first got HTML5 elements like <article>, it pretty much didn't matter if the browser supported it or not because nothing was worse-off in those scenarios if you used it. You could make it block-level and it was just like a meaningless div you would have used anyway.

That said, I wouldn't just use <dialog> as a "more semantic <div> replacement." It's got too much functionality for that.

Let's do the browser support thing.

As I write:

  • Chrome's got it (37+), so Edge is about to get it.
  • Firefox has the User-Agent (UA) styles in place (69+), but the functionality is behind a dom.dialog_element.enabled flag. Even with the flag, it doesn't look like we get the CSS stuff yet.
  • No support from Safari.

It's polyfillable.

It's certainly more compelling to use features with a better support than this, but I'd say it's close and it might just cross the line if you're the polyfilling type anyway.

On to the juicy stuff.

A dialog is either open or not.

<dialog>
  I'm closed.
</dialog>

<dialog open>
  I'm open.
</dialog>

There is some UA styling to them.

It seems to match in Chrome and Firefox. The UA stylesheet has it centered with auto margins, thick black lines, sized to content.

See the Pen
Basic Open Dialog
by Chris Coyier (@chriscoyier)
on CodePen.

Like any UA styles, you'll almost surely override them with your own fancy dialog styles — shadows and typography and whatever else matches your site's style.

There is a JavaScript API for opening and closing them.

Say you have a reference to the element named dialog:

dialog.show();
dialog.hide();

See the Pen
Basic Togglable Dialog
by Chris Coyier (@chriscoyier)
on CodePen.

You should probably use this more explicit command though:

dialog.showModal();

That's what makes the backdrop work (and we'll get to that soon). I'm not sure I quite grok it, but the the spec talks about a "pending dialog stack" and this API will open the modal pending that stack. Here's a modal that can open a second stacking modal:

See the Pen
Basic Open Dialog
by Chris Coyier (@chriscoyier)
on CodePen.

There's also an HTML-based way close them.

If you put a special kind of form in there, submitting the form will close the modal.

<form method="dialog">
  <button>Close</button>
</form>

See the Pen
Dialog with Form that Closes Dialog
by Chris Coyier (@chriscoyier)
on CodePen.

Notice that if you programmatically open the dialog, you get a backdrop cover.

This has always been one of the more finicky things about building your own dialogs. A common UI pattern is to darken the background behind the dialog to focus attention on the dialog.

We get that for free with <dialog>, assuming you open it via JavaScript. You control the look of it with the ::backdrop pseudo-element. Instead of the low-opacity black default, let's do red with stripes:

See the Pen
Custom Dialog Backdrop
by Chris Coyier (@chriscoyier)
on CodePen.

Cool bonus: you can use backdrop-filter to do stuff like blur the background.

See the Pen
Native Dialog
by Chris Coyier (@chriscoyier)
on CodePen.

It moves focus for you

I don't know much about this stuff, but I can fire up VoiceOver on my Mac and see the dialog come into focus see that when I trigger the button that opens the modal.

It doesn't trap focus there, and I hear that's ideal for modals. We have a clever idea for that utilizing CSS you could explore.

Rob Dodson said: "modals are actually the boss battle at the end of web accessibility." Kinda nice that the native browser version helps with a lot of that. You even automatically get the Escape key closing functionality, which is great. There's no click outside to close, though. Perhaps someday pending user feedback.

Ire's article is a go-to resource for building your own dialogs and a ton of accessibility considerations when using them.

The post Some Hands-On with the HTML Dialog Element appeared first on CSS-Tricks.

Integrating Sinatra Into Ruby to Expedite Application Development

Sinatra is a great web application library. It can be used to streamline development in Ruby and several other programming languages. A number of articles on Dzone have been written on using Sinatra to develop web applications, but there didn’t appear to be an article on setting up Sinatra. We decided to provide a quick tutorial on this process.

Setting Up Sinatra for Ruby Development

The first step is to download the latest stable version of Ruby. Some versions of Ruby are not compatible with Sinatra, so you may need to update it. I would like to emphasize that the 64-bit version is functional, but it may require some packages to be compiled manually. Therefore, this version is only recommended for more advanced Ruby developers.

Bringing RPA to Its Next Frontier: The Cloud

The next RPA frontier

Introduction

The adoption of robotic process automation (RPA) continues to accelerate. In fact, according to Gartner,  it’s the fastest-growing segment of the global enterprise software market, with revenue increasing 63.1% to $846 million in 2018. Gartner forecasts RPA software revenue will reach $1.3 billion in 2019.

Despite these extraordinary figures, we have not yet reached the precipice of where this transformative technology will take global enterprise and society as a whole.

Google Chrome Announces Rollout Plan for Blocking Mixed Content Beginning January 2020

The Google Security Team has announced a timeline for when Chrome will begin blocking mixed content by default in order to ensure that HTTPS browsing is more secure. Mixed content refers to HTTPS pages that load resources, such as images, videos, stylesheets, and scripts, over HTTP.

The gradual rollout will begin with Chrome 79, which is scheduled for release in December 2019. The browser already blocks mixed scripts and iframes, but this release will add a new setting (that can be toggled on or off) for users to unblock it on a per-site basis.

The next phase of the rollout will progress with Chrome 80, due in January 2020, where mixed audio and video resources will get auto-upgraded to HTTPS. If they fail to load over HTTPS, Chrome will automatically block them. Mixed images will still load but Chrome will display a “Not Secure” warning in the omnibox next to the URL.

The last phase of the rollout is planned for February 2020. Along with the release of Chrome 81, mixed content images will bet auto-upgraded to HTTPS and Chrome will block them if they fail to load.

The Google Security Team reports that Chrome users now spend more than 90% of their browsing time on HTTPS on both desktop and mobile. The plan to begin blocking mixed content is targeted at addressing insecure holes in SSL implementations of sites that have already made the switch to HTTPS.

WordPress site owners have plenty of time to ensure all their resources load over HTTPS. The official plugin directory has several popular plugins that can assist with fixing problems with mixed content. Really Simple SSL, a plugin that is active on more than 3 million sites, has a built-in mixed content scan that shows users what they need to do if they aren’t seeing the green lock in the omnibar yet. It also includes a “mixed content fixer” for the back-end.

Other popular plugins, such as SSL Mixed Content Fix (20k active installs) and SSL Insecure Content Fixer (300k active installs) are focused specifically on fixing these issues and may assist in making other installed plugins compatible with HTTPS. They include tools that will diagnose insecure content and automatically perform basic fixes. The SSL Insecure Content Fixer plugin is also compatible with WordPress multisite and includes a network settings page to set defaults for the entire network.

Ways to Improve Communication with Your Clients

Communication may just be the most overlooked ingredient in building a great website. I’d argue that it’s just as important as awesome design and development skills.

Without it, the final product is going to suffer. The site may look nice enough, but is it on target with regards to branding and messaging? Will the functionality match up with your client’s intended goals?

Despite its importance, communication is also one of the hardest skills to learn. In addition, it’s a two-way street. Even if you’re gifted in this area, your client may not be.

Let’s explore some ways to improve the dialogue with clients and better ensure a successful project.

Reach Out

One thing to realize about your clients is that they often have busy schedules. In other words, dealing with their current or future website is just one of many things on their to-do list.

As the old saying goes, the squeaky wheel gets the grease. This means that people tend to deal with whatever situation is right in front of them in that very moment. If your website project isn’t in their immediate line of sight, then it’s probably going to stay on the back burner.

To avoid a project that hangs in the air indefinitely, it’s up to you to reach out to clients. Check in on the status of that content you’re waiting for, or the example sites they were supposed to send. Offer your help and to answer any questions they might have.

Taking this little bit of initiative can kickstart the process of actually getting things done.

A person typing on a laptop computer.

Dig for Details

It can be difficult to gain an understanding of what a client really wants. They may sometimes give vague instructions or be otherwise noncommittal when it comes to the look and features of their site.

This can be quite frustrating as you are left to guess the best path forward. It can also lead to a seemingly unending cycle of revisions and, once again, a stagnating project.

You may even get the impression that this person is being hard to deal with. However, that’s most likely not the case. It may just be that they really aren’t sure what they want or are having trouble explaining it.

This is another instance where being assertive can help. Ask probing questions, provide either-or scenarios and try to make the discussion a productive one.

It’s important to remember that this is a process and that things aren’t always clear from the get-go. Sometimes, it requires peeling back a few layers before we can find that solid foundation for moving forward.

Women sitting at a table.

Keep Clients Updated

Another key element in communicating with clients is keeping them abreast of progress. After all, they’re investing a good bit of money into their website. It’s only natural to want to know where things stand.

This can be a bit of a delicate balance for designers. You don’t want to overwhelm your clients with constant updates. Yet you don’t want to underwhelm them when there just hasn’t been much progress.

Depending on the scope and timeline of the project, usually a weekly update is enough. And, even if you’re struggling with a specific aspect of things, it’s okay to share that as part of your status report.

Things such as technical roadblocks or even an unexpectedly busy schedule are bound to happen along the way. Most people are pretty understanding about it, so long as you let them know. Rather, it’s the uncertainty that comes with a lack of communication that is more likely to spark a less-than-kind reaction.

Man talking on a phone.

Create Opportunities with Mass Communication

While so much of client communication is person-to-person, there are other opportunities to stay in touch. By taking advantage of available tools, you can get your message out to highly-targeted groups.

Social media is a big one these days. And it can actually be a good place to talk to clients – albeit in a more generalized way. Use it to let them know about articles and tools that may be of interest.

Sure, your feeds may be followed by non-clients as well. However, that can be a positive. By sharing worthwhile information, you become a trusted source. And trust is key for turning prospects into paying customers.

The other mass communication tool is the good old email newsletter. This is still a great forum to share ideas. And, unlike social media, it’s easy to target clients or even a subset of them.

Even better is that clients can respond directly to your mailing, starting what could be a real conversation. At the very least, it’s a solid way to keep them in the loop.

One bit of advice: Avoid making flat-out sales pitches. They’re already your clients, they’ve already purchased something from you. Make sure that whatever you post or send out is of some genuine value.

Social media icons on a tablet screen.

Better Projects, Better Relationships

Effectively communicating with your clients isn’t so much about being perfect. Rather, it’s about making the effort to better understand who they are. The goal is to find out what they’re hoping to achieve and then devise a plan to help them do so.

The end result is a project that accurately reflects their wants and needs. That, in turn, will help you build a solid, lasting relationship.

Just think, if you are able to regularly accomplish this feat, you’ll have loyal clients and be set up for long-term success. It’s a winning formula that both you and your clients will benefit from.

U.S. Supreme Court Denies Domino’s Appeal to Determine Whether Websites Must Be Accessible

In what is seen as a win for accessibility advocates, the U.S. Supreme Court denied Domino’s petition to appeal a lower-court decision on whether the pizza chain’s website and mobile app must be accessible to those with disabilities. The earlier U.S. 9th Circuit court ruled that websites fall under Title III of the American with Disabilities Act (ADA).

The original case was brought forth by Guillermo Robles, a blind man, who claimed the Domino’s website and app did not allow him to place an order in 2016. Robles, like many other people with disabilities, relies on screen-reader software to use the web. Despite using such software, he was not able to make an order.

The primary issue of the case was whether the ADA applied to websites or apps in the same way that they applied to brick-and-mortar locations. Title III specifically points out public places of accommodation but not websites.

The specific section of the ADA related to the case reads as follows:

Section 36.201(a) contains the general rule that prohibits discrimination on the basis of disability in the full and equal enjoyment of goods, services, facilities, privileges, advantages, and accommodations of any place of public accommodation.

Full and equal enjoyment means the right to participate and to have an equal opportunity to obtain the same results as others to the extent possible with such accommodations as may be required by the Act and these regulations. It does not mean that an individual with a disability must achieve an identical result or level of achievement as persons without a disability.

The 9th Circuit decided the ADA also applied to businesses on the internet.

There were three key issues in the case: whether the ADA applied to the website and app, whether Domino’s had fair notice to comply, and whether the court or the Department of Justice (DOJ) should decide the case.

The DOJ is the body that regulates the ADA. Since it was signed into law in 1990, the DOJ has not created specific guidelines for how businesses can ensure their websites are within the law.

One argument is that it would have been cheaper and easier for Domino’s to follow accessibility standards such as the Web Content Accessibility Guidelines (WCAG). Such arguments don’t address the need for meaningful regulations from a governing body. The WCAG are not legal guidelines in the U.S. However, the 9th Circuit ruled that the lack of guidelines does not remove Domino’s responsibility.

Circuit Judge John B. Owens wrote in the 9th Circuit decision, “While we understand why Domino’s wants DOJ to issue specific guidelines for website and app accessibility, the Constitution only requires that Domino’s receive fair notice of its legal duties, not a blueprint for compliance with its statutory obligations.”

The lack of such regulations is why this case was important from Domino’s standpoint. While they lost the case, it may further push the need for more specific guidelines for businesses, both large and small, to follow.

The lack of specific regulations could also be seen as a feature rather than a bug, to use a developer phrase. Government-specific rules are often slow to keep up with the changing nature of the web. Guidelines that apply one day may need to change soon thereafter. It also leaves businesses the ability to make their websites accessible via a method of their choice rather than limiting what they can do to potentially bureaucratic rules that are out of touch with the modern web.

At the same time, it could leave smaller business owners without large legal and website development budgets wondering if they could be looking at lawsuits in the future. Courts were flooded with 2,285 accessibility lawsuits in 2018, which was nearly triple the 814 cases in 2017.

What Does This Mean for Website owners in the U.S.?

In terms of the case, the Supreme Court didn’t make a ruling. They denied Domino’s petition and left the decision of the 9th Circuit in place, which covers much of the western U.S. In the coming years, more cases will make their way through the courts. More than likely, case law will continue becoming stronger in favor of making websites compliant with the ADA.

If you run an online business, it’s past time to make sure your website is accessible. It could be years before the current law is amended or new ones are written on the legislative level. The winds of change will likely not favor those with inaccessible websites as more court decisions come down.

In a nutshell, businesses with websites, apps, or other online presences need to make sure all people have access to their goods or services. While there are no specific guidelines in the U.S., WCAG is the largely agreed-upon standards internationally.

If you’re a small business owner using WordPress, you should start with a WordPress theme labeled as accessibility-ready. It is worth noting that “accessibility-ready” does not mean that your website will automatically become accessible. It simply means that the WordPress theme meets a minimum number of accessibility guidelines. Custom content on your website should also follow the same guidelines.

Accessibility is not a set-it-and-forget-it type of thing. It’s something that business owners need to continually evaluate and make sure that all their customers, regardless of how that person accesses the internet, can enjoy the same services equally.

The official theme review team is working through a long-term plan to make all themes accessible at WordPress.org. Many theme businesses outside of WordPress.org also comply with those same guidelines. If purchasing a theme, you should check with the business beforehand.

As always, if you’re unsure whether your website meets legal guidelines, you’ll need to consult a lawyer who specializes in website accessibility.

The Complete Kubernetes Collection [Tutorials and Tools]

Everything you need to guide your Kubernetes implementation.

Kubernetes is the leading container orchestrator in software development, but you knew that already. With multiple companies, from Red Hat to Rancher, creating distributions built on top of the Google-native service and endless commentary that compares Kubernetes to other proprietary container orchestrators, there's little doubt about the tool on developers' minds.

In this conveniently-compiled Kubernetes compilation, we feature the most useful, liked, and complete articles from our contributors. Starting with a few articles to introduce you to the service as a whole, we then take a deep dive into Kubernetes architecture and components and how to get started using them. Next, we review some useful information about implementing Kubernetes with tutorials and tools, with guest appearances from Java and DevOps.

Analysis of Business-Critical Core Applications

Striking a balance between cutting costs and optimally supporting a business model is a major challenge for many IT departments. They also need to calculate how to adapt the amount of IT support — based on the needs of the business model — without raising the complexity of their IT infrastructure or allowing application landscapes to grow out of control.

From conducting a comprehensive analysis to establishing key decision parameters, this article covers the journey to a successful core application transformation geared to the needs of a business model.  

Deep Dive to OAuth2.0 and JWT (Part 3)

dog-shaking-owners-hand
In previous article we have introduced OAuth2.0. In this article let us have a look at JWT.

JSON Web Token (JWT), usually pronounced as “jot,” is an standard () that defines a compact and self-contained way for securely transmitting information between parties as a JSON object. They contain information in terms of claims and are specially used in in space constrained environments such as HTTP. This information can be verified and trusted because it is digitally signed. JWTs can be signed using a secret (with the HMAC algorithm) or a public/private key pair using RSAor ECDSA.

7 Myths About Web Services

Despite the popularity of SOA and Microservice Architectures, some technological and implementation details are often missunderstood or incorrect interpreted. In this article, we will review seven facts about Web Services that can help developers to better understand the concepts and also to better prepare for interview questions if needed. 

You may also The HTTP Series (Part 1): Overview of the Basic Concepts.

HTTP Is Absolutely Required for RESTful Services

HTTP is not formally required for RESTful web services, but if HTTP methods are used, their formal meaning should be strictly followed so that without additional effort the clients can understand the API (e.g. do not use POST to update data, it is supposed to only create resources and is not idempotent by nature).

Why Is Golang so Popular These Days?

A Brief History of Golang

Golang, also known as “Go,” is a fast, high-performance, open-source compiled programming language that is statistically typed. It was designed at Google by Rob Pike, Robert Griesemer and Ken Thompson and first appeared in Nov 2009. Go is syntactically similar to C and it made its recently stable release 1.13 on September 3, 2019. However, as additions to C, Go offers memory safety, garbage collection, structural typing, and CSP-Style concurrency.

There are two major implementations:

How to Set Up a Data Lake Architecture With AWS

Before we get down to the brass tacks, it’s helpful to quickly list out what the specific benefits we want an ideal data lake to deliver. These would be:

  • The ability to collect any form of data, from anywhere within an enterprise’s numerous data sources and silos. From revenue numbers to social media streams, and anything in between.
  • Reduce the effort needed to analyze or process the same data set for different purposes by different applications.
  • Keep the whole operation cost efficient, with the ability to scale up storage and compute capacities as required, and independent of each other.

And with those requirements in mind, let’s see how to set up a data lake with AWS

Performance Capture I – Export HAR Using Selenium and BrowserMob-Proxy

Have you ever faced a situation to automate the way you inspect the network calls of a webpage? Have you ever thought about automating the process of capturing the HTTP content and export the performance data as a HAR file?

Well! In this article, we are going to see about how to capture all network calls and capture every resource loaded on a browser and export them as a HAR file using selenium and BrowserMob-Proxy in Python.