Now, we have everything prepared and ready to go to a Kubernetes Cluster in a cloud provider. It is a fact that creating a cluster in any cloud provider manually is a difficult task. Moreover, if we want to automate this deployment, we need something that helps us in this tedious task. In this article, we will see how to create a Kubernetes Cluster and all of its required objects, deploying our Alexa Skill with Terraform using Google Kubernetes Engine.
Pre-Requisites
Here, you have the technologies used in this project:
Have you ever heard the saying, 'architects hate spaghetti?' As software architects, it is our responsibility to envision and design systems capable of supporting the cutthroat business models of this era. In that sense, it's fundamental to develop ways to evolve our application architecture to match business concepts and processes correctly. Otherwise, the architecture won’t be structurally sound, and we’ll have to deal with a dreadful 'spaghetti architecture.'
In this blog post, I’ll share some of the best practices you should follow to build a structured and scalable application architecture while avoiding turning your systems into a spaghetti bowl. This article is based on a recent Tech Talk on the same topic, Web and Mobile Architecture with Architecture Dashboard. For a more detailed discussion, I invite you to take a look.
At my current project, we've been building three different applications. All three applications are based on Spring Boot but have very different workloads. They've all reached their way to the production environment and have been running steadily for quite some time now. We do regular (weekly basis) deployments of our applications to production with bug fixes, new features, and technical improvements. The organisation has a traditional infrastructure workflow in the sense that deployments to the VM instances on acceptance and production happen via the (remote hosting) provider.
The hosting provider is responsible for the uptime of the applications and therefore they keep an eye on system metrics through the usage of their own monitoring system. As a team, we are able to look in the system, but it doesn't say much about the internals of our application. In the past, we've asked to add some additional metrics to their system, but the system isn't that easy to configure with additional metrics. To us as a team runtime statistics about our applications and the impact our changes have on the overall health are crucial to understanding the impact of our work.
UFW, short for Uncomplicated Firewall, is basically a simplified firewall mechanism that is implemented upon IPtables itself, making it much easier to configure UFW than to configure IPtables. Therefore, it can be said that UFW is technically a program for managing a netfilter firewall which aims to provide an easy to use interface for the user.
The Need for UFW: Uncomplicated Firewall
Consider a situation where protocols like ssh, ftp, etc., which if left open for everyone and anyone to connect, might result in a massive security breach by the attackers or malicious users. Hence, this originated the need for a firewall. Firewall is useful to us in a way, that it allows us the remote access to the system but in a limited fashion. A simple example would be, firewall can allow certain ports to be left open to only a few IP addresses to limit security breach and also allowing connections to only a trusted device.
Now, we have everything prepared and ready to go to a Kubernetes Cluster in a cloud provider. It is a fact that creating a cluster in any cloud provider manually is a difficult task. Moreover, if we want to automate this deployment, we need something that helps us in this tedious task. In this article, we will see how to create a Kubernetes Cluster and all of its required objects and also, deploying our Alexa Skill with Terraform using Elastic Kubernetes Service.
Pre-Requisites
Here, you have the technologies used in this project:
When learning to code, developers-to-be are usually taught to code vanilla software. In the workplace, however, developers use many tools to speed up their coding. Common tasks like testing, running various scripts, and programming environment control are just a few examples of when an extra tool comes in handy.
The trouble is, there are many of these tools on the market, and it’s hard to know which are best. It often takes years of trial and error to discover which tools are the most helpful. To save you that effort, we asked some experienced developers about the tools that have helped them become better coders and maximize their efficiency on the job.
It is a fact that the development process in a Kubernetes environment is not easy. There are a lot of tools that help us in this process. For this use case, we are going to use DevSpace; a tool for developers that makes the Kubernetes lifecycle easier.
Pre-Requisites
Here you have the technologies used in this project:
The nature of always-on services requires a continuous response from agile and DevOps teams. These teams need to think beyond reacting to a single incident and align the team structure, values, and tools to ensure that operational excellence becomes a core competency.
Today’s users expect modern services to be always-on and always available. Downtime can be detrimental, causing damage to reputation and bottom line, with the average costs of downtime as high as $9,000 per minute.
Recently I came across a strange case: the memory usage of my program exceeded the maximum value intended for the heap. Even after running GC, part of the memory was not free. I already knew that a part of JVM memory would be allocated to native memory and part of native memory allocated to C code, but I did not have even one line of native code in my program. After reviewing and profiling my code several times, I found an interesting issue. Before diving into the problem, let's look at Java memory concepts.
Memory Management in Java
JVM divides memory into two major spaces, heap and native memory. Heap spaces are used for allocating Java objects whereas native memory is the memory available to the OS. There is a key difference between Java 7 and 8 in the memory management model. Java 7 has PermGen; PermGen is the memory area in the heap that is used by the JVM to store class metadata, static content, primitive variables. Java 8 has eliminated PermGen and added Metaspace; actually, Metaspace and PermGen do the same thing. The main difference is that PermGen is part of the Java heap while Metaspace is NOT part of the heap. Rather Metaspace is part of native memory,which is only limited by the Host Operating System.
I am trying to set-up Postfix on my Ubuntu local web development machine for send-only e-mails using Gmail so I can test e-mails sent by a web app I am developing.
These are the steps I have followed based on a recently posted tutorial found here:
Dowloaded and installed Postfix using "Internet Site" option
The FQDN I am using is 'lhdwlamb.com'. This also appears in /etc/hosts . Excerpts of the configuration file where specified edits are needed:
Obtained a Google App Password
This is a step I found missing from several other tutorials I found. For Google account settings 2-step verification is on when using Google App password. I have also tried the old method of my regular gmail password with allow less secure apps turned on.
Is it possible in PHP?
I have a website with form + captcha on domain A -> there the captcha worked well.
It generates 1 session with the captcha code.
explanation -> https://postimg.cc/Wdzcw8vB
-> no problem so far
Now the server on which the domain A is hosted disabled sendmail - PHP mail() function so no PHP mail() function and no phpmailer with smtp on google works.
This way I can't send forms anymore.
Since it's impossible (for personal reason!) to move the website from domain A on server A to domain B on server B , I decided to use 2 domains on different servers.
I keep domain A on server A for the website and domain B on server B to send the forms -> works good except the captcha.
explanation -> https://postimg.cc/hhsRHvKb
My problem is when I call the form with captcha in iframe on domain B it generates 2 sessions in the /temp folder of server B: one with the captcha code and one empty! Now It always choose the empty session so the captcha is always wrong.
What I don't understand is ...
I open the domain A on server A with an iframe with contents which is on domain B on server B -> no session has been sent at all. Just opening a page from another server B in an iframe on server A.
Now from that page (normal page) which is on domain B on server B, I call a new page with form in the iframe with the captcha -> session_start(); -> so session is sent from domain B on server B
look again for explanation here -> https://postimg.cc/hhsRHvKb
So I call the session on domain B on server B -> why does it create 2 sessions instead of 1
What PHP code do I have to add so it takes the right session with the captcha code?
I hope someone can help me with my problem (if it's possible of course)
Thanks in advance
Best regards.
An independent regular programmer PHP fullstack with knowledge of JS. Commitment, ambition are desirable features. Knowledge of devops issues is welcome. If you write senior, we would like you to have at least 5-7 years of commercial experience and further hunger for development. You must feel free to speak English and not just read the documentation in English. We have really nice customers from all over the world and it would be a pity if you did not have the opportunity to talk to them.
WHO:
ASPER BROTHERS is a software house run in a brotherly atmosphere, with an office in the very center of Warsaw. We operate for clients from all over the world in such industries as, among others, the following: HR, automotive, marketing, medical, real estate, non-profit, security and others. Our stack is Python, PHP, Javascript. Our team consists of 20+ people, some in the office (in good times), some remotely from different Polish cities. Our clients are just nice, smiling people, so working for them is pure pleasure. There are NO non-technical people among our clients, so we talk to them in a common language.
We have worked out precise working methods, we stick to processes. We want to cooperate with people who will have a real impact on the direction, shape and development of projects and companies every day. We believe in self-sufficient scrum teams and lack of intermediaries in the form of PM/Account, who are there to support the organization, but are not middlemans.
An independent regular programmer PHP fullstack with knowledge of JS. Commitment, ambition are desirable features. Knowledge of devops issues is welcome. If you write senior, we would like you to have at least 5-7 years of commercial experience and further hunger for development. You must feel free to speak English and not just read the documentation in English. We have really nice customers from all over the world and it would be a pity if you did not have the opportunity to talk to them.
WHO:
ASPER BROTHERS is a software house run in a brotherly atmosphere, with an office in the very center of Warsaw. We operate for clients from all over the world in such industries as, among others, the following: HR, automotive, marketing, medical, real estate, non-profit, security and others. Our stack is Python, PHP, Javascript. Our team consists of 20+ people, some in the office (in good times), some remotely from different Polish cities. Our clients are just nice, smiling people, so working for them is pure pleasure. There are NO non-technical people among our clients, so we talk to them in a common language.
We have worked out precise working methods, we stick to processes. We want to cooperate with people who will have a real impact on the direction, shape and development of projects and companies every day. We believe in self-sufficient scrum teams and lack of intermediaries in the form of PM/Account, who are there to support the organization, but are not middlemans.
An independent regular programmer PHP fullstack with knowledge of JS. Commitment, ambition are desirable features. Knowledge of devops issues is welcome. If you write senior, we would like you to have at least 5-7 years of commercial experience and further hunger for development. You must feel free to speak English and not just read the documentation in English. We have really nice customers from all over the world and it would be a pity if you did not have the opportunity to talk to them.
WHO:
ASPER BROTHERS is a software house run in a brotherly atmosphere, with an office in the very center of Warsaw. We operate for clients from all over the world in such industries as, among others, the following: HR, automotive, marketing, medical, real estate, non-profit, security and others. Our stack is Python, PHP, Javascript. Our team consists of 20+ people, some in the office (in good times), some remotely from different Polish cities. Our clients are just nice, smiling people, so working for them is pure pleasure. There are NO non-technical people among our clients, so we talk to them in a common language.
We have worked out precise working methods, we stick to processes. We want to cooperate with people who will have a real impact on the direction, shape and development of projects and companies every day. We believe in self-sufficient scrum teams and lack of intermediaries in the form of PM/Account, who are there to support the organization, but are not middlemans.
Have you ever come across a great-looking WordPress site and wished you could get the exact same theme?
Often we hear from readers asking us for help finding the name of a theme that they love on someone else’s website.
Luckily, it’s easy and free to check a site’s theme. In this article, we’ll show you how to find which WordPress theme a site is using.
When you’re creating a website, one of the biggest decisions you’ll face is choosing your theme.
There’s a lot to think about when selecting the perfect WordPress theme for your site. If you come across a site with a layout and features that you love, then that could be a great shortcut to finding the right theme for you.
Some websites use custom themes, which you probably won’t be able to use yourself. However, in many cases, you’ll find that sites are using one of the best free WordPress themes or a popular premium theme.
If so, you can find out the name of the theme and download or buy it yourself.
It’s really easy to find out which WordPress theme a website is using. We’re going to walk you through three different methods.
Video Tutorial
If you prefer written instructions, just keep reading.
Method 1. Use WPBeginner’s WordPress Theme Detector Tool
It’s completely free to use. All you need to do is enter the website URL and then click the “Analyze Website” button.
Our theme detector will look through the website’s source code and show you the name of the WordPress theme they’re using.
For example, if a website is using the popular Divi theme, then our theme detector will show something like this:
However if it’s a less popular theme or a custom theme, then our tool will show you the name of the theme without the screenshot.
All you have to do then is to copy / paste that theme name in Google search to see if you can find the download link.
If it’s a custom theme, then you will not find it. However if it’s one of the thousands of free / premium WordPress theme, then you’ll be able to download and use it.
Method 2. Use IsItWP to Detect the Site’s WordPress Theme
Another easy way to detect the WordPress theme used by a website is with IsItWP, a website theme detector.
IsItWP is a free online tool that tells you the theme and plugins used by a WordPress website.
Just open up the IsItWP website and enter the URL of the site you want to check.
IsItWP will first check if the website is using WordPress. If so, IsItWP will detect which WordPress theme the site is using and show you the results:
It’ll also try to detect the WordPress hosting provider and WordPress plugins used by the website. You’ll see a list of these with download links plus links to IsItWP’s reviews of the plugins:
Sometimes, you’ll see a result like this for the site’s theme:
It will display the name of the theme, though, so you can search for it online and see if it’s available to download or buy.
Method 3. Manually Detect WordPress Theme Used by a Website
Sometimes website owners change their WordPress theme’s name. This stops tools like our WordPress theme detector or IsItWP from detecting which WordPress theme they are using.
However, you can often use the website’s code to find out which theme it’s using.
Let’s get started.
Every WordPress theme has a style.css file. This file contains a theme header which tells WordPress the name of the theme, theme author, URI, version, and more. It also contains the CSS styles used by the theme.
To find this file, go to the website that you want to examine. Right click anywhere on the screen and select ‘View Page Source’ from the menu.
This will open the source code of the page in a new browser tab. Now you need to find a line in the source code that looks something like this:
You can click on the URL in this line to open the style.css file.
Tip: There will normally be several style.css files linked to from the page source. You need to find the one with /wp-content/themes in the URL.
At the top of the style.css file, you will see the theme header block which contains information about the theme used by the WordPress blog. Typically, it would look something like this:
Theme Name: Theme Name
Theme URI: https://example.com
Author: ThemeAuthorName
Author URI: https://example.com
Description: My Theme is a flexible WordPress theme designed for portfolio websites
Version: 1.1.47
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: hestia
Tags: blog, custom-logo, portfolio, e-commerce, rtl-language-support, post-formats, grid-layout, one-column, two-columns, custom-background, custom-colors, custom-header, custom-menu, featured-image-header, featured-images, flexible-header, full-width-template, sticky-post, theme-options, threaded-comments, translation-ready
You may be able to find the Theme’s URL or Theme Author’s URL here which will lead you to the theme used by the website.
Finding The Parent Theme
Many WordPress sites use child themes to customize their websites. In that case, their theme header will contain information about the parent theme they are using.
*
Theme Name: My Child Theme
Description: Just a child theme
Author: Peter Smith
Author URL: Write here the author's blog or website url
Template: hestia
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: my-child-theme
*/
In the above example, this header block has an extra ‘Template’ parameter in the theme header block. This template is the parent theme used by this website.
You can also find out the parent theme by looking at the website’s source code. You’ll find that there’s another style.css file loaded from another theme.
This other style.css file is the parent theme’s stylesheet and clicking on it will tell you which parent theme a site is using.
That’s all for now, we hope this article helped you learn how to find which WordPress theme a site is using. You may also want to see comparison of the best WordPress page builder plugins to create custom layouts, and our step by step guide on how to create an email newsletter to grow your website traffic.
If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.
Did you know that this February is the perfect month? Well, layout-wise at least: It starts on a Monday, ends on a Sunday, and has exactly four full weeks. To fill these four perfectly aligned weeks with some life, artists and designers from across the globe challenged their creative skills and designed beautiful and inspiring wallpaper calendars for your desktop and mobile devices.
The wallpapers in this post come with and without a calendar for February 2021, and, as a little bonus goodie, you’ll also discover some familiar faces here and there: February favorites from our archives that are just too good to be forgotten (please note that these designs don’t come with a calendar). A huge thank-you goes out to everyone who shared their artworks with us this time around! It’s fantastic to see how this monthly wallpapers series still tickles your ideas after all these years that we’ve been running it.
Get Creative And Win A Workshop Ticket
Now before you scroll on to find your favorite design for this month, we’d love to invite you to a little creativity challenge: Get your pens, paintbrushes, camera, or favorite illustration tools ready and design a wallpaper for March 2021. Or maybe you have some doodles or sketches lying around that are too good not to be shared? Now’s the opportunity to turn them into a wallpaper and brighten up someone’s day. As a reward, we’ll give away a ticket to one of Vitaly Friedman’s upcoming online workshops (Interface Design Patterns or Navigation) for the best design.
How To Join In
You have the full freedom to explore your creativity with your wallpaper, to let your imagination flow, and use your favorite tools. There are only a few things you need to know before you get started:
Please design two versions of your wallpaper: one with and one without a calendar for March 2021. This way, your wallpaper remains useful even after the month has ended. The calendar should be in English.
Make sure that the wallpaper contains a Smashing Magazine logo. You can download different versions of the logo at http://smashed.by/logos (ZIP, 736KB). (And, of course, please feel free to include your own logo, too.)
Submit your design in as many different screen resolutions as possible.
Fill inthis form (no worries, it’ll only take a minute) to help us get your wallpaper published.
Once you have your assets and the form file ready, please bundle everything up in a ZIP file and send it to us via wallpapers@smashingmagazine.com. A Dropbox or Google Drive link works, too, of course.
The deadline is Thursday, February 25, 11:59 PM CET.
“I am a true believer that out there in this world there is another person who is just like us, the problem is to find her/him.” — Designed by Maria Keller from Mexico.
“My inspiration came mostly from ‘The Greay from’. It’s about a dog and an astronaut exploring a strange new world.” — Designed by Lars Pauwels from Belgium.
“Charles Dickens is most famous for writing Oliver Twist and A Christmas Carol. The 7th of February is Charles Dickens birthday, so to honour his birthday I created this wallpaper with a quote from my favourite book, Oliver Twist!” — Designed by Safia Begum from the United Kingdom.
“February is the month of love par excellence, but also a different month. Perhaps because it is shorter than the rest or because it is the one that makes way for spring, but we consider it a special month. It is a perfect month to make plans because we have already finished the post-Christmas crunch and we notice that spring and summer are coming closer. That is why I like to imagine that maybe in another place someone is also making plans to travel to unknown lands.” — Designed by Verónica Valenzuela from Spain.
“The winter sky just as the sun rises above the chilly lake can have some of the most amazing colors.” — Designed by Ernesto Perez from the United States.
“February 2nd is National Ukulele Day and this four-stringed Hawaiian instrument inspired us to wander into some warmer regions. The days are longer, the sun is shining through the clouds, the birds are chirping… However, her highness Winter has only begun, ready to bring tumult, and we ought to wait a couple more months until spring warms us.” — Designed by PopArt Studio from Serbia.
“People should have the right to believe and think what they want. They should be free in choosing their opinion. The wallpaper (especially the birds) reminds me of the great freedom we have in many countries of the world.” — Designed by Daniela Faltz from Germany.
“Sprinkles are fun, festive and filled with love… especially when topped on a cupcake! Everyone is creative in their own unique way, so why not try baking some cupcakes and decorating them for your sweetie this month? Something homemade, like a cupcake or DIY craft is always a sweet gesture.” — Designed by Artsy Cupcake from the United States.
“February is a month focused on romance and as a southerner, I can’t think of a more romantic way to spend a day than strolling the historic moss-draped streets of Savannah, GA. Spending time sitting on a bench on one of the many beautiful squares, holding hands and people watching as you sip a cappuccino.” — Designed by Heather Ozee Designs from the United States.
“The simplicity seen in the work of Dieter Rams which has ensured his designs from the 50s and 60s still hold a strong appeal.” — Designed by Vinu Chaitanya from India.
“This minimalistic love logo is designed from geometric shapes, where the heart represents the letter ‘O’ and love. The anchor represents the letter ‘V’ very delicately and stylish and it symbolizes your wanderlust. The anchor is a symbol of adventure and travels.” — Designed by Antun Hirsman from Croatia.
“The Groundhog emerged from its burrow on February 2. If it is cloudy, then spring will come early, but if it is sunny, the groundhog will see its shadow, will retreat back into its burrow, and the winter weather will continue for six more weeks.” — Designed by Oscar Marcelo from Portugal.
If you are building an application using Node.js, it can get a little overwhelming since there are a variety of databases to choose from and different ways to build APIs. One way to reduce development time and focus on the problem you are trying to solve is to use a Database as a service to store the data. The advantage of this approach is to use a cloud database system without purchasing hardware which can be cost and time-effective.
One such database service is HarperDB Cloud. To build REST APIs rapidly this service allows us to perform all database operations using a single endpoint. It supports a variety of programming languages such as JavaScript, Java, Python, and so on. Some of the features of HarperDB are the following: