Ukrainian Courting Agency Workplace In Kiev:

The greatest Ukrainian relationship sites is going to permit you to easily discover your good woman from one of the well-liked Asian European countries. Free sign up, streamlined online communication, beneficiant bonuses for new users—this can be just a glance of what Ukrainian dating in USA presents. Then simply try legitimate Ukrainian relationship websites, and […]

Never Use Credentials in a CI/CD Pipeline Again

As someone who builds and maintains cloud infrastructure, I have always been leery from a security perspective of giving third-party services, such as CI/CD platforms, access to resources. All the service vendors claim to take stringent precautions and implement foolproof processes, but still, vulnerabilities get exploited and errors happen. Therefore, my preference is to use tools that can be self-hosted. However, I may not always have a choice if the organization is already committed to an external partner, such as Bitbucket Pipelines or GitHub Actions. In that case, in order to apply some Terraform IaC or deploy to an autoscaling group, there is no choice but to furnish the external tool with an API secret key, right? Wrong! With the proliferation of OpenID Connect, it is possible to give third-party platforms token-based access that does not require secret keys.

The problem with a secret is that there is always a chance of it leaking out. The risk increases the more it is shared, which happens as employees leave and new ones join. One of them may disclose it intentionally or they may be the victim of phishing or a breach. When a secret is stored in an external system, that introduces an entire new set of potential leak vectors. Mitigating the risk involves periodically changing the credentials, which is a task that adds little perceptible value.

Replacing Apache Hive, Elasticsearch, and PostgreSQL With Apache Doris

I worked as a real-time computing engineer for a due diligence platform, which is designed to allow users to search for a company's business data, financial, and legal details. It has collected information of over 300 million entities in more than 300 dimensions. The duty of my colleagues and I is to ensure real-time updates of such data so we can provide up-to-date information for our registered users. That's the customer-facing function of our data warehouse. Other than that, it needs to support our internal marketing and operation team in ad-hoc queries and user segmentation, which is a new demand that emerged with our growing business. 

Our old data warehouse consisted of the most popular components of the time, including Apache Hive, MySQL, Elasticsearch, and PostgreSQL. They support the data computing and data storage layers of our data warehouse: 

Decoding eBPF Observability: How eBPF Transforms Observability as We Know It

There has been a lot of chatter about eBPF in cloud-native communities over the last 2 years. eBPF was a mainstay at KubeCon, eBPF days and eBPF summits are rapidly growing in popularity, companies like Google and Netflix have been using eBPF for years, and new use cases are emerging all the time. Especially in observability, eBPF is expected to be a game changer.

So let’s look at eBPF — what is the technology, how is it impacting observability, how does it compare with existing observability practices, and what might the future hold?

Visual basic 6: how using RayCasting?

i did these code for create RayCasting:

Option Explicit

Private Declare Sub Sleep Lib "kernel32.dll" (ByVal dwMilliseconds As Long)

Private Const PI As Double = 3.14159265358979

Dim LevelMap(12) As Variant
Dim CamWidth As Long
Dim CamHeight As Long
Dim CamHalfHeight As Long
Dim RayCastingPrecision As Long
Dim PlayerX As Double
Dim PlayerY As Double
Dim PlayerAngle As Long
Dim PlayerFOV As Long
Dim PlayerMovement As Double
Dim PlayerRotation As Double

Dim blnGameLoop As Boolean
Dim colors(3) As ColorConstants

Public Function Floor(ByVal x As Double) As Long
    Floor = (-Int(x) * (-1))
End Function

Private Function DegreeToRadians(degree As Long) As Double
    DegreeToRadians = degree * PI / 180
End Function

Private Sub DrawLine(X0 As Long, Y0 As Long, X1 As Long, Y1 As Long, Color As ColorConstants)
    Me.Line (X0, Y0)-(X1, Y1), Color
End Sub

Private Sub rayCasting()
    ' O RayAngle  o angulo atual do "raio".
    ' se ele comea olhando para angulo 90 e tem fov 60, ento o rayAngle vai de 60 at 120, sendo incrementado por fov/width
    Dim rayAngle As Long
    rayAngle = PlayerAngle - PlayerFOV / 2
    ' Para Cada coluna da tela
    Dim raycount As Long
    For raycount = 0 To CamWidth
        ' Player dados
        Dim RayX As Double
        Dim RayY As Double
        RayX = PlayerX
        RayY = PlayerY


        ' Com cosseno e seno do angulo conseguimos a direo do raio sobre o grid a partir do ponto de viso.
        ' Aqui teremos a direo do raio sobre a matriz e tambm o modulo (passo)
        Dim rayCos As Double
        Dim raySin As Double
        rayCos = Cos(DegreeToRadians(rayAngle)) / RayCastingPrecision
        raySin = Sin(DegreeToRadians(rayAngle)) / RayCastingPrecision

        ' Coliso do raio com as paredes
        Dim Wall As Long
        Wall = 0
        While (Wall = 0) ' Aqui o "raio" seria tipo uma progetil que sai do personagem at colidir com uma parede

            RayX = RayX + rayCos ' novo x do raio
            RayY = RayY + raySin ' novo y do raio
            Wall = LevelMap(Floor(RayY))(Floor(RayX)) ' verifica coliso com a parede (no nulo na matriz)
        Wend

        ' Distancia at a parede (teorema de pitagoras), uma vez que temos o (X,Y) do personagem e da parede
        Dim distance As Double
        distance = Sqr((PlayerX - RayX) ^ 2 + (PlayerY - RayY) ^ 2)

        ' Correo olho de peixe (sem coliso com a parede), melhora a vista em corredores ou proximo de paredes
        distance = distance * Cos(DegreeToRadians(rayAngle - PlayerAngle))

        'Altura da parede em consequncia a distancia
        'quando mais longe a parede est menor ela  e vice versa, so inversamente proporcionais
        Dim WallHeight As Long
        WallHeight = Floor(CamHalfHeight / distance)
        If (WallHeight > CamHalfHeight) Then WallHeight = CamHalfHeight


         'Desenhando as paredes usando os tamanhos calculados acima
        DrawLine raycount, 0, raycount, CamHalfHeight - WallHeight, ColorConstants.vbCyan 'cu
        If (Wall > 0) Then
            DrawLine raycount, CamHalfHeight - WallHeight, raycount, CamHalfHeight + WallHeight, colors(Wall) ' Parede
        End If
        DrawLine raycount, CamHalfHeight + WallHeight, raycount, CamHeight, vbMagenta ' cho
        Wall = 0
        ' Incremento da ray
        rayAngle = rayAngle + PlayerFOV / CamWidth
    Next raycount
End Sub

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
    Dim playerCos As Double
    Dim playerSin As Double
    Dim newX As Double
    Dim newY As Double
    If (KeyCode = vbKeyEscape) Then
        blnGameLoop = False
        End
    ElseIf (KeyCode = vbKeyUp) Then

        playerCos = Cos(DegreeToRadians(PlayerAngle)) * PlayerMovement
        playerSin = Sin(DegreeToRadians(PlayerAngle)) * PlayerMovement
        newX = PlayerX + playerCos
        newY = PlayerY + playerSin

        ' Verficia coliso do player
        If (LevelMap(Floor(newY))(Floor(newX)) = 0) Then
            PlayerX = newX
            PlayerY = newY
        End If
    ElseIf (KeyCode = vbKeyDown) Then


        playerCos = Cos(DegreeToRadians(PlayerAngle)) * PlayerMovement
        playerSin = Sin(DegreeToRadians(PlayerAngle)) * PlayerMovement
        newX = PlayerX - playerCos
        newY = PlayerY - playerSin

        ' Verficia coliso do player
        If (LevelMap(Floor(newY))(Floor(newX)) = 0) Then
            PlayerX = newX
            PlayerY = newY
        End If
    ElseIf (KeyCode = vbKeyLeft) Then
        PlayerAngle = PlayerAngle - PlayerRotation
    ElseIf (KeyCode = vbKeyRight) Then
        PlayerAngle = PlayerAngle + PlayerRotation
    End If
End Sub

Private Sub Form_Load()
    CamWidth = 1028
    CamHeight = 720
    CamHalfHeight = CInt(CamHeight / 2)
    RayCastingPrecision = 100
    PlayerX = 2
    PlayerY = 3
    PlayerAngle = 0
    PlayerFOV = 60
    PlayerMovement = 0.1
    PlayerRotation = 0.8
    Me.Show
    LevelMap(0) = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
    LevelMap(1) = Array(1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1)
    LevelMap(2) = Array(1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1)
    LevelMap(3) = Array(1, 0, 0, 0, 0, 0, 3, 3, 3, 0, 0, 0, 0, 0, 1)
    LevelMap(4) = Array(1, 0, 0, 0, 0, 0, 3, 3, 3, 0, 0, 0, 0, 0, 1)
    LevelMap(5) = Array(1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1)
    LevelMap(6) = Array(1, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 1)
    LevelMap(7) = Array(1, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 1)
    LevelMap(8) = Array(1, 0, 0, 0, 0, 0, 2, 2, 2, 0, 0, 0, 0, 0, 1)
    LevelMap(9) = Array(1, 0, 0, 0, 0, 0, 2, 2, 2, 0, 0, 0, 0, 0, 1)
    LevelMap(10) = Array(1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1)
    LevelMap(11) = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
    blnGameLoop = True

    colors(0) = vbBlue
    colors(1) = vbGreen
    colors(2) = vbRed

    While (blnGameLoop = True)
        Me.Cls
        rayCasting
        blnGameLoop = True
        DoEvents
    Wend
End Sub

Private Sub Form_Unload(Cancel As Integer)
    blnGameLoop = False
End Sub

my problem is on these code:

 'Desenhando as paredes usando os tamanhos calculados acima
        DrawLine raycount, 0, raycount, CamHalfHeight - WallHeight, ColorConstants.vbCyan 'Sky
        If (Wall > 0) Then
            DrawLine raycount, CamHalfHeight - WallHeight, raycount, CamHalfHeight + WallHeight, colors(Wall) ' Wall
        End If
        DrawLine raycount, CamHalfHeight + WallHeight, raycount, CamHeight, vbMagenta ' floor
        Wall = 0

all vertical wall lines drawed have the same color even some are different color... i don't understand why :(

Writing a Vector Database in a Week in Rust

Vector databases are currently all the rage in the tech world, and it isn't just hype. Vector search has become ever more critical due to artificial intelligence advances which make use of vector embeddings. These vector embeddings are vector representations of word embeddings, sentences, or documents that provide semantic similarity for semantically close inputs by simply looking at a distance metric between the vectors.

The canonical example from word2vec in which the embedding of the word "king" was very near the resulting vector from the vectors of the words "queen", "man", and "woman" when arranged in the following formula:

Microservices With Apache Camel and Quarkus

Apache Camel is everything but a new arrival in the area of the Java enterprise stacks. Created by James Strachan in 2007, it aimed at being the implementation of the famous "EIP book" (Enterprise Integration Patterns by Gregor Hohpe and Bobby Woolf, published by Addison Wesley in October 2003). After having become one of the most popular Java integration frameworks in early 2010, Apache Camel was on the point of getting lost in the folds of history in favor of a new architecture model known as Enterprise Service Bus (ESB) and perceived as a panacea of the Service Oriented Architecture (SOA)

But after the SOA fiasco, Apache Camel (which, meanwhile, has been adopted and distributed by several editors including but not limited to Progress Software and Red Hat under commercial names like Mediation Router or Fuse) is making a powerful comeback and is still here, even stronger for the next decade of integration. This comeback is also made easier by Quarkus, the new supersonic and subatomic Java platform.

What Is Envoy Proxy?

The article will cover the following topics:

  • Why is Envoy proxy required?
  • Introducing Envoy proxy
  • Envoy proxy architecture with Istio
  • Envoy proxy features
  • Use cases of Envoy proxy
  • Benefits of Envoy proxy
  • Demo video - Deploying Envoy in K8s and configuring as a load balancer

Why Is Envoy Proxy Required?

Challenges are plenty for organizations moving their applications from monolithic to microservices architecture. Managing and monitoring the sheer number of distributed services across Kubernetes and the public cloud often exhausts app developers, cloud teams, and SREs. Below are some of the major network-level operational hassles of microservices, which shows why Envoy proxy is required.

Building a Robust Data Engineering Pipeline in the Streaming Media Industry: An Insider’s Perspective

In this detailed and personal account, the author shared his journey of building and evolving data pipelines in the rapidly transforming streaming media industry. Drawing from his extensive experience, the author highlights the fundamental role data engineering plays in the industry, explaining the construction and challenges of typical data pipelines and discussing the specific projects that marked significant transformations. The article delves into technical aspects such as real-time data processing, ETL processes, and cloud technologies and provides insights into the future of data engineering within the industry. The piece serves as an invaluable resource for data professionals seeking to understand the dynamic interplay of data engineering and streaming media, emphasizing the need for adaptability, continuous learning, and effective collaboration.

In the last two decades, data engineering has dramatically transformed industries. With multiple years of experience as an industry leader, I've had the privilege of witnessing this change and, indeed, driving it. Nowhere has this transformation been more apparent than in the streaming media industry.

Rule-Based Prompts: How To Streamline Error Handling and Boost Team Efficiency With ChatGPT

Personally, I have achieved outstanding results by incorporating ChatGPT into our team's workflow. This has enabled us to simplify the preparation of user stories and technical documentation, reduce the need for communication between various departments, and decrease our dependence on analysts. In this article, I will provide a specific example that will illustrate just how we achieved all of these goals with the help of ChatGPT and the rule-based prompts.

The Challenges of Constructing Effective Prompts

When interacting with ChatGPT and other generative models, the main goal is to achieve the best possible results based on prompts. However, there are some challenges in constructing prompts that will ensure the AI follows instructions correctly. Issues often arise due to the structure of the prompt, causing the AI to either not fully follow the request or focus on unnecessary ‘noisy’ words.

Ad-Hoc Testing: A Comprehensive Guide With Examples and Best Practices

Ad-hoc testing is the process of creating tests based on a need to test. These tests are not created as part of a set plan or to test specific features but rather to ensure that specific areas of the product work correctly. It is also performed as part of regression testing to ensure that new patches and fixes do not cause any issues with the current version of the product.

A tester must be willing to challenge any idea, no matter how good or absurd. One of the best ways to test your ideas is through Adhoc testing, which is a great way to discover new issues and risks with minimal effort. It allows you to take a more creative approach and try new things to find a problem by not formalizing the process.

Constructing Real-Time Analytics: Fundamental Components and Architectural Framework — Part 1

The old adage "patience is a virtue" seems to have lost its relevance in the fast-paced world of today. In an era of instant gratification, nobody is inclined to wait. If Netflix buffering takes too long, users won't hesitate to switch platforms. If the closest Lyft seems too distant, users will readily opt for an alternative.

The demand for instant results is pervading the realm of data analytics as well, particularly when dealing with large datasets. The capacity to provide immediate insights, make swift decisions, and respond to real-time data without any delay is becoming crucial. Companies like Netflix, Lyft, Confluent, and Target, along with thousands of others, have managed to stay at the forefront of their industries partially due to their adoption of real-time analytics and the data architectures that facilitate such instantaneous, analytics-driven operations.

Data Exploration Using Serverless SQL Pool In Azure Synapse

Azure Synapse Analytics, formerly known as Azure SQL Data Warehouse, is a cloud-based analytics service provided by Microsoft Azure. It provides capabilities like data exploration, data analysis, data integration, advanced analytics,  machine learning, etc., on the Azure Data Lake Blob Storage.

In this article, we will take a deep dive into the ingestion of data files into Azure Synapse, data analysis, and transformation of the files in Azure Synapse using a Serverless SQL Pool. This article expects you to have a basic understanding of Azure fundamentals. Open your Synapse workspace and have it ready. Let's go.

Unlocking Game Development: A Review of ‘Learning C# By Developing Games With Unity’

I've recently had the pleasure of immersing myself in Harrison Ferrone's Learning C# by Developing Games with Unity. I'd heard it was a great primer for those of us eager to get our feet wet in the gaming industry, and I can now confirm it's a game changer.

This book wasn't just written for tech-savvy gamers. It was written for the curious beginner, the coding newbie, and the Unity novice. Ferrone breaks down intimidating coding concepts into bite-sized, digestible chunks, making this complex world not only accessible but actually enjoyable.

ChatGPT Will Not Replace Your Job, but the People Using ChatGPT as Their Assistant Will

The development of generative AI has been a true game-changer in the world of technology. It has unlocked new and exciting possibilities for creating and generating original content that was previously only achievable through human effort. By leveraging the power of artificial intelligence to analyze patterns in existing data, generative AI can now create original text, images, and music that are virtually indistinguishable from those created by humans. This groundbreaking advancement has immense implications for various industries, including media, advertising, and entertainment.

One industry that stands to benefit significantly from the integration of generative AI is the media sector. In today's fast-paced world, where news and articles are constantly being produced to keep the public informed, the efficiency and speed offered by generative AI can be of great value to newsrooms and publishers. By utilizing generative AI, news articles and product descriptions can be created quickly and efficiently, enabling newsrooms to keep up with the ever-increasing demand for content. However, it is important to note that while generative AI can generate content, the human touch is still crucial in producing material that resonates with readers. Human writers possess a unique ability to craft compelling stories, develop persuasive arguments, and create engaging content that genuinely touches the hearts and minds of the audience. Through the infusion of human creativity and emotion, content takes on a deeper level of connection and authenticity.