Vue.js and Symfony Forms

Symfony provides us the symfony/form package which makes the handling of rendering and submitting forms easier than ever. Soon this will become even easier with the new “Form handler helper”, but that’s not the point here.

What annoyed me when I first started working with Vue.js was the fact that I pretty much like the need to say “goodbye” to the forms rendering directly in the Twig (which is very handy).

Feature Request Management for Software Development Projects

More and more software development teams are switching from the traditional Waterfall approach to Agile project management. Agile helps teams to become more flexible and adaptive which is essential for staying competitive in today’s business environment where customer needs are constantly changing and evolving. But what exactly do we mean by being “more flexible and adaptive?”

Request Management: Product Increments

Let’s imagine a team that is working on a software product. The product is going to be released in several versions, and the Product Manager creates a roadmap to plan the timeline for these releases (please see the picture below). Each release itself can be broken down into smaller chunks of work that are usually called product increments and form a Sprint (typically 2-4 weeks long).

5 Ways to Sort Wisely

Hey to everyone! I guess you all did sorting at least once. I also guess that everyone knows a sorting called "Bubble," cause it is the easiest and most popular. But when it comes to time and your memory, what will you do?

Imagine a situation. You have a mass that contains about 10^100 elements. Is it still good to use bubble sorting? Just imagine checking every element... and not once. It is not so difficult to count how many operations it is and how much time it takes.

Deploying Containerized Apps on AWS? EKS vs. ECS For Workload Deployment

A Little Foreword

In order to bridge the gap of delivering products quickly, all organizations are shifting the base architectural design patterns to distributed system architecture. It's kind of common practice to either bootstrap or transition the existing applications to containerized or server-less architectures.

Managing clustered applications can soon become an overhead when the organization scale and hence increases a dire need for a platform that can support automation of all the tasks related to management, deployment, scaling of these clusters.

What’s Happening to Low-Code?

It was only a handful of years ago that the low-code story was innocently simple. Instead of coding software line-by-line by hand, use a low-code tool that provided visual abstractions that enabled developers to shortcut the hand-coding process by dragging and dropping tasks onto workflows, widgets onto screens, and the like.

Then along came no-code. The contrast between the two approaches was clear. Low-code targeted professional developers, simplifying their work by taking ‘plumbing’ tasks off their plate, while also facilitating collaboration with business stakeholders.

Setting Real-Time Cost Alerts in Kubernetes With Kubecost

Engineering teams can scale their Kubernetes costs and burn their budget with the same ease by which they scale their infrastructure. Thanks to Kubecost's real-time alerting, the risk of upsetting the finance team can be mitigated. Kubernetes is well-known for its ability to help scale applications rapidly and with ease, but this ability comes with some tradeoffs. Before Kubernetes, teams had to follow a more deliberate procurement approval process to change the capacity allocation. Today, that scaling process has been democratized, and teams can easily scale their clusters up or down.

With the ability to create more frequent changes to infrastructure resources come more opportunities to misallocate and over-allocate costly resources. In this model, technical teams can far exceed their expense budget without even realizing it, while financial managers would only notice it after the fact leading to avoidable organizational stress. So, how do you stay on top of your Kubernetes spending if your resources change daily?

Industries That Need a High Performing Low Latency Distributed Database

There are certain industries that greatly benefit from high-performing, low-latency, geo-distributed technologies, while other organizations might be more focused on vertically scaling architectures. This is dependent on numerous factors including the data pipeline, network, data structure, type of product or solution, short and long-term goals, etc. While there are currently many databases and tools that provide vertical scaling capabilities, there are not many that focus on horizontal scaling -- but there’s still a need for both.

Latency

Before jumping into specific industries that benefit from high-performing, low-latency, geo-distributed databases (it’s a mouthful, I know), let’s define a few terms here. High-performing is pretty self-explanatory so I’ll skip over that one. For the next term, I’ll refer to my colleague Jacob Cohen’s blog on Geo-Distributed Databases. Latency generally measures the duration between an action and a response. In user-facing applications, that can be narrowed down to the delay between when a user makes a request and when the application responds to a request. So, technologies that enable low latency usually improve performance and response times, leading to improved user experience and cost savings.

The Power of Software Visualization

I thought I’d use our new 3D city view visualizations to have a closer look at Apache-Cassandra, a very popular and successful open source project that implements a NoSQL database. I know from previous analysis runs of the same software that it already had problems with structural erosion. Years ago I analyzed Cassandra 1.2.6 and found pretty big cycle groups for Java files as well as for packages. The maintainability level was only 9.4% (everything under 50% is concerning) while the metric “Propagation Cost” has a value of 62%. That means that every change will affect 62% of all code directly or indirectly which also is not a good thing because it significantly increases the chance of regression bugs.Visualization of 477 Java Files From Apache Cassandra

477 Java files form this big ball of mud in Apache-Cassandra 1.2.6

DataWeave Practice: Prime Number Code

What Is a Prime Number?

A prime number is a natural number that is greater than 1 and divisible by 1 and itself. That means the prime number will have only two factors 1 and that number itself. Some of the prime numbers are 2, 3, 5, 7,11,13, etc.

Before writing the code let's list down what will be the different types of inputs. So the inputs can be

Building Blockchain Apps: Key Considerations and Steps in The Process

Just think about a mobile app that instead of depending on one server can actually draw power from a multitude of remote computers through the mediation of a distributed database network. That's precisely the story of Blockchain-based mobile apps. Blockchain for mobile app development ensures optimum security and resilience against all kinds of attacks and data breaches.

The emergence of cryptocurrency solutions like Bitcoin that allowed anyone to join a decentralized Blockchain network and provided a cross-verification-based network for secure transactions were the first instances of Blockchain-based apps that swept the world. Since Bitcoin and the likes completely revolutionized digital transactions and asset management more than ever before, they continued to grow and find traction across all enterprises.

3 Common Encryption Mistakes That Are Easy to Avoid

At Ubiq Security we focus on data security and making it easier for developers to incorporate encryption into their applications.  As part of our work, we spend time on Slack, Stack Overflow, Reddit, etc. and we see several common mistakes that can cause security vulnerabilities that are easy to resolve.  While we don’t think any developer wants to make an insecure product, it is easy to understand how developers not experienced in data security might not realize the impact of grabbing some sample code from the Internet and incorporating it into their application.  I often say that writing programs incorporating encryption or data security is not like other software development.  Just because an application runs, doesn’t mean you are done or that your application is secure.

Common Mistake 1: Inadvertently Reducing the Range of A Hashed Value

I have lost count of how many times I have seen someone use sha256 thinking they are creating a 256-bit value stored in 32 bytes when they are actually creating a 128-bit value stored in 32 bytes.

Implementing Non-Trivial Containerized Systems, Part 1: Picking Components

So, you want to start a radio station, eh?

This is the first part of a multi-part series on designing and building non-trivial containerized solutions. We're making a radio station using off-the-shelf components and some home-spun software, all on top of Docker, Docker Compose, and eventually, Kubernetes.

In this part, we're going to explore how the different parts of the system interface with one another, to set the stage for our next post, where we Dockerize everything!

I first met Icecast (https://icecast.org/) when I worked at a web-hosting startup around the turn of the millennium. One night, one of my co-workers and I had the crazy idea to load a bunch of audio files on the networked file server and stream them to our workstations. We could listen to music while we worked 90+ hours a week. Strange times. After realizing it wasn't as simple as exporting .ogg files over HTTP, we found Icecast (and its pal, Ices2) and built a rudimentary, local-network broadcast radio station.

Advice for Someone Moving From SRE to Backend Engineering

Recently there was a Reddit post asking for advice about moving from Site Reliability Engineering to Backend Eng. I started writing a response to it, the response got long, and so I turned it into a blog post.

In the post, OP mentions a couple of things driving the motivation for the transition. One is a concern that they may be losing development skills because they’re spending so much time creating scripts and automating. The other reason is that they’re having trouble adjusting to on-call life.

Powering Up RavenDB Indexes With NuGet Packages

In RavenDB 5, you can use third-party NuGet packages and load binary data (or "attachments") within your indexes without any additional code deployment necessary.

In this article, I’ll showcase how to use these two features together to index EXIF metadata on images and run ML.NET sentiment analysis offline on product reviews.