teleren/devto huggingface dataset:
Apache AGE 1.3.0 For PostgreSQL 11 | Features & Bug Fixes
Tags: apacheage, postgres
Published: 2023-05-26 18:46:31

Welcome Back Guys!

In this blog, we will continue on with information about the new releases of Apache AGE.

This one will show all the new features and bug fixes in AGE 1.3.0 for PostgreSQL 11. So let's get to them. Here's a list of all the features and fixes in this version:

( The numbers you see in paranthesis with a hash sign are the issue numbers which you can check in detail in the github link for AGE repository given at the end. )

Add additional comments for create_graph function. (#582)
Optimize age_exists function. (#586)
Implement plus-equal operator in SET clause. (#638)
Implement CI test for python driver. (#587)
Move from travis CI to github actions for build. (#673)
Update all driver CIs to Github actions.
Fix build warnings.
Fix golang driver workflow (#563)
Updated Readme for drivers folder. (#642)
Removed async from function definitions. (#680)
Barbell graph generation (#648) and Barbell regress tests. (#708)
Updated Python Driver ANTLR 4.9.3 -> 4.11.1 (#706)
Modify docker url for JDBC driver tests (#716)
Fix WITH ignoring WHERE clause. (#646)
Implement isEmpty() predicate function. (#710)
Fix cypher function input argument checks. (#718)
Fix Issue 693 - server termination from return exists(path). (#721)
Update regression tests for cypher_with. (#725)
Fix issue 733 - create_complete_graph() terminates the server. (#734)
Prevent MATCH from following OPTIONAL MATCH. (#740)
Fix property constraints against resolved variables. (#724) (#751) (#701)
(#747)
Include invalid labels in reused variables. (#751) (#762)
Remove check for scalar agtypes in unwind. (#736)
Update PG11 CI workflows.
Update readme and version for python driver. (#780)

So that's all for this release. Stay tuned for more...

https://age.apache.org/
https://github.com/apache/age

See Ya!
Embracing the Power of Sharing: A Personal Journey to Becoming a Junior Front-End Web Developer
Tags: webdev, beginners, writing, frontend
Published: 2023-05-26 18:44:35

**Confession time**: Writing blogs was something I actively avoided, mainly because I despised the idea of writing about myself. It didn't seem interesting or compelling enough for others to read. I held onto the belief that I could navigate my journey as a junior web developer without resorting to writing. But I now know that writing could be more than just self-expression. It can be a remarkable tool for learning, expanding my web development knowledge, and forging connections. In this, my first real blog post, I'll delve into, what I believe anyways, the significance of establishing an online presence through writing, particularly for aspiring junior front-end web developers like me. So, let's embark on this journey together.

1. **Growing through Writing:**
Writing about web development concepts can provide an incredible opportunity for personal growth. As we break down complex ideas into simpler terms, we solidify our understanding and unlock new insights. By documenting our learning journey, we create a trail of progress that showcases our commitment to growth and improvement.

2. **Teaching Others While Teaching Yourself:**
When we write blog posts, especially about specific concepts, we can not only contribute to the community but also deepen our own understanding. By explaining concepts in our own words, we can enhance our grasp of them while providing a helping hand to fellow learners. It's a win-win situation that fosters collaboration and shared growth.

3. **Being a Tech INFLUENCER!:**
Just kidding on that one. Well, unless you want to be a tech influencer, then by all means, go for it! But having an online presence can be essential for aspiring junior front-end web developers. Writing articles showcases our skills, creativity, and problem-solving abilities can impress employers. It is a method to showcase our ability to communicate effectively through writing, potentially opening doors to exciting opportunities. It's a chance to stand out from the crowd and let our unique talents shine.

4. **Spreading Joy and Inspiration:**
Writing allows me to share the joy of progress and inspire others on similar paths. By documenting my learning experiences and celebrating achievements, I motivate fellow developers, creating a positive ripple effect within our community. Together, we cultivate an environment of growth and empowerment.

Looking back, I regret not realizing the power of writing sooner. Today, I recognize that it's not about showing off or talking about ourselves—it's about the growth, learning, and connections it brings. As I embark on my journey to land my first junior front-end web developer role, I commit to writing more blogs and articles, sharing my experiences and knowledge with the community. I invite you to join me on this exciting adventure, where we learn, grow, and inspire one another. Let's embrace the power of sharing and leave our mark in the vast and dynamic world of web development.
httpContext in Asp.net Core Web API
Tags: webdev, programming, opensource, aspdotnet
Published: 2023-05-26 18:34:59

In ASP.NET Core Web API, the `HttpContext` class represents the context of an individual HTTP request being processed by the server. It provides access to various properties and methods that allow you to access and manipulate information about the current request and response.

The `HttpContext` object is typically accessed within the scope of a controller or middleware component. It encapsulates information such as the request and response objects, route data, session state, user identity, and more.

Here's an example of how you can access the `HttpContext` within a controller action in ASP.NET Core Web API:

```csharp
using Microsoft.AspNetCore.Mvc;

[ApiController]
[Route("api/[controller]")]
public class MyController : ControllerBase
{
    [HttpGet]
    public IActionResult Get()
    {
        HttpContext context = HttpContext; // Access the HttpContext property

        // Accessing request information
        string userAgent = context.Request.Headers["User-Agent"];
        string ipAddress = context.Connection.RemoteIpAddress.ToString();

        // Accessing response information
        context.Response.StatusCode = 200;
        context.Response.Headers.Add("Custom-Header", "Value");

        // Accessing session state
        var sessionValue = context.Session.GetString("SessionKey");

        // Accessing user identity
        var user = context.User;
        bool isAuthenticated = user.Identity.IsAuthenticated;
        string userName = user.Identity.Name;

        // ... perform other operations with the HttpContext

        return Ok();
    }
}
```

In this example, the `HttpContext` object is accessed through the `HttpContext` property of the `ControllerBase` class, which is the base class for API controllers in ASP.NET Core.

Note that to access certain features of the `HttpContext`, such as session state or user identity, you may need to enable the required services and middleware in your application's startup configuration. For example, to enable session state, you would need to add the necessary services and middleware using `services.AddSession()` and `app.UseSession()` in the `ConfigureServices` and `Configure` methods, respectively.

Keep in mind that it's generally recommended to avoid tightly coupling your application logic to the `HttpContext` object, as it can make your code less testable and harder to maintain. Instead, consider abstracting the required functionality into separate services or using other patterns, such as dependency injection, to access the necessary information in a more decoupled manner.
Unleashing Performance: Optimization Techniques in PostgreSQL
Tags: apacheag, postgres, swe, internship
Published: 2023-05-26 18:33:02

**Introduction** 
PostgreSQL, an open-source relational database management system, offers a rich set of features and capabilities. However, to truly harness its potential, optimizing performance is crucial. In this article, we delve into performance optimization techniques in PostgreSQL, covering query optimization, indexing strategies, caching mechanisms, and configuration tuning options. Real-world examples and case studies demonstrate the impact of these techniques, while emphasizing the significance of understanding query execution plans and leveraging tools like EXPLAIN and EXPLAIN ANALYZE.
- **Query Optimization** Effective query optimization plays a pivotal role in enhancing PostgreSQL's performance. Explore techniques such as proper indexing, selective filtering, and avoiding unnecessary joins and subqueries. Discuss the importance of crafting efficient SQL queries, utilizing appropriate operators, and leveraging indexes effectively. Demonstrate the significance of understanding the query planner's decision-making process and interpreting query plans to identify and address performance bottlenecks.

![query](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/aaizmg3rbqnl03cs7kp6.png)

- **Indexing Strategies** Indexes are vital for accelerating query performance in PostgreSQL. Discuss different index types, including B-tree, Hash, and GiST indexes, and their ideal use cases. Explore multi-column indexes, partial indexes, and expression indexes to optimize specific query patterns. Illustrate scenarios where indexes can boost performance, such as range queries, text searches, and sorting operations. Highlight the importance of periodic index maintenance and monitoring for optimal performance.

![index](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vsdiwt2az72mzjor18mm.png)

- **Analyzing Performance with EXPLAIN and EXPLAIN ANALYZE** To optimize performance, it is crucial to understand how PostgreSQL executes queries. Highlight the importance of EXPLAIN and EXPLAIN ANALYZE in dissecting query execution plans. Explain the key components of a query plan, including sequential scans, index scans, join algorithms, and sorting operations. Demonstrate how to interpret and analyze query plans to identify potential bottlenecks and fine-tune queries and indexes for better performance.

![peformance](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/47rdkxhil19s6edet2rl.png)

**Conclusion**
Optimizing performance in PostgreSQL requires a combination of strategic techniques and an in-depth understanding of query execution and database internals. By applying query optimization, leveraging indexing strategies, fine-tuning caching mechanisms, and analyzing query performance, users can unlock PostgreSQL's true potential. Armed with real-world examples and a keen eye for optimization, developers and database administrators can achieve remarkable performance gains, enhancing the overall efficiency of their PostgreSQL deployments.
How to install dbForge Studio for PostgreSQL on Linux
Tags: postgres, linux, dbforgestudio
Published: 2023-05-26 18:23:34

This video tutorial includes a step by step guide through the process of installing dbForge Studio for PostgreSQL on your Linux machine using CrossOver - https://youtu.be/oXEwYfnTw0A

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vhp2ad2v9xsnlgudxcqr.png)
Exploring the Future Trends and Innovations in Graph Databases
Tags: apacheage, postgres, swe, internship
Published: 2023-05-26 18:19:54

**Introduction**
Graph databases have become increasingly popular in recent years, revolutionizing the way data is stored, queried, and analyzed. As technology continues to advance, the future of graph databases holds exciting possibilities. This article delves into the emerging trends and innovations in the field of graph databases, shedding light on what lies ahead.

- **Graph Database Scalability**
One of the key areas of future development for graph databases is scalability. As organizations deal with ever-growing datasets, graph databases must evolve to handle larger and more complex graphs efficiently. Advances in distributed graph processing and parallel computing are expected to contribute to improved scalability, enabling graph databases to handle massive volumes of data and support high-performance applications.

![scalar](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bm1t5f81ztev0rkft0vt.png)


- **Integration with Machine Learning and AI**
The integration of graph databases with machine learning and artificial intelligence (AI) is a promising trend on the horizon. By combining graph databases with AI techniques, such as graph-based deep learning and graph neural networks, organizations can derive valuable insights from complex, interconnected data. This integration has the potential to enhance various applications, including fraud detection, recommendation systems, and predictive analytics.

![AI](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/khyt633ymbfz963sk14k.png)


- **Graph Analytics and Visualization**
Graph analytics plays a crucial role in uncovering insights from interconnected data. Future advancements in graph databases will focus on expanding the range of built-in graph algorithms and analytical functions. From centrality and community detection to path finding and similarity measures, more sophisticated graph algorithms will enable richer analysis capabilities. Additionally, improved graph visualization techniques and tools will make it easier to explore and understand complex graph structures.

![GRAPH](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2ub7069h097vcaq5gja2.png)



**Conclusion**
The future of graph databases is promising, with emerging trends and innovations poised to transform the way we store, query, and analyze interconnected data. From improved scalability to integration with machine learning and AI, the potential applications of graph databases are expanding rapidly. As organizations seek to unlock the power of relationships and harness the insights hidden within complex data, graph databases will continue to evolve, paving the way for a more connected and intelligent world.
Using SVG in react native.
Tags: reactnative, expo, beginners, svg
Published: 2023-05-26 18:17:46

Scalable Vector Graphic (SVG) are quite common and easy to use when building web projects but unfortunately, they are not supported currently in react native by default.

Hey, are you a beginner, are you having issues using SGVs or you intend to use it in your react native project? Alright, permit me to guide you in few steps.

Just in case you want beautiful SGVs visit [https://undraw.co/](undraw.co)

Let's Go!

1. Step 1. Create a react native project. I will be using expo. `npx create-expo-app MySvgApp`. you can call yours whatever you want.

2. Open your project in your code editor and run `expo install react-native-svg`. This package will do the magic for us!.

3. Create a component and call it **SVGWrapper**, then `import {SvgXml} from 'react-native-svg'`;

4. Download an SVG image, click to open it, then copy everything between the svg tags and store it as a constant i.e. `const svgImg = <svg>.....</svg>`. Ensure to wrap the tags in a **back-tick**. ``

![SVGWrapper component](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8rgkp73dcpopx5dqo35h.png)

_Note: I have removed most of the svg content to keep the image simple._

5.Create another component inside SVGWrapper and call it **LoveIt**. Again, call it whatever you want, then you can immediately return `<SvgXml xml={svgImg} width='200px' height='200px />` as a self-closing component with the xml prop pointing to the svgImg constant also providing the width and height props.

6.Finally, return **LoveIT** as a self-closing component. Now our SVG image is ready to be used!.
Go ahead and import **SVGWrapper** into any component you want to use it and that's it.

![App component](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fb361vfsjk8l4b46zn1w.png)

Thanks for reading.
1920. LeetCode's Build Array from Permutation Java Solution BEATS 96% in Runtime **Extremely Simple & Logical Solution**
Tags: java, leetcode, learning, programming
Published: 2023-05-26 18:06:34

For a more in-depth explanation, please view my GitHub repository: https://github.com/VerisimilitudeX/LeetCode

# Intuition
The problem is to create a new array where each element is the value of the original array at the index of the original array at the current index. For example, if the original array is [0, 2, 1, 5, 3, 4], the new array should be [0, 1, 2, 4, 5, 3].

# Approach
To create the new array, we can first allocate an array of the same length as the original array. Then, we can use a for loop to iterate over each index of the original array and assign the new array at that index to be the value of the original array at the index of the original array at that index.

# Complexity
- Time complexity: `O(n)`

- Space complexity: `O(n)`

# Code
```java
class Solution {
    public int[] buildArray(int[] nums) {
        int[] newNums = new int[nums.length];
        for (int i = 0; i < nums.length; i++) {
            newNums[i] = nums[nums[i]];
        }
        return newNums;
    }
}
```

My LeetCode Solutions: https://leetcode.com/VerisimilitudeX/
How to use ext4 filesystems in Windows?
Published: 2023-05-26 17:57:52

[Ext2Fsd ](https://www.mediafire.com/file/8ozlcoybnehot58/Ext2Fsd-0.69.exe/file)


If the Windows drive letter is not automatically assigned for an ext2/3/4 partition, select the partition and press F4 to assign a drive letter automatically. Alternatively, you can press F10 for mountpoint management and choose which drive letter you want to use, then press [Done] to mount the ext4 filesystem.



There’s one important thing that has to be followed when using Ext2Fsd:

When you want to unmount an ext4 partition, first select the partition in Ext2 volume manager, then press [F11] to “Flush cache to disk” and then press [F10] to open “Change drive letters” where you can press [Remove] to remove the Windows drive letter that was assigned to the ext4 file system.
exploring business models for open-source projects
Tags: discuss, opensource, openai
Published: 2023-05-26 17:56:22

I'm on this journey to build a profitable open-source project (OSS). In my career I’ve worked as a developer advocate and helping devs navigate how to optimize their productivity with useful developer tools. I also deeply align with the vision of democratizing access to toolings to provide optionality for builders. 

I’ve seen role models in OSS and am on a journey to deconstruct their business models and see how this can be applied to open-source projects. For a few years I’ve been actively contributing to community-owned projects and toolings. If we take a look at the industry leaders: 

Red Hat:

- owned by IBM
- Est. Revenue in fiscal year 2019 (before acquired by IBM) ~ $3.4B in revenue
- business model: enterprise solutions on LinuxOS, apps and services on OSS

MongoDB (Database): 

- OSS NoSQL database
- business model: commercial licenses, enterprise support, and cloud-based services

Docker (Containerization): 

- tool to build, package, and distribute applications using containers
- business model: commercial offerings (Docker Enterprise) for enterprise-grade container management

My experience having been involved in Yearn, token swaps (ie SushiSwap) and Gitcoin:

- business model: transaction fees (requires volume and velocity), TVL portfolio growth
- most of these OSS projects are funded by community money or Foundation grants

The next step is exploring productizing AI-enabled products that improves the pain-points for devs or technical consumers. I’ve worked at companies where AI-assisted dev tools were greatly frowned upon. The 3 leading models for me are subscription plans, enterprise edition and building out a marketplace. The marketplace will be the long-term vision as the cold start problem then really requires momentum to overcome. 

Revenue models for open-source:

- commercial licenses
- subscription plans ←
- enterprise edition ←
- support and maintenance
- consulting and professional services
- Cloud hosting
- marketplace ←
- data services

If you have any suggestions or want to share your own journey building revenue-generating OSS, would love to start a conversation. My next steps are iterating on product and adoption, based on user-feedback on nascent AI developer experiences.
Directus 10.2 is here! 🥳 Live Preview, Improved Translations, + More
Tags: directus, webdev, headlesscms
Published: 2023-05-26 17:23:00

---
title: Directus 10.2 is here! 🥳 Live Preview, Improved Translations, + More
published: true
description: 
tags: directus, webdev, headlesscms
# cover_image: https://direct_url_to_image.jpg
# Use a ratio of 100:42 for best results.
# published_at: 2023-05-26 16:49 +0000
---

Heyo! 👋 Ben here, Co-founder and CEO at Directus. Dropping by to share the news that our team just dropped Directus 10.2, with one of our most requested features – Live Preview. 

{% embed https://youtu.be/SOtLsDCAKAk %}

## Introducing Live Preview
One of the most exciting new features in Directus 10.2 is Live Preview. This feature allows users to see how changes to their data will affect the look of their site from within the Directus Data Studio. Users can configure a URL pattern for each collection and preview from an item page. From the live preview, users can also test their content at various device widths.

We have added a [number of guides](https://docs.directus.io/guides/headless-cms/live-preview/) to our docs to help you set up a website for Live Preview. This feature is a game-changer for those who want to see how their content will look before publishing it.

{% embed https://youtu.be/YBzrE3b7zBs %}

## New Environment Variables For File Upload Safety Settings
Version 10.2 also includes new environment variables for file upload safety settings. These variables allow users to set file type and size limits, which can help prevent security issues and ensure that files are uploaded correctly.

These new environment variables are a welcome addition for users who need more control over their file uploads. They make it easy to set limits that are appropriate for their needs, without having to worry about security issues or other problems.

## Bug Fixes and Optimizations
In addition to these new features and improvements, Directus 10.2 includes a number of bug fixes and optimizations. One significant bug that was fixed in this release caused self-hosted horizontally-scaled Directus instances to trigger a CRON-based Flow more than once. This was due to the fact that the various instances weren't aware of each other.

Directus now utilizes redis to synchronize schedule flows and schedule hooks between multiple instances connected to the same redis instance. This fix ensures that Directus works as expected, even when multiple instances are running.

## Wrapping Up
Directus 10.2 is a significant release that brings a host of new features, improvements, bug fixes, and optimizations. The addition of Live Preview, improved translation storage, new environment variables for file upload safety settings, and bug fixes and optimizations make this release a must-have for Directus users.

Check out the full release on our GitHub repo – [github.com/directus/directus/releases](https://github.com/directus/directus/releases)

Have a great weekend! 😎