Saturday, February 24, 2024

Linux "Homelab"





What is a Homelab and Why Should You Have One?

Homelab is the name given to a server (or multiple server setup) that resides locally in your home and where you host several applications and virtualized systems for testing and developing or for home and functional usage.

This server can be a simple tower or small PC or a Raspberry Pi like device or a repurposed professional server that you can acquire from companies who discard them due to their age but are still usable.


Groq: AI chip company; LPU

CPU, GPU, ... LPU = Language Processing Unit

overnight success, 8 years in making...

it is much faster than ChatGPT!

Groq 

 World, Meet Groq - Groq

Groq is introducing a new, simpler processing architecture designed specifically for the performance requirements of machine learning applications and other compute-intensive workloads. The simpler hardware also saves developer resources by eliminating the need for profiling, and also makes it easier to deploy AI solutions at scale.

E167: Nvidia smashes earnings (again), Google's Woke AI disaster, Groq's LPU breakthrough & more - YouTube All-in Podcast @YouTube


Groq: Overview | LinkedIn

Groq - Crunchbase Company Profile & Funding

AI Chip Startup Groq, Founded By Ex-Googlers, Raises $300 Million To Power Autonomous Vehicles And Data Centers




Google Cloud for Startups: AI or web3

"free" money, or "credit?"



Up to $200,000 USD (up to $350,000 USD for AI startups) in cloud credits over 2 years

On top of the benefits in the Google for Startups Cloud Program,
there are additional benefits for AI startups or Web3 startups.

HTML to MD (MarkDown) to HTML

node-html-markdown - npm

58K downloads, MIT

crosstype/node-html-markdown: Fast HTML to markdown converter for NodeJS or the browser @GitHub


turndown - npm

486K downloads, MIT

mixmark-io/turndown: 🛏 An HTML to Markdown converter written in JavaScript @GitHub


showdownjs/showdown: A bidirectional Markdown to HTML to Markdown converter written in Javascript @GitHub MIT lincense

Showdown is a JavaScript Markdown to HTML converter, based on the original works by John Gruber. Showdown can be used client side (in the browser) or server side (with Node.js).

Showdownjs - A markdown to HTML converter

Introduction - Showdown documentation

showdown - npm
585K downloads, MIT



Friday, February 23, 2024

Nvidia stock price growth

+$270B in a day!

Markets News, Feb. 23, 2024: Stocks Close Mixed to Cap Winning Week; Nvidia Briefly Tops $2T

Nvidia (NVDA) briefly jumped above a $2 trillion market capitalization in early trading, making it only the fourth U.S. company to reach the milestone. The company added $270 billion to its market cap yesterday in the largest ever single-day jump in market value.

nvidia stock price - Google Search

E167: Nvidia smashes earnings (again), Google's Woke AI disaster, Groq's LPU breakthrough & more -
All-in-podcast @YouTube

revenue



ML training data: Bikeshare rides

 System Data | Capital Bikeshare

...  invite developers, engineers, statisticians, artists, academics and other interested members of the public to use the data we provide for analysis, development, visualization

Index of bucket "capitalbikeshare-data"



AI: Semantic Kernel vs LangChain

Semantic Kernel 101

Currently, the Copilot approach rules the artificial intelligence (AI) world, and in that world, Microsoft created Semantic Kernel as a framework for building its own Copilots. Now, you can use Semantic Kernel too. Semantic Kernel (SK) is an open-source AI framework, created by Microsoft for .NET, Python, and Java developers working with Large Language Models (LLMs). Its purpose is threefold: To abstract away the underlying LLMs, APIs and tooling; to handle more complex implementations in a generic way; and to make it easy to integrate your own content. Semantic Kernel is very similar to LangChain, a popular open source LLM framework for Python and JavaScript





C#, Python, Jupyter




LangChain is a framework designed to simplify the creation of applications using large language models (LLMs). As a language model integration framework, LangChain's use-cases largely overlap with those of language models in general, including document analysis and summarizationchatbots, and code analysis.

Python, Jupyter


Thursday, February 22, 2024

Microsoft Cloud Skills Challenge | 30 Days to Learn It

Microsoft Cloud Skills Challenge | 30 Days to Learn It

Become eligible for 50 percent off the cost of a Microsoft Certification exam by completing a challenge within 30 days


Microsoft Azure AI courses @ Coursera

Microsoft Azure AI Fundamentals AI-900 Exam Prep | Coursera

available "audit" as a free option, with some limitations

besides good video introductions, the courses include many exercises
that require Azure subscription (free trial available)

Artificial Intelligence on Microsoft Azure
Course 1•3 hours•4.6(326 ratings)

Microsoft Azure Machine Learning
Course 2•11 hours•4.5(156 ratings)

Computer Vision in Microsoft Azure
Course 3•8 hours•4.7(70 ratings)

Natural Language Processing in Microsoft Azure
Course 4•7 hours•4.7(72 ratings)

Preparing for AI-900: Microsoft Azure AI Fundamentals exam
Course 5•9 hours•4.7(67 ratings)


Wednesday, February 21, 2024

Hyperloop in China?

China just proved that Elon Musk's Hyperloop idea was actually genius - YouTube

a "maglev" fast train in partial vacuum... very expensive, very fast, but how useful?

Maglev - Wikipedia

Is China is running out of expensive mega-projects?

Hyperloop as originally proposed would not be as expensive, and would be useful.

In fact it was proposed as a better alternative to "fast trains"

Hyperloop - Wikipedia


ASP.NET basics for experts

.NET intro from experts on other platforms, such as Java... 

ASP.NET Basics for Experts | Microsoft Learn

what if you could take your web applications to the next level just by getting the fundamentals right?

.NET Conf 2023


Hanselminutes Technology Podcast - Fresh Air and Fresh Perspectives for Developers - ASP.NET Basics for Experts with Layla Porter



Monday, February 19, 2024

freeCodeCamp: C#

Hanselminutes Technology Podcast - Fresh Air and Fresh Perspectives for Developers - Education should be Free with FreeCodeCamp's Quincy Larson

with Quincy Larson, the teacher who founded freeCodeCamp.org
+ new C# Certification program in partnership with Microsoft and freeCodeCamp, empowering learners to master this powerful language and build their tech careers.

(New) Foundational C# with Microsoft Certification | freeCodeCamp.org

a comprehensive introduction to C# programming, covering its core concepts, syntax, and practical application in software development.


course: WebAssembly (WASM) @ KodeKloud

interesting convergence: DevOps, K8s, Dev

Exploring WebAssembly (WASM) - KodeKloud

Unlock the power of WebAssembly (WASM) with our comprehensive course, diving deep into its foundational principles and unveiling its transformative applications in modern web development and cloud computing




Sunday, February 18, 2024

StoryGraph DB,AI: Cloud => baremetal, with Cloud 66

2 people startup, 2 millions of users (!), profitable!

to keep it functioning and profitable,
needed to move out of (PaaS) cloud (Heroku) to "baremetal cloud",
with Cloud 66 · Everything you need to run your code to any cloud

Rails + "local" DB, local AI

excellent podcast!

Hanselminutes Technology Podcast - Fresh Air and Fresh Perspectives for Developers - Local AI empowers startups with StoryGraph's Rob Frelow


The StoryGraph | Because life's too short for a book you're not in the mood for


The StoryGraph - Wikipedia

The StoryGraph (sometimes shortened to just "StoryGraph") is a social cataloguing web platform for books, serving as a competitor of Goodreads (an Amazon-owned social cataloguing platform). The StoryGraph received awareness after Book Riot covered the platform's assets, including more personalized recommendations for readers, customized ratings options (including half-star and quarter-star ratings), and its non-affiliation with Amazon. The StoryGraph uses a freemium model, with some features only available in the paid subscription plan.

The StoryGraph | Our Team

A Word of Warning | Nadia Odunayo | TEDxUCSD - YouTube TED talk

Getting to One Million Users as a One-Woman Dev — Nadia Odunayo - YouTube Rails talk

Nadia Odunayo | LinkedIn


example book:

Areté: Activate Your Heroic Potential by Brian Johnson | The StoryGraph
Powered by AI (Beta)
Areté: Activate Your Heroic Potential by Brian Johnson is a good fit for individuals seeking practical tools and ancient wisdom to help them overcome life's challenges and fulfill their destiny, with a focus on personal growth and self-improvement.


Is Cloud 66 a "new Heroku?"

Why "baremetal" / dedicated cloud? to get predictable performance and cost, no "noisy neighbor" and security issues, and for sw licensing. Examples:


strangely, Oracle cloud is not listed on Cloud66, while this is one of differentiating features Oracle is claiming... 

similar functionality: dedicated hosts


Dome Homes, NJ

575 Atsion Rd - Google Maps

575 Atsion Rd, Vincentown, NJ 08088 | Zillow







Vector databases for AI embeddings


In natural language processing, a sentence embedding refers to a numeric representation of a sentence in the form of a vector of real numbers which encodes meaningful semantic information.

A vector database management system (VDBMS) or simply vector database or vector store is a database that can store vectors (fixed-length lists of numbers) along with other data items. Vector databases typically implement one or more Approximate Nearest Neighbor (ANN) algorithms,[1][2] so that one can search the database with a query vector to retrieve the closest matching database records.

Vector databases can be used for similarity search, multi-modal search, recommendations engines, large language models (LLMs), etc


vector databases

A vector database indexes and stores vector embeddings for fast retrieval and similarity search, with capabilities like CRUD operations, metadata filtering, horizontal scaling, and serveless.

AI (LLMs) rely on vector embeddings, a type of vector data representation that carries within it semantic information that’s critical for the AI to gain understanding and maintain a long-term memory they can draw upon when executing complex tasks.



Pinecone serverless lets you deliver remarkable GenAI applications faster, at up to 50x lower cost.


@Github, Apache, GoLang
Milvus is an open-source vector database built to power embedding similarity search and AI applications. 


courses on Udemy

"Learn Vector Database using Python, Pinecone, LangChain, Open AI, Hugging Face and build out AI, ML , Chat applications" 7.5h
by Dr. KM Mohsin

1.5h


FAISS local vectorstore


tutorials


a good brief explanation of LLMs (AI transformers models), embeddings, "attention", with examples






Saturday, February 17, 2024

🔥Mojo faster than Rust language!

Mojo is a new language, a superset of Python, with a toolset for optimizing performance.
In particular it is intended to speed up AI/ML payloads, on diverse computing hardware.

Rust is a relatively new language designed to provide performance of C++ with safety. 

The interesting part is that both of those languages are using same LLVM compiler platform created by creator of Mojo language, Chris Lattner. So at least "in theory" it is possible that Mojo could end up with comparable, or better performance, with very readable and relatively easy to learn syntax of Python. 

With a great team, and $100M funded startup, that is very promising.

Modular: Community Spotlight: Outperforming Rust ⚙️ DNA sequence parsing benchmarks by 50% with Mojo 🔥

100x benchmark improvements over Python, and a 50% improvement over the fastest implementation in Rust.

A look at the Mojo language for bioinformatics


Mojo Is FASTER Than Rust - YouTube


MAX: Modular Accelerated Execution Platform
MAX is an integrated, composable suite of products that simplifies your AI infrastructure so you can develop, deploy, and innovate faster.


Mojo (programming language) - Wikipedia


Mojo 🔥: Programming language for all of AI

Mojo files use the .mojo or .🔥 file extension.





Kubernetes "depends-on" solution

Docker supports "depends_on" feature to define dependency between containers.

Kubernetes deployment is more involved, since it is distributed, and equivalent features in not available directly. 

Instead, there is option to define "initContainers" that can implement logic to check if required services are available before starting the Pod's main container. The "init" could be a custom script with generic mini-shell container, or it could be a dedicated container.

There is also an option to add "annotations" that can help human understanding of dependencies, while not enforced directly by K8s.

What is the equivalent for depends_on in kubernetes - Stack Overflow

spec:
      initContainers:
      - name: wait-for-grafana
        image: darthcabs/tiny-tools:1
        args:
        - /bin/bash
        - -c
        - >
          set -x;
          while [[ "$(curl -s -o /dev/null -w ''%{http_code}'' http://grafana:3000/login)" != "200" ]]; do 
            echo '.'
            sleep 15;
          done
      containers:
          .
          .
  (your other containers)

Opsfleet/depends-on: Small utility & container to describe dependency relationship between Kubernetes deployments @GitHub (GoLang, MIT)

Kubernetes and Helm don't have a built-in mechanism to deploy pods in a specific order.

Solution: This small container allows you to add an InitContainer hook to all of your deployment YAML files to create a dependency relationship to other services and/or jobs in the same namespace:

initContainers:
- name: wait-for-services
  image: opsfleet/depends-on
  args:
  - "-service=mongodb"
  - "-service=rabbitmq"
  - "-job=myjob"

Declare dependencies between resource objects  |  Config & Policy  |  Google Cloud

# deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: wordpress
 
namespace: default
 
labels:
    app: wordpress
 
annotations:
    config.kubernetes.io/depends-on: apps/namespaces/default/StatefulSet/wordpress-mysql

Annotating Kubernetes Services for Humans | Kubernetes

apiVersion: v1
kind: Pod
metadata:
  name: worker
  annotations:
    a8r.io/dependencies: “services: db, redis”