Surprisingly Simple Tools to Help You Smash API-First Approach

API-First is an approach of defining your API specification before jumping into the development phase. With an API-first approach, instead of starting with code, you could start with design, planning, mocks, and tests.

By choosing an API-First approach, teams can crystallize their vision before development, removing the unnecessary complexity in implementation to deliver a resourceful, smart API that can no only keep R&D costs low, but has the ability to meet today’s modern IT landscape where a single operation to query several systems and components to get the job done. The specification is shared internally, as a general to-do list for the project teams to work on independently.

Consul Deployment Patterns: A Brief Overview

If you've ever delved into a service mesh, key-value store, or service discovery solution in the cloud-native space, you have definitely come across Consul. Consul, developed by HashiCorp, is a multi-purpose solution which primarily provides the following features:

  • Service discovery and Service Mesh features with Kubernetes.
  • Secure communication and observability between the services.
  • Automate load-balancing.
  • Key-Value store.
  • Consul watches.

This blog post briefly explains the deployment patterns for Consul to use when making configuration changes that are stored in the Key-Value store. It will explain how to discover and synchronize with the services running out of the Kubernetes cluster. We will also see how to enable Service Mesh features with Consul. We broadly categorize Consul deployment patterns as in-cluster patterns (Consul deployed in a Kubernetes cluster) and hybrid patterns (Consul deployed outside a Kubernetes cluster).

On Politics and WordPress

I wish we lived in a world in which we could discuss code each day, not allowing political opinions to seep into the discourse. We could talk about the next exciting project around the corner. We could chat about a small startup getting its first big break or new investments into WordPress companies.

However, I also wish we lived in a world where a developer did not have to create a plugin in support of black Americans who have lost their lives to those charged with protecting us.

I wish we lived in a world where we had no unsavory comments to delete on a post about an all-women WordPress release squad.

I wish we lived in a world where WordPress.com had no Sandy Hook conspiracy theory blogs to boot from its platform.

I wish we lived in a world where major restaurant chains complied with accessibility laws without being sued.

I wish we lived in a world where Newspack-run Chilean publication El Soberano had no need to defend citizens’ rights.

I wish we lived in a world where the Women in Tech Salary Transparency Project was unnecessary.

I wish we lived in a world where governments did not block its citizens from viewing websites that support freedom of speech.

Each of these stories may not be important to you as an individual reader. However, they are important to some of our readers. We are a community made up of vastly different opinions, and we must represent this wide array of views as they relate to WordPress.

Sometimes, we will publish stories that do not jive with your personal viewpoint. Sometimes, you will tell us to not post anything political. The answer to that is that we cannot simply separate the code from the politics. As much as many of us would like to, that is not the world we live in today.

WordPress itself is inherently political. From its license to its mission statement, WordPress takes some political stances.

The platform is founded on the bedrock of free software, an idea that is as much political as anything else. It is an idea that has shaped the foundation of the web. The concept that users have the freedom to run, copy, alter, improve, or even distribute software is a political statement. It is a political statement in direct defiance of major corporations and governments controlling software through proprietary licenses.

Politics play a part in how we shape our community. We do not have to agree on all things, and different things brought us together. However, there are some foundational elements that we all must agree on to some extent.

It is a generally accepted principle that all people are born with the inalienable right to free expression. I wager that the majority of our community would agree with this statement. Given that the software we all use is built upon that idea, I would hope so. The idea of democratizing publishing is not just about providing a tool to people who can already freely express themselves. It is also about reaching to the dark corners of the globe and being a beacon of light to those who do not share in our freedom. It is about exposing the horrors of dictators. About newsrooms publishing the wrongdoings of politicians. Citizen bloggers fighting for the oppressed.

No, do not tell me that WordPress is not political.

What you really want to say is to not post political views that you disagree with. You really want us to not share plugins or projects that make you uncomfortable.

While the code itself may not hold political views, the people who use the code do. Politics is woven into the fabric of our lives. It is woven into the licenses of the software we use, the communities we choose to join, and the web we dare to create.

When you tell us to stay away from politics here at the Tavern, the only reasonable answer to provide is that it would be impossible to do so.

We will continue writing about the next companies to receive VC funding, blocked-based WordPress themes, plugins that push the envelope, and every other project that makes WordPress fun. However, at times, we must open the floor to tough discussions. We must be a source for sharing projects in our community that have their own political slant, regardless of whether we agree.

When the day comes that The Show Must Be Paused plugin, the Women in Tech Salary Transparency Project, and a multitude of other important projects no longer need to exist — on that day — we can celebrate. We can discuss code, WordPress, and kittens without politics getting in the way.

Software Engineer to Engineering Manager: 10 Lessons Learned

Like every working professional, I had a career path laid out. After pursuing my Master's in Computer Science, I joined my first company as a Software Engineer, in 2011. Soon enough, my goals and career path started to take shape and in the interest of keeping the story short, I aspired to join the corporate leadership team.

Last year, these aspirations came to fruition when my SVP offered a promotion to join Axway’s R&D management team as an Engineer Manager and lead a 6-member team of highly motivated individuals. It was the opportunity of a life-time and I humbly accepted.

Why Be Agile: Main Metrics, Most Used Tools, Agile Planning

It’s quite difficult to imagine a modern IT company without a project manager. It is rather an important role, which includes the application of methods, skills, processes, and experience to achieve the project goals and meet the client’s needs and requirements. As Martin Barnes, the former president of the Association for Project Management said, “At its most fundamental, project management is about people getting things done”.

Why Should Businesses/Startups Care About PM?

Both big companies and startups need efficient project management. In fact, the main value of project management lies in the fact that it ensures the appropriate allocation of resources so that a project is completed effectively. Besides, project management is what gives cohesiveness to the process of software development. Meanwhile, the role of a project manager also includes making sure that the project falls within the established budget and will be completed within the deadlines.

State Design Pattern in Java

State Design Pattern in Java is a software design pattern that allows an object to change its behavior when the internal state of that object changes. The state design pattern is generally used in cases where an object depends on its state and its behavior must be changed during run time depending on its internal state. The state design pattern is one of the many behavioral design patterns and therefore characterizes control flow between objects that is difficult to follow at run time. State Encapsulation is an excellent way to manage change in software. In this article, we will discuss the key aspects of state design pattern motivation, describe what it is, mention the key participants used in implementing it and also use a code example to demonstrate its usage.

What is the State Design Pattern? (State Design Pattern Real World Example)

In computer networks, TCP (Transmission Control Protocol) is a standard that defines how a connection is established and maintained through which the applications can exchange data. A TCP connection object can be in the following states:

WordCamp Europe 2020 Online Draws 8,600 Registered Attendees, Following Record-Breaking Contributor Day

WordCamp Europe 2020 Online kicked off yesterday with a record-breaking contributor day. More than 2,500 people signed up to participate. The pandemic may have forced the event to go virtual but an enthusiastic flock of contributors, both seasoned and brand new, joined from their homes to carry on supporting the open source project that connects them.

“The world is literally on fire, but today I am focusing on WordPress,” Francesca Marano said. “WCEU contributor day is on. I am literally crying in my living room: so many familiar faces, so many new faces. Missing people and also feeling this is a huge opportunity.”

Representatives from 16 Make.WordPress.org teams coordinated contributors for a productive day. Organizers tweeted out progress reports on a variety of initiatives:

  • The CLI team had a very successful day: they merged 46 pull-requests, as well as restructuring the handbook on the WordPress content side.
  • The Meta team updated the Cookie Policy page, created a new ticket about unexpected redirects, and worked on a WordCamp.org ticket.
  • The Training team made several enhancements to the lesson plan “Setting Up E-Commerce” including a new slide presentation.
  • The Polyglots team is making headway in Italian and French localization: 4 plugins translated and 2 new PTEs (Project Translation Editor Request).
  • WPTV is having a great time and discussing improvements for outreach, documentation, and possible project status tools. They have also been sharing some great ideas for tutorials on the various video editing tools for future implementation.
  • The Marketing team is working on a number of guides to help the community in topics like podcasting and live streaming.
  • The Hosting Team has implemented a new contribution process and is working on a new Hosting Handbook.
  • The Core team has committed 4 patches and propped 10 different individuals on those commits.

An astounding 8,600 people from 138 countries registered to participate in WCEU online. Opening remarks kicked off day 1 of talks with a poignant and timely reminder of how WordPress publishing can amplify voices that may not otherwise be heard.

The music attendees are hearing throughout the event was written by designer Angel de Franganillo.

“When WCEU asked me to make the tune, it was a bit challenging since I only play piano for fun and I’m not a professional,” de Franganillo said. “I usually work with graphics, so I just follow the process I’d use for a graphics project, but with an audio piece.

“After some research and talks with WCEU, my main goals were: TechEurope, and Community. So I sat down in front of my piano to play some chords that suited those concepts and made a loop with them. Later, I looked for some synths to dress the loop and finish the piece.”

Attendees are also sharing selfies using the #WCEUFamilyPhoto hashtag on social networks. Organizers are gathering these to create a giant WCEU “family photo” collage.

If you did not register in time for WordCamp Europe, you can still watch live by visiting the site and clicking on any of the tracks to join the broadcast on YouTube. Registered ticket holders have access to exclusive Zoom rooms dedicated to networking with speakers and other attendees, watching sponsors’ presentations, and visiting sponsors’ virtual booths.

Accelerating DevOps in Azure Environments With Office 365

Office 365 is Microsoft's Cloud delivery of Office.  That includes traditional Office applications, like Word, PowerPoint, Excel, Access, et cetera. However, it also comes with many Enterprise features to enable things like data loss prevention, conditional access to resources, and Office 365 message encryption. There are a lot of things that tie into the broader Cloud that I believe Enterprise Office users would find very familiar and very useful when it comes to managing their infrastructure, managing their data, and how they collaborate.

Gartner estimates that Office 365 is twice as popular in enterprises as Google apps.

Balancing Macro and Micro Innovation to Drive Business Success

Everyone recognizes the transformative impact of great innovators like Steve Jobs, the former Apple CEO who drove the development of game-changing products like the iPhone and the iPod. These products are clear examples of macro innovation: groundbreaking inventions that created entirely new product categories, fueled extraordinary business growth and changed the way we live. Many of today’s most successful companies were originally founded on such macro innovation. But sustaining business success over time generally also requires another kind of innovation, often known as micro innovation: smaller, incremental improvements that enable the company to stay abreast of technology trends and respond to customer needs.  

To flourish over the long term, therefore, companies need a balance of both macro- and micro- innovation, which means they need to create a work environment in which both types of innovation can occur. However, most companies fail to achieve that balance: they limit their potential by focusing on either micro innovation or macro innovation, but not both.

An Introduction to Graph Databases: The Power of Connected Data

Published with permission from Terry Franklin.

In today's economy, more and more companies exist primarily online. While there's much discussion around the consequences of leaving behind the traditional brick and mortar business, one aspect that gets less attention is the significant change in how these companies are now managing their data. Increasingly, businesses seek to understand their customers and how best to meet their needs in a way that monthly reports and KPI charts just can’t address. 

How to Use Bootstrap to Build Beautiful Angular Apps

Since 2005, I’ve been a proponent of CSS frameworks. I was even the leader of an open-source project, AppFuse, and during that time, we held a design contest (using Mike Stenhouse’s CSS Framework) in order to provide themes for our users.

Over the next few years, a few new frameworks came into my awareness; Blueprint in 2007 and Compass in 2008. None of these frameworks, however, could hold a candle to Bootstrap. When it first came to my attention, it was called Twitter Bootstrap—invented in 2010 by Twitter employees Mark Otto and Jacob Thorton. To quote their words from "Building Twitter Bootstrap", Issue 324 of A List Apart:

The Human Side of SDM: An Impact Across the Organization

The goal of DevOps is to bring together two different teams with sometimes divergent missions — development and operations — forming a closer collaboration between them. In transforming into a DevOps culture, enabling stronger collaboration, and creating shared goals between these teams, software delivery is accelerated. 

DevOps reduces the friction between the teams, fostering a combined focus on delivering software. A DevOps culture also fosters the automation of all stages of software creation, from development, integration, testing, and delivery to deployment, operation, and infrastructure maintenance and management.

The RISC-V Architecture

This article introduces the exciting, relatively new RISC-V (pronounced risk five) processor architecture and its instruction set. RISC-V is a completely open source specification for a reduced instruction set processor. A complete user-mode (non-privileged) instruction set specification has been released and several inexpensive hardware implementations of this architecture are currently available. 

Work is ongoing to develop specifications for a number of instruction set extensions to support general-purpose computing, high-performance computing, and embedded applications that require minimal code size. Commercially available processors implement many of these developmental extensions.

How To Make a Windows Keylogger By Yourself

light up keyboard

Why Does an IT Security Specialist Need These Skills? 

Hacker world can be contingently divided into three groups: the so-called “skids” (script kiddies), “buyers”, and “black hat coders”. The first group includes beginners who use well-known codes and utilities to create something resembling simple malicious software. Buyers are teenagers and other thrill-seekers who buy such malware on the Net and use it to collect and sell personal and financial data from target devices.

The last group called “black hat coders” includes programming gurus writing the codes in a notebook and developing new exploits from scratch. Can anybody with good programming skills become one of the “black hat coders”? I doubt it but I believe any IT security specialist should know several concepts that are used to create malicious software. Always know your enemy:)

Agile Localization: What Is It and How Is It Managed?

Today everything that can be agile is going agile. Agility has become a bonafide IT mantra for every process in the software development life cycle. Localization, as an essential part of product creation, is no exception.

Localization is often treated as an after-thought. Only when the development and testing are finished do teams start to think about localizing their software. However, when you relegate the localization step to the last minute, you risk missing deadlines and, worse, releasing a product that is not quite ready for worldwide launch.