Amin Forout, Author at ProdSens.live https://prodsens.live/author/amin-forout/ News for Project Managers - PMI Mon, 15 Apr 2024 17:20:46 +0000 en-US hourly 1 https://wordpress.org/?v=6.5.5 https://prodsens.live/wp-content/uploads/2022/09/prod.png Amin Forout, Author at ProdSens.live https://prodsens.live/author/amin-forout/ 32 32 How to Serve an Angular App with Nginx https://prodsens.live/2024/04/15/how-to-serve-an-angular-app-with-nginx/?utm_source=rss&utm_medium=rss&utm_campaign=how-to-serve-an-angular-app-with-nginx https://prodsens.live/2024/04/15/how-to-serve-an-angular-app-with-nginx/#respond Mon, 15 Apr 2024 17:20:46 +0000 https://prodsens.live/2024/04/15/how-to-serve-an-angular-app-with-nginx/ how-to-serve-an-angular-app-with-nginx

Installing Nginx on Windows 1… – Download the latest version of Nginx for Windows from the official Nginx…

The post How to Serve an Angular App with Nginx appeared first on ProdSens.live.

]]>
how-to-serve-an-angular-app-with-nginx

Installing Nginx on Windows

1… – Download the latest version of Nginx for Windows from the official Nginx website.

2… – Extract the downloaded archive to a directory of your choice, such as C:nginx.

nginx.conf Configuration

  • Next, let’s configure Nginx to serve our Angular application. Below is a basic configuration file (nginx.conf) for serving an Angular app:
http {
    include mime.types;
    server {
        listen 2292;
        root /Users/vivek/Desktop/SAAS/saas_client/dist/sfms/browser;
    }
}
events{}

Explanation of Configuration

The provided Nginx configuration file consists of the following directives:

  • http This directive marks the beginning of the HTTP block, which defines global settings for Nginx.

  • include mime.types; This directive includes the mime.types file, which maps file extensions to their corresponding MIME types.

  • server This directive defines a server block within the HTTP block. A server block defines how Nginx handles requests for a specific domain name or port.

  • listen 2292; This directive specifies the port (2292) on which Nginx should listen for incoming connections.

  • root /Users/vivek/Desktop/SAAS/saas_client/dist/sfms/browser; This directive sets the root directory from which Nginx should serve static files. [above location is location of build artifacts]

  • In this case, the Angular application’s built output is located in the specified directory.

Replacing Default nginx.conf

  • To use the above configuration, follow these steps:

3… Locate the default nginx.conf file in the Nginx installation directory (typically C:nginxconf on Windows).

4… Replace the contents of the default nginx.conf file with the configuration provided above.

5… Save the changes to the nginx.conf file.

Basic Nginx Commands

  • To start Nginx: Open Command Prompt and navigate to the Nginx directory (cd C:nginx) and then run nginx.exe.

  • To stop Nginx: Use the command nginx.exe -s stop.

  • To reload Nginx configuration: Use the command nginx.exe -s reload.

6… go to browser and hit localhost:2209

7… its done!!!😀

The post How to Serve an Angular App with Nginx appeared first on ProdSens.live.

]]>
https://prodsens.live/2024/04/15/how-to-serve-an-angular-app-with-nginx/feed/ 0
Build your first custom AI-powered application with LangChain https://prodsens.live/2023/12/17/build-your-first-custom-ai-powered-application-with-langchain/?utm_source=rss&utm_medium=rss&utm_campaign=build-your-first-custom-ai-powered-application-with-langchain https://prodsens.live/2023/12/17/build-your-first-custom-ai-powered-application-with-langchain/#respond Sun, 17 Dec 2023 16:25:24 +0000 https://prodsens.live/2023/12/17/build-your-first-custom-ai-powered-application-with-langchain/ build-your-first-custom-ai-powered-application-with-langchain

About LangChain Using language models like ChatGPT and Bard is simple, but making full AI applications often means…

The post Build your first custom AI-powered application with LangChain appeared first on ProdSens.live.

]]>
build-your-first-custom-ai-powered-application-with-langchain

About LangChain

Using language models like ChatGPT and Bard is simple, but making full AI applications often means combining different tools, which can be hard. That’s where LangChain helps. It’s like a toolbox that makes building powerful AI apps easier. You don’t have to do a lot of complicated coding or set up complex stuff. LangChain makes it simpler by handling the integration part for you. You can build amazing things like chatbots, document summarization tools, and automated web Research.

What is LangChain?

It is an open-source framework that enables developers to combine large language models, such as GPT-4, with external sources of computation and data. Offered as a Python or JavaScript package.

Capabilities of the applications built ?

It is a framework for Python and JavaScript that simplifies the development of applications powered by generative AI and large language models.

These applications are:

Aware of the context:This means that applications can connect to different sources of information, for example, prompts or content, giving them a way to understand what is going on around them.

Capable of reasoning:The application can be connected to a large language model like OpenAI, Cohere, or Hugging Face. This enables the application to answer based on the context it is given.

Applications created with LangChain, explore

LangChain Framework Overview

It has six components that help to build the application for a specific use case.

Model I/O (Input/Output):

This works as the communication link between the LangChain and the selected language model. It helps in managing the instructions, asking questions, and getting answers.

Image description

Continue reading the full article to learn how to get started with in building an AI Agent.

The post Build your first custom AI-powered application with LangChain appeared first on ProdSens.live.

]]>
https://prodsens.live/2023/12/17/build-your-first-custom-ai-powered-application-with-langchain/feed/ 0
First 15 Open Source Advent projects https://prodsens.live/2023/12/16/first-15-open-source-advent-projects/?utm_source=rss&utm_medium=rss&utm_campaign=first-15-open-source-advent-projects https://prodsens.live/2023/12/16/first-15-open-source-advent-projects/#respond Sat, 16 Dec 2023 04:24:14 +0000 https://prodsens.live/2023/12/16/first-15-open-source-advent-projects/ first-15-open-source-advent-projects

Just 10 days to go! We launched Open Source Advent at the begininng of this month to celebrate…

The post First 15 Open Source Advent projects appeared first on ProdSens.live.

]]>
first-15-open-source-advent-projects

Just 10 days to go!

We launched Open Source Advent at the begininng of this month to celebrate 25 different open source projects. It has been fun sharing these projects and I thought I would reshare the first 15 projects! Take a look at the repo, try the tutorial and let us know what you build!

1. Milvus by Zilliz | Github

Milvus is an open-source vector database that powers embedding similarity search and AI applications and strives to make vector search accessible to every organization. Milvus can store, index, and manage a billion+ embedding vectors generated by deep neural networks and other machine learning (ML) models. It is the project we all work on here at Zilliz, so, of course it is on the list. 😇

2. FiftyOne by Voxel51 | Github | tutorial

FiftyOne is the open source toolkit for building high-quality datasets and computer vision models. With FiftyOne you can visualize, curate, manage, and QA data, and automate the workflows that make enterprise machine learning possible. They spoke at the last Unstructured Meetup and you can check out the recording here (29:10 – Speaker Jacob Marks, Vector search with computer vision data using Voxel51)

3. Quivr | GitHub | tutorial

Quivr is your personal productivity assistant to chat with your dumped files (PDF, CSV) & apps using GPT 3.5 / 4 turbo, Private, Anthropic, VertexAI, LLMs that you can share with users! Alternative to OpenAI GPTs.

4. Haystack by Deepset | Github | tutorial

Haystack is an end-to-end NLP framework that enables you to build applications powered by LLMs, Transformer models, vector search, and more. Whether you want to perform question answering, answer generation, semantic document search, or build tools capable of complex decision-making and query resolution, you can use state-of-the-art NLP models with Haystack to build end-to-end NLP applications to solve your use case. We have a video on some examples of retrieval augmentation in Haystack.

5. Proton by Timeplus | Github | tutorial

Proton is a streaming analytics database, based on ClickHouse, written in C++. Fast. Powerful, Easy

6. Ydata-synthetic and Ydata-profiling by YData | Github | tutorial

Ydata-profiling is a Python package for automated Data Quality profiling reports in a single line of code. Ydata-synthetic is a package to generate synthetic tabular and time-series data with state-of-the-art generative models.

Apache Flink is the leading framework and distributed processing engine for stateful computations over unbounded and bounded data streams.

8. LangChain RB | Github | tutorial

LangChain RB is an original Langchain-inspired Ruby framework. The goal is to abstract complexity and difficult concepts to make building AI/ML-supercharged applications approachable for traditional Ruby software engineers. If you are a Ruby fan, we have a video to show you how to build a GenAI App End-to-End with Ruby

9. Flyte by Union AI | Github | tutorial

Flyte is an open-source orchestrator that facilitates building production-grade data and ML pipelines. It is built for scalability and reproducibility, leveraging Kubernetes as its underlying platform. With Flyte, user teams can construct pipelines using the Python SDK and seamlessly deploy them in both cloud and on-premises environments, enabling distributed processing and efficient resource utilization.

10. DVC by Iterative | Github | tutorial

DVC is a command line tool to help you develop reproducible machine learning projects.

11. Phoenix by Arize AI | Github | tutorial

Phoenix is Arize AI’s open-source observability library designed for experimentation, fine-tuning, and troubleshooting your LLM, CV, and NLP models in a notebook.

12. TruLens by TruEra | Github | tutorial

Observability of LLM and Multimodal apps with deep instrumentation and comprehensive evals.

13. OpenLLM by BentoML | Github | tutorial

OpenLLM is an open-source platform designed to facilitate the deployment and operation of large language models (LLMs) in real-world applications. With OpenLLM, you can run inference on any open-source LLM, deploy them on the cloud or on-premises, and build powerful AI applications.

14. LabelStudio by Human Signal | Github | tutorial

A flexible data labeling tool for all data types. Prepare training data for computer vision, natural language processing, speech, voice, and video models.

15. LlamaIndex | Github | tutorial

LamaIndex is a data framework for LLM-based applications to ingest, structure, and access private or domain-specific data.

The post First 15 Open Source Advent projects appeared first on ProdSens.live.

]]>
https://prodsens.live/2023/12/16/first-15-open-source-advent-projects/feed/ 0
L1, rollup, or appchain – How to find the right blockchain for your dApp? https://prodsens.live/2023/11/28/l1-rollup-or-appchain-how-to-find-the-right-blockchain-for-your-dapp/?utm_source=rss&utm_medium=rss&utm_campaign=l1-rollup-or-appchain-how-to-find-the-right-blockchain-for-your-dapp https://prodsens.live/2023/11/28/l1-rollup-or-appchain-how-to-find-the-right-blockchain-for-your-dapp/#respond Tue, 28 Nov 2023 09:25:07 +0000 https://prodsens.live/2023/11/28/l1-rollup-or-appchain-how-to-find-the-right-blockchain-for-your-dapp/ l1,-rollup,-or-appchain-–-how-to-find-the-right-blockchain-for-your-dapp?

The world of blockchain has now an explosion in the number of active decentralized applications and users engaging…

The post L1, rollup, or appchain – How to find the right blockchain for your dApp? appeared first on ProdSens.live.

]]>
l1,-rollup,-or-appchain-–-how-to-find-the-right-blockchain-for-your-dapp?

The world of blockchain has now an explosion in the number of active decentralized applications and users engaging with them. However, this surge in usage has also exposed the limitations of legacy blockchain architectures and gave birth to new solutions that better suits our needs. 

The three major categories of blockchains that are being used now are Layer 2 rollups, alternative layer1 chains, and appchains.

One of the most important decisions now for dApp developers is to identify the right blockchain platform for their specific application needs. There is no one-size-fits-all solution – factors like scalability requirements, security needs, customizability, composability, developer experience, and costs must be weighed carefully.

The right blockchain choice can empower a dApp with the capabilities needed for long-term success and adoption. This guide explores the key blockchain architectures in-depth, including their unique pros and cons, to provide a framework for making this crucial decision.

Main Factors to Consider

When evaluating blockchain options, dApp developers should begin by outlining their application’s technical and functional requirements today as well as anticipated needs over time as adoption grows. Key factors to consider include:

Scalability Requirements

The blockchain must provide the transaction throughput needed to deliver a smooth user experience as demand increases. Slow speeds or high latency due to congestion will frustrate users.

  • What are the application’s TPS needs today and in the future? 
  • How many daily average active users are there currently?
  • Can there be spikes in transactions due to sudden demand? Something like we have seen in NFT minting cases or games. 
  • Having precise scalability requirements will make tradeoff decisions clearer later on.

    Security Level Needed 

    All blockchains aim to provide a decentralized and tamper-proof execution environment, but they employ varying strategies to achieve this. dApps with mission-critical functions may require deeper decentralization and security guarantees. Make sure you have answers to the below questions before you make any choice. 

  • Does the app handle high-value transactions or sensitive data?
  • What degree of decentralization through validator nodes is desired?
  • Will the app benefit from leveraging an popular L1 blockchain’s security?
  • Rolling out custom security measures on a less decentralized chain may be complex, costly and hard to achieve.

    Customizability

    Some blockchains allow the core protocol and parameters to be customized versus others that take a more fixed, “generic” approach. This allows an app to tailor the platform to its usage needs more closely. 

  • Does the app require special protocol optimizations like custom gas tokens, own consensus, etc?  
  • Is on-chain governance a priority, to steer the platform’s evolution?
  • Will adjusting economic parameters like staking yields or inflation rates benefit the app?
  • Higher customizability enables tighter blockchain-app integration but may require more ground work.

    Composability & Interoperability:

    The ability for the blockchain to import dApps from other chains seamlessly, or may be an easy interoperability with other protocols is another key thing to consider. Questions similar to the below might give you answer to this part:  

  • Will users need to move assets between the app and other platforms?
  • Are there complementary apps in other ecosystems that could provide integrated services?
  • Does the app rely on external data feeds or oracles?
  • Higher composability unlocks more functionality but may have some architectural constraints.

    Developer Experience

    The availability of documentation, tools, infrastructure, and community support is crucial for both the core development team and external developers building on top of the platform.

  • Is the blockchain stack and tooling well documented, if it’s a new blockchain? 
  • Are skilled developers for the platform’s language available?
  • Is there an active community for seeking help and collaborating?
  • What sample apps, tutorials, and resources exist?
  • A better dev experience enables moving faster but may limit technology choices sometimes. 

    Costs 

    In public blockchains, factors like transactions fees, gas costs for computation, and running validator infrastructure impact operations. The app’s revenue model and user profile influences its sensitivity to costs.

  • Can the app absorb high variable transaction fees or gas costs?
  • Does the app require predictability around costs for budgeting purposes?
  • Can validator operation be sustained long-term with target margins?
  • Higher costs may limit adoption and commercial viability of the app.

    By keeping these parameters in mind while assessing each blockchain architecture, an informed choice aligned with the app’s needs can be made. 

    In the next section, we will explore the architectures and their distinguishing pros and cons.

    Architecture Deep Dives

    Layer 2 Rollups

    Layer 2 rollups have emerged as a popular scalability solution for enhancing transaction throughput on Layer 1 chains like Ethereum. They function by handling transaction execution and data processing “off-chain” while inheriting the underlying L1’s security guarantees. 

    Rollups batch hundreds of transfers off-chain and generate a compact cryptographic proof. This proof is periodically posted to the L1 chain along with the new state root, allowing transactions to be verified trustlessly while retaining the L1’s decentralization and security. 

    Rollups represent a modular approach to scaling, as execution and data availability layers are decoupled from the security layer. This enables independent optimization while reusing battle-tested L1s like Ethereum for security, instead of launching entirely new chains.

    Mainly two main categories of Rollups exists today. 

  • Optimistic Rollups 
  • zk Rollups
  • Optimistic rollups assume transactions are valid by default but have a withdrawal delay period where invalid state transitions can be challenged. Invalid transactions are reversed while honest transactions are finalized faster. On the other hand, zkRollups use succinct cryptographic proofs called zk-SNARKs to mathematically prove the validity of state transitions. Transactions are instantly finalized with no challenge period.

    Here are some of the key advantages rollups offer to dApp developers:

  • Improved Scalability: Rollups can achieve better TPS compared to its base chain. This is vital for developing scalable applications.
  • Lower Fees: By batching transfers off-chain, rollups reduce fees multiple times compared to L1. This improves user experience and reduces initial barrier.
  • L1 Security: Rollups inherit the strong security guarantees of chains like Ethereum or Polygon leveraging their decentralized consensus and validator pools.
  • Composability Within Ecosystem: Apps on the same rollup chain can seamlessly interoperate, enabling integrated dApp workflows. For appRollups, there could be a seamless communication with the base chain ecosystem and the rollup. 
  • Familiar Tooling: Ethereum rollups allow using Solidity and EVM, reusing developer skill sets and tools.
  • However, rollups also come with downsides also. Like, Rollups rely on the underlying L1’s protocol, limiting customization of core chain mechanics. If you want to get your assets back to L1, it will be through bridges. This can be costly, slow and the bridge UX could be complex for average users. Another concern is obviously, the use of centralized sequencers. Interoperability between different rollup chains is also limited at the moment which could lead to an walled garden ecosystem of thousands of rollups. 

    Though significant advancements are being made to tackle this issue. Polygon CDK is one of the prominent name here that aims to address this walled garden issues for appRollups. 

    Talking about its best usages, Rollups are a natural fit for apps already integrated in Ethereum or a similar ecosystem and wanting to retain the network effects. For entirely new apps with complex needs, the lack of customizability and isolation of rollup ecosystems may be limitations.

    Alternative Layer 1s

    Rather than using rollups to scale existing L1s, another option is to build on entirely new alternative Layer 1 blockchains designed from scratch for higher throughput and better customizability.

    Unlike Ethereum which uses a single-chain architecture, these next-gen Alt L1s employ technical innovations like sharding, parallel execution, and optimized consensus algorithms to deliver dramatically higher TPS figures.

    Some prominent existing examples include Polygon PoS, Polygon zkEVM, NEAR, Aptos, Coreum, zkSync Era, DCOMM and Tezos. Many other new players are coming up as well.

    Here are some advantages of these high-performance Alt L1s:

  • Extremely High Throughput: Alt L1s exceed thousands in TPS, enabling demanding apps across sectors.
  • Low Latency: Predictable block times and high TPS provides a smooth user experience.
  • Cheap Transactions: Lower network congestion keeps transaction fees negligible, around $0.01 on average.
  • Rich Ecosystems: Many existing Alt L1s already have hundreds of live dApps, developers, and users
  • New Technical Capabilities: Sharded architectures, WASM/EVM support, native interoperability, and more expand the design space.
  • However, Alt L1s also have some disadvantages like other solutions. There could be a security issue if the validator sets are not sufficiently decentralized. If the ecosystem is not large enough, your dapp could be in an isolated environments with limited cross-chain interoperability. Opting for Rust, Haskell, Move or any new language over the popular ones like solidity requires new developer skill sets.

    For many consumer apps like games or social platforms that require high scalability and low costs, building directly on a high-performance Alt L1 may be the best fit. A strong developer community on the chain is helpful, though. Those prioritizing decentralization, composability, and leveraging Ethereum’s network effects may still prefer certain layer 2 rollup solutions however.

    Appchains: 

    Rather than deploying a dApp on a shared “generic” blockchain network, teams can also build their own fully customizable application-specific blockchains, known as appchains.

    Appchains function similarly to an independent Alt L1 but are optimized purely for a specific use case rather than being general purpose. Control remains entirely in creators’ hands.

    Two common approaches for creating such blockchains:

  • Using Frameworks (Cosmos SDK, Substrate): It has modules for customization, interoperability and everything.
  • Leveraging existing app-chain solutions on L1s: They utilize parent chain’s security with added scalability. Example: Avalanche Subnets, Polygon Supernet & CDK Chains
  • Here’re some example appchains from different ecosystems:

    – dYdX – dYdX became a Cosmos-based appchain with fully decentralized, off-chain order book and matching engine.

    – Energy Web Chain – A Polkadot Parachain with a singular focus on energy sector

    – RYMEDI Subnet – Healthcare tech giant Rymedi launched 3 Avalanche Subnets

    – Plena Finance: This leading DeFi project has launched its own Polygon CdK powered zkChain

    Here are some benefits appchains provide:

  • Sovereign Control: Teams retain full control over validator choice, gas token, consensus and other things.
  • Optimized for Use Case: The stack can be customized exactly for the target application.
  • Scalability: Dedicated throughput for a single app allows pushing limits.
  • Shared Security: (Optional) Avalanche Subnets and Polygon CDK Chains leverage the security of their base chain by default. For Cosmos SDK chains you can choose to get liquidity of the Cosmos hub if you wish. Same for Substrate chains. You can run its as a parachains connected to Polkadot relay chains. 
  • The main disadvantages of building on an appchain are: finding validators, providing liquidity maintaining an entire network, which is more than just running a few nodes.  

    Talking about the use cases, for applications that have complex needs and want sovereignty over their blockchain environment, developing a custom appchain can make sense once sufficient scale and product-market fit is achieved.

    Shared security and composability with external chains via bridges and protocols like IBC, XCMP,  LXLY bridge of Polygon CDK can help mitigate these downsides. Teams can consider appchain strategies as part of a phased roadmap also, after proving core product utility on base L1s first.

    Here’s the TLDR: 

    Image description

    Based on analyzing various real-world projects, we can extract some best practices for aligning architectures with app goals:

  • Applications requiring high scalability with many concurrent users fare best on high-performance Alt L1s, at the cost of some decentralization.
  • Apps wanting Ethereum’s security guarantees can achieve scaling through rollups. 
  • For ultimate customizability and control, build an application-specific appchain aligned with the product roadmap.
  • New apps with unproven product-market fit may prioritize leveraging existing L1 communities over custom chains.
  • Shared security systems like Cosmos Hubs, Avalanche C Chain, Polygon’s PoS or zkEVM chain, Polkadot’s relaychain can support with required liquidity and security for appchains.  Because of their battle-tested validation.
  • Be flexible – as products and chains evolve, migration between architectures may be necessary to stay aligned.
  • By benchmarking options versus core priorities, teams can smartly navigate tradeoffs and engineering costs.

    Conclusion

    Selecting the ideal blockchain to power a dApp is one of the most impactful technology decisions project teams have to make. With new layer 2, alternative L1, and appchain architectures emerging, there are now more scalable options than ever to choose from.

    However, there is no universal “best” solution. The right technical design depends completely on the unique goals and needs of the application as we discussed throughout the article. 

    Teams should thoroughly analyze their technical requirements today and anticipated growth trajectory before evaluating how well each solution can fulfill them given their respective tradeoffs.

    In case you are looking for help regarding your right infrastructure choice or may be need the right guidance regarding your migration from existing systems, get in touch with Zeeve experts. We ensure you go to production with minimal turnaround time, a minimum cost and a all managed solution with enterprise-grade security best parctices. 
    Visit Zeeve today and explore our Rollup-as-a-service solutions, appchain infrastructure, dedicated nodes and hosted subgraphs. We are happy to help you with all your development needs!

    The post L1, rollup, or appchain – How to find the right blockchain for your dApp? appeared first on ProdSens.live.

    ]]>
    https://prodsens.live/2023/11/28/l1-rollup-or-appchain-how-to-find-the-right-blockchain-for-your-dapp/feed/ 0
    Build Your Keyword Tool with Python and ChatGPT: A Subreddit Insights Guide https://prodsens.live/2023/11/23/build-your-keyword-tool-with-python-and-chatgpt-a-subreddit-insights-guide/?utm_source=rss&utm_medium=rss&utm_campaign=build-your-keyword-tool-with-python-and-chatgpt-a-subreddit-insights-guide https://prodsens.live/2023/11/23/build-your-keyword-tool-with-python-and-chatgpt-a-subreddit-insights-guide/#respond Thu, 23 Nov 2023 03:25:34 +0000 https://prodsens.live/2023/11/23/build-your-keyword-tool-with-python-and-chatgpt-a-subreddit-insights-guide/ build-your-keyword-tool-with-python-and-chatgpt:-a-subreddit-insights-guide

    Learn to create SEO Chrome extensions with ChatGPT. Use this step-by-step instruction to bring your innovative SEO tool…

    The post Build Your Keyword Tool with Python and ChatGPT: A Subreddit Insights Guide appeared first on ProdSens.live.

    ]]>
    build-your-keyword-tool-with-python-and-chatgpt:-a-subreddit-insights-guide

    Learn to create SEO Chrome extensions with ChatGPT. Use this step-by-step instruction to bring your innovative SEO tool ideas to life.

    The post Build Your Keyword Tool with Python and ChatGPT: A Subreddit Insights Guide appeared first on ProdSens.live.

    ]]>
    https://prodsens.live/2023/11/23/build-your-keyword-tool-with-python-and-chatgpt-a-subreddit-insights-guide/feed/ 0