Blog

  • cli

    NOTE

    The CLI is currently mostly out of date, tracking the previous major version of the Hypercore stack.

    Check out the individual repos instead, like Hypercore, Hyperbee, Hyperbeam, Hyperswarm

    Click to see the CLI README still

    Hyp

    [
    Demo Video |
    Installation |
    Usage |
    Overview |
    Website
    ]

    A CLI for peer-to-peer file sharing (and more) using the Hypercore Protocol.

    📺 Watch The Demo Video

    Installation

    Requires nodejs 14+

    npm install -g @hyperspace/cli
    

    To start using the network, run:

    hyp daemon start
    

    This will run in the background, sync data for you, until you run:

    hyp daemon stop
    

    Usage

    Command overview:

    Usage: hyp <command> [opts...]
    
    General Commands:
    
      hyp info [urls...] - Show information about one (or more) hypers.
      hyp seed {urls...} - Download and make hyper data available to the network.
      hyp unseed {urls...} - Stop making hyper data available to the network.
      hyp create {drive|bee} - Create a new hyperdrive or hyperbee.
    
      hyp beam {pass_phrase} - Send a stream of data over the network.
    
    Hyperdrive Commands:
    
      hyp drive ls {url} - List the entries of the given hyperdrive URL.
      hyp drive mkdir {url} - Create a new directory at the given hyperdrive URL.
      hyp drive rmdir {url} - Remove a directory at the given hyperdrive URL.
    
      hyp drive cat {url} - Output the content of the given hyperdrive URL.
      hyp drive put {url} [content] - Write a file at the given hyperdrive URL.
      hyp drive rm {url} - Remove a file or (if --recursive) a folder at the given hyperdrive URL.
    
      hyp drive diff {source_path_or_url} {target_path_or_url} - Compare two folders in your local filesystem or in hyperdrives. Can optionally "commit" the difference.
      hyp drive sync {source_path_or_url} [target_path_or_url] - Continuously sync changes between two folders in your local filesystem or in hyperdrives.
    
      hyp drive http {url} - Host a hyperdrive as using HTTP on the localhost.
    
    Hyperbee Commands:
    
      hyp bee ls {url} - List the entries of the given hyperbee URL.
      hyp bee get {url} - Get the value of an entry of the given hyperbee URL.
      hyp bee put {url} [value] - Set the value of an entry of the given hyperbee URL.
      hyp bee del {url} - Delete an entry of the given hyperbee URL.
    
    Daemon Commands:
    
      hyp daemon status - Check the status of the hyperspace daemon.
      hyp daemon start - Start the hyperspace daemon.
      hyp daemon stop - Stop the hyperspace and mirroring daemons if active.
    
    Aliases:
    
      hyp sync -> hyp drive sync
      hyp diff -> hyp drive diff
      hyp ls -> hyp drive ls
      hyp cat -> hyp drive cat
      hyp put -> hyp drive put

    Overview

    The Hypercore Protocol is a peer-to-peer network for sharing files and data. This command-line provides a convenient set of tools for accessing the network.

    There are two common kinds of “Hypercores”:

    • Hyperdrive A folder containing files.
    • Hyperbee A key-value database (similar to leveldb).

    All data has a URL which starts with hyper://. A URL will look like this:

    hyper://515bbbc1db2139ef27b6c45dfa418c8be6a1dec16823ea7cb9e61af8d060049e/
    

    You use these URLs to access the hyper data over the peer-to-peer network. For example:

    hyp ls hyper://515bbbc1db2139ef27b6c45dfa418c8be6a1dec16823ea7cb9e61af8d060049e/
    hyp cat hyper://515bbbc1db2139ef27b6c45dfa418c8be6a1dec16823ea7cb9e61af8d060049e/file.txt
    cat diagram.png | hyp put 515bbbc1db2139ef27b6c45dfa418c8be6a1dec16823ea7cb9e61af8d060049e/diagram.png
    

    You can create a new hyperdrive or hyperbee using the create commands:

    hyp create drive
    

    You can then seed the hyper (or seed a hyper created by somebody else) using the seed command:

    hyp seed hyper://515bbbc1db2139ef27b6c45dfa418c8be6a1dec16823ea7cb9e61af8d060049e/
    

    To see what hypers you are currently seeding, run info:

    hyp info
    

    Documentation

    The website documentation have a lot of useful guides:

    Visit original content creator repository
    https://github.com/hypercore-protocol/cli

  • mxtasking

    MxTasking: Task-based framework with built-in prefetching and synchronization

    MxTasking is a task-based framework that assists the design of latch-free and parallel data structures.
    MxTasking eases the information exchange between applications and the operating system, resulting in novel opportunities to manage resources in a truly hardware- and application-conscious way.

    Paper

    This is the code according to our paper MxTasks: How to Make Efficient Synchronization and Prefetching Easy.

    Jan Mühlig and Jens Teubner. 2021. MxTasks: How to Make Efficient Synchronization and Prefetching Easy. SIGMOD ’21: International Conference on Management of Data, 1331-1334. Download the PDF

    Dependencies

    For building

    Required

    • cmake >= 3.10
    • clang >= 10
    • clang-tidy >= 10
    • libnuma or libnuma-dev

    Optional

    • libgtest-dev for tests in test/

    For generating the YCSB workload

    • python >= 3
    • java
    • curl

    How to build

    • Call cmake . to generate Makefile.
    • Call make to generate all binaries.

    How to run

    For detailed information please see README files in src/application/<app> folders:

    Simple example for B Link Tree

    • Call make ycsb-a to generate the default workload
    • Call ./bin/blinktree_benchmark 1:4 to run benchmark for one to four cores.

    Hello World

    We build a small Hello World! example, located in src/application/hello_world.
    You might take a look to see how to use MxTasking.

    External Libraries

    Visit original content creator repository
    https://github.com/jmuehlig/mxtasking

  • kafka-log-aggregator

    Kafka streams Java application to aggregate messages using a session window
    
    See Blog post here: http://ericlondon.com/2018/07/26/kafka-streams-java-application-to-aggregate-messages-using-a-session-window.html
    
    # start zookeeper
    zookeeper-server-start $KAFKA_CONF/zookeeper.properties
    
    # start kafka
    $KAFKA_HOME/bin/kafka-server-start $KAFKA_CONF/server.properties
    
    # create topics
    $KAFKA_HOME/bin/kafka-topics --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic log-input-stream
    $KAFKA_HOME/bin/kafka-topics --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic log-output-stream
    
    # start console consumers
    $KAFKA_HOME/bin/kafka-console-consumer --bootstrap-server localhost:9092 --topic log-input-stream
    $KAFKA_HOME/bin/kafka-console-consumer --bootstrap-server localhost:9092 --topic log-output-stream
    
    # build jar
    ./gradlew clean shadowJar
    
    # run app
    java -cp "./build/libs/*" LogAggregatorApp
    
    # execute producer
    cd ruby && ./producer.rb
    
    # agg output
    [{"code":401,"message":"Unauthorized","count":8},{"code":500,"message":"Internal Server Error","count":8},{"code":301,"message":"Moved Permanently","count":6},{"code":403,"message":"Forbidden","count":6},{"code":503,"message":"Service Unavailable","count":4},{"code":400,"message":"Bad Request","count":4},{"code":200,"message":"OK","count":4},{"code":418,"message":"I\u0027m a teapot","count":3},{"code":422,"message":"Unprocessable Entity","count":3},{"code":304,"message":"Not Modified","count":2}]
    [{"code":503,"message":"Service Unavailable","count":7},{"code":302,"message":"Found","count":7},{"code":301,"message":"Moved Permanently","count":6},{"code":304,"message":"Not Modified","count":5},{"code":418,"message":"I\u0027m a teapot","count":5},{"code":400,"message":"Bad Request","count":5},{"code":422,"message":"Unprocessable Entity","count":4},{"code":200,"message":"OK","count":4},{"code":403,"message":"Forbidden","count":3},{"code":401,"message":"Unauthorized","count":2}]
    

    Visit original content creator repository
    https://github.com/EricLondon/kafka-log-aggregator

  • solon


    Solon v3.5.0

    Java enterprise application development framework for full scenario: Restrained, Efficient, Open
    [OpenAtom foundation, incubation project]

    https://solon.noear.org

    Maven Apache 2 jdk-8 jdk-11 jdk-17 jdk-21 jdk-24
    gitee star github star gitcode star

    Language: English | 中文 | Русский | 日本語

    700% higher concurrency 50% memory savings Startup is 10 times faster. Packing 90% smaller; It also supports java8 ~ java24, native runtime.
    Built from scratch, with more flexible interface specifications and an open ecosystem


    Features:

    Feature Description
    Better cost performance for computing resources 700% higher concurrency(techempower), 50% memory savings
    Faster development productivity Less code; Easy to get started; 10x faster startup (faster debugging)
    Better production and deployment experience Pack 90% smaller
    Greater range of compatibility Non-java-ee architecture; It also supports java8 ~ java24, graalvm native image

    Main code repository

    Code repository Description
    /opensolon/solon Solon ,Main code repository
    /opensolon/solon-examples Solon ,Official website supporting sample code repository
    /opensolon/solon-expression Solon Expression ,Code repository
    /opensolon/solon-flow Solon Flow ,Code repository
    /opensolon/solon-ai Solon Ai ,Code repository
    /opensolon/solon-cloud Solon Cloud ,Code repository
    /opensolon/solon-admin Solon Admin ,Code repository
    /opensolon/solon-jakarta Solon Jakarta ,Code repository(base java21)
    /opensolon/solon-integration Solon Integration ,Code repository
    /opensolon/solon-gradle-plugin Solon Gradle ,Plugin code repository
    /opensolon/solon-idea-plugin Solon Idea ,Plugin code repository
    /opensolon/solon-vscode-plugin Solon VsCode ,Plugin code repository

    Ecosystem Architecture Diagram:

    • solon

    • solon cloud

    Official website and related examples, cases:

    Special thanks to JetBrains for supporting open-source projects:

    JetBrains
    Visit original content creator repository https://github.com/opensolon/solon
  • solon


    Solon v3.5.0

    Java enterprise application development framework for full scenario: Restrained, Efficient, Open
    [OpenAtom foundation, incubation project]

    https://solon.noear.org

    Maven Apache 2 jdk-8 jdk-11 jdk-17 jdk-21 jdk-24
    gitee star github star gitcode star

    Language: English | 中文 | Русский | 日本語

    700% higher concurrency 50% memory savings Startup is 10 times faster. Packing 90% smaller; It also supports java8 ~ java24, native runtime.
    Built from scratch, with more flexible interface specifications and an open ecosystem


    Features:

    Feature Description
    Better cost performance for computing resources 700% higher concurrency(techempower), 50% memory savings
    Faster development productivity Less code; Easy to get started; 10x faster startup (faster debugging)
    Better production and deployment experience Pack 90% smaller
    Greater range of compatibility Non-java-ee architecture; It also supports java8 ~ java24, graalvm native image

    Main code repository

    Code repository Description
    /opensolon/solon Solon ,Main code repository
    /opensolon/solon-examples Solon ,Official website supporting sample code repository
    /opensolon/solon-expression Solon Expression ,Code repository
    /opensolon/solon-flow Solon Flow ,Code repository
    /opensolon/solon-ai Solon Ai ,Code repository
    /opensolon/solon-cloud Solon Cloud ,Code repository
    /opensolon/solon-admin Solon Admin ,Code repository
    /opensolon/solon-jakarta Solon Jakarta ,Code repository(base java21)
    /opensolon/solon-integration Solon Integration ,Code repository
    /opensolon/solon-gradle-plugin Solon Gradle ,Plugin code repository
    /opensolon/solon-idea-plugin Solon Idea ,Plugin code repository
    /opensolon/solon-vscode-plugin Solon VsCode ,Plugin code repository

    Ecosystem Architecture Diagram:

    • solon

    • solon cloud

    Official website and related examples, cases:

    Special thanks to JetBrains for supporting open-source projects:

    JetBrains
    Visit original content creator repository https://github.com/opensolon/solon
  • subscribe

    go-subscribe

    A (mostly generic) Subscription Library for Go.

    This library allows you to subscribe things (like users) to events.
    The library holds subscribers in memory. It can be also be configured
    to persist subscriptions to disk. The subscription database should scale
    to thousands of subscriptions with hundreds of request per second.
    If you need more, this library may not work for you; I do not know.

    Thread safe.

    The following is a very simple example. This library provides many other methods
    not shown here to deal with event and notification rules, pause/un-pausing, etc.

    package main
    
    import (
    	"fmt"
    	"time"
    
    	"golift.io/subscribe"
    )
    
    func main() {
    	// Instantiate an in-memory database. Passing a file-path here loads
    	// a DB from disk, or saves a new database to the file-path provided.
    	db, _ := subscribe.GetDB("")
    
    	// Create two new subscribers. Initial state has no subscriptions.
    	newSub := db.CreateSub("you@email.com.tw", "smtp", false, false)
    	newSub2 := db.CreateSub("+18089117234", "sms", false, false)
    
    	// Subscribe the users to an event. Errors only if subscription already exists.
    	_ = newSub.Subscribe("party invites")
    	_ = newSub2.Subscribe("party invites")
    
    	// Limit subscriber search to only email recipients. Initial state returns any API.
    	db.EnableAPIs = []string{"smtp"}
    
    	// Now that your party invites event has subscribers, you can find them when a party invite arrives.
    	subs := db.GetSubscribers("party invites")
    	fmt.Printf("Sending email to %d subscriber(s):\n", len(subs))
    
    	for _, sub := range subs {
    		fmt.Println(sub.Contact)
    		// send email.
    	}
    
    	// Limit subscriber search to only sms.
    	db.EnableAPIs[0] = "sms"
    	// Now that your party invites event has subscribers, you can find them when a party invite arrives.
    	subs = db.GetSubscribers("party invites")
    	fmt.Printf("Sending Text Msg to %d subscriber(s):\n", len(subs))
    
    	for _, sub := range subs {
    		fmt.Println(sub.Contact)
    		// send sms.
    	}
    
    	// if you want to save the DB:
    	err := db.StateFileRelocate("/var/lib/somewhere/for/a/file.json")
    	if err != nil {
    		fmt.Println("Unable to relocate DB:", err)
    		return
    	}
    
    	// save the DB once in a while, or after making changes.
    	ticker := time.NewTicker(time.Minute)
    	for range ticker.C {
    		err = db.StateFileSave()
    		// This always returns nil if state file path is empty: ""
    		if err != nil {
    			fmt.Println("Unable to save DB:", err)
    		}
    	}
    }

    Output:

    Sending email to 1 subscriber(s):
    you@email.com.tw
    Sending Text Msg to 1 subscriber(s):
    +18089117234
    Unable to relocate DB: open /var/lib/somewhere/for/a/file.json: no such file or directory
    

    Feedback, ideas and contributions welcomed!

    Visit original content creator repository
    https://github.com/golift/subscribe

  • mr-notes

    Mr-Notes

    Build Status

    This project was bootstrapped with Expressjs Generator.

    Live project available on Mr Notes.

    Gitpod

    This project is Gitpod ready. You can run this project.

    Setup Environment Value

    • Make copy of .envexample as .env .
    • Enter mongodb link in MONGODB_URL if you want to run this project for production,
      otherwise enter url in TESTDB_URL.
    • Default Node environment is development you can change it by replacing NODE_ENV value to PRODUCTION.

    Technology Use

    Backend Part

    • Nodejs (Programming language)
    • Expressjs (Framework)
    • Mongoosejs (Database)

    Frontend Part

    • HTML with EJS
    • Materialized CSS
    • jQuery
    • Google Fonts & Icons

    Test Script

    • Chai & Mocha
    • Supertest
    • Mockgoose
    • Postman

    Available Scripts

    In the project directory, you can run:

    npm install

    Install all the dependecies required for this project.

    npm run dev

    Runs the app in the development mode.
    Open http://localhost:3000 to view it in the browser.

    npm start

    Runs the app in the production mode.
    Open Deployed Site to view it in the browser.

    Pending development work

    Backend code

    • Email verification process
    • Forget password
    • Test script for every json responser
    • Data format validation
    • Cross check of Notes belonging to respective person
    • List assignment to a person (team dashboard)
    • Card transfer from one list to another list
    • Person adding new team member should be team creater
    • User profile updation
    • Google Oauth
    • Facebook Oauth
    • Linkedin Oauth

    Frontend page

    • Email verification
    • Forget password
    • Adding loader on every page
    • Password strength indicator on signup
    • Recaptcha on Login & signup
    • Card drag & drop to other list
    • List assignment to a person (team dashboard)
    • Profile editor
    Visit original content creator repository https://github.com/nikhiljainjain/mr-notes
  • flowpipe-mod-github

    GitHub Mod for Flowpipe

    GitHub pipeline library for Flowpipe, enabling seamless integration of GitHub services into your workflows.

    Documentation

    Getting Started

    Installation

    Download and install Flowpipe (https://flowpipe.io/downloads). Or use Brew:

    brew tap turbot/tap
    brew install flowpipe

    Clone:

    git clone https://github.com/turbot/flowpipe-mod-github.git
    cd flowpipe-mod-github

    Connections

    By default, the following environment variables will be used for authentication:

    • GITHUB_TOKEN

    You can also create connection resources in configuration files:

    vi ~/.flowpipe/config/github.fpc

    connection "github" "default" {
      token = "ghp_..."
    }

    For more information on connections in Flowpipe, please see Managing Connections.

    Usage

    Initialize a mod:

    mkdir my_mod
    cd my_mod
    flowpipe mod init

    Install the GitHub mod as a dependency:

    flowpipe mod install github.com/turbot/flowpipe-mod-github

    Use the dependency in a pipeline step:

    vi my_pipeline.fp

    pipeline "my_pipeline" {
    
      step "pipeline" "list_pull_requests" {
        pipeline = github.pipeline.list_pull_requests
        args = {
          repository_owner = "turbot"
          repository_name  = "flowpipe"
        }
      }
    }

    Run the pipeline:

    flowpipe pipeline run my_pipeline

    Developing

    Clone:

    git clone https://github.com/turbot/flowpipe-mod-github.git
    cd flowpipe-mod-github

    List pipelines:

    flowpipe pipeline list

    Run a pipeline:

    flowpipe pipeline run get_issue_by_number --arg 'issue_number=3997' --arg 'repository_owner=turbot' --arg 'repository_name=flowpipe'

    To use a specific connection, specify the conn pipeline argument:

    flowpipe pipeline run get_issue_by_number --arg 'issue_number=3997' --arg 'repository_owner=turbot' --arg 'repository_name=flowpipe' --arg conn=connection.github.github_profile

    For more examples on how you can run pipelines, please see Run Pipelines.

    Open Source & Contributing

    This repository is published under the Apache 2.0 license. Please see our code of conduct. We look forward to collaborating with you!

    Flowpipe is a product produced from this open source software, exclusively by Turbot HQ, Inc. It is distributed under our commercial terms. Others are allowed to make their own distribution of the software, but cannot use any of the Turbot trademarks, cloud services, etc. You can learn more in our Open Source FAQ.

    Get Involved

    Join #flowpipe on Slack →

    Want to help but not sure where to start? Pick up one of the help wanted issues:

    Visit original content creator repository
    https://github.com/turbot/flowpipe-mod-github

  • udapeople

    Visit original content creator repository
    https://github.com/MohamedSaidSallam/udapeople

  • slack-newspipe_v2

    Version

    Read and share news from around the world in Slack

    Wanna quickly look up a definition of slack-newspipe on Slack? Just type /newspipe help slash command! Newspipe bot responds you with a short description.

    slack-newspipe

    Install slack-newspipe_v2 on Slack

    Authenticate from this button!

    Login with Slack

    About slack-newspipe_v2

    slack-newspipe is a SailsJS app that display news from around the world in slack. Furthermore it is now possible to share news in Slack. All news are provided from NewsAPI.org

    How it works

    After installing newspipe you can use the /newspipe slash command anywhere in your team to read news. We display all news declared only visible to you so only you can read this message. For Example type /newspipe engadget so we show you the latest news from https://www.engadget.com If you press the Button 👉 POST ARTICLE 👈 It is now possible to share interesting news with your team members! All what we need is your permission to post this article as you into Slack in the channel where you are right now

    Privacy policy

    Basically slack-newspipe_v2 will only add a slash command to your team. We do not store any information about the Slack teams that use this app. We only respond to the request for /newspipe.

    If you want to use 👉 POST ARTICLE 👈

    • We need your permission to post messages as you into slack.
    • We store some information about you ‼️ user id && team id && oauth token ‼️

    About

    slack-newspipe_v2 was written and is maintained by Marko Barleben.

    Contact

    For any questions, comments, or concerns about slack-newspipe_v2 you can contact me marko@hyph.me

    Twitter_follow

    Running on Your Own

    When you clone this repo and run on your own server, heroku, aws etc. you need:

    • A Slack developer account
    • An API key from NewsAPI.org

    More information coming soon!!

    Teams that already use slack-newspipe_v2

    This is your place 🙌

    Write me a mail 👉 marko@hyph.me 👈 and we put some information about your team at this place 😃

    Visit original content creator repository https://github.com/markobarleben/slack-newspipe_v2