completions
shortuuid
completions | shortuuid | |
---|---|---|
16 | 5 | |
40 | 1,975 | |
- | - | |
8.0 | 0.8 | |
4 months ago | about 1 year ago | |
TypeScript | Python | |
MIT License | BSD 3-clause "New" or "Revised" License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
completions
-
Autotab – Boring AI Agents for real world tasks
I am building _exactly_ the same thing for Playwright over at https://ray.run/. I think this is the future of writing tests no doubt. Planning to launch next week.
-
Efficient E2E Testing for Next.js: A Playwright Tutorial
Note: Use page.goto('/') and have "baseURL": "http://ray.run" set in the playwright.config.ts file for concise code.
-
Ask HN: What's the best way to add search to my website?
Your website https://ray.run/ does have that nostalgic early 2000s vibe, which is cool! Regarding the search functionality, you might want to explore open-source alternatives to Algolia.
Projects like Elasticsearch, Solr, or even using Google Custom Search can provide search capabilities without the cost. They might require a bit more setup and maintenance, but they can be budget-friendly options for a free community.
In case you need help or assistance with your project, feel free to contact us! https://www.ratherlabs.com
-
Ask HN: Has anyone migrated from Next.js to Astro and can offer a perspective?
* Most of the pages I use are rendered at the request time, rather than build time
For context, this is the website https://ray.run/
-
The most complete glossary of Software Testing Terms (184 terms)
Ensuring in-article hover definitions for terms on the https://ray.run/ blog.
-
I took down my website by trying to use Cloud DNS – What's next?
I have added a zone to Cloud DNS (GCP) for https://ray.run/
- Ask HN: Could you show your personal blog here?
-
Getting JSON with TypeScript types from ChatGPT response
I updated completions library to allow statically typed responses:
-
Accessibility Testing with Playwright
import { type Browser, chromium, test as base } from '@playwright/test'; import getPort from 'get-port'; import { playAudit } from 'playwright-lighthouse'; export const test = base.extend<{}, { browser: Browser; port: number }>({ browser: [ async ({ port }, use) => { const browser = await chromium.launch({ args: [`--remote-debugging-port=${port}`], }); await use(browser); await browser.close(); }, { scope: 'worker' }, ], port: [ // eslint-disable-next-line no-empty-pattern async ({}, use) => { // Assign a unique port for each playwright worker to support parallel tests const port = await getPort(); await use(port); }, { scope: 'worker' }, ], }); test.describe('Accessibility Testing with Lighthouse', () => { test('should pass the Lighthouse accessibility audit', async ({ page, port, }) => { await page.goto('https://ray.run/'); await playAudit({ page, port, thresholds: { accessibility: 100, }, }); }); });
-
Migrating from Cypress to Playwright
import { test } from '@playwright/test' test.beforeEach(async ({ page }) => { await page.goto('https://ray.run/login') await page.fill('#username', 'admin') await page.fill('#password', 'password123') await page.click('#login-button') expect(await page.url()).toContain('/dashboard') }) test('should display user profile', async ({ page }) => { await page.click('#profile-button') expect(await page.textContent('body')).toContain('Admin User') }) // Other tests...
shortuuid
-
Ask HN: Could you show your personal blog here?
Unlike many people here, I don't like to write hundreds of mediocre posts. Instead, I prefer very few posts, that unfortunately are still mediocre.
If you're tired of all the perfection that exists on the internet, where every piece is deeply insightful and changes your life, I'd encourage you to read my articles, which only promise to shorten it:
https://www.stavros.io/
-
Short, friendly base32 slugs from timestamps
I use shortuuid[0] for that stuff, which also omits the capital letter I, and has some other niceties (I wrote the library). It works really well, and I like how small the IDs are.
[0] https://github.com/skorokithakis/shortuuid
- Ask HN: What are your favorite personal sites?
-
Building a Micro Business: What Services I Pay For
skorokithakis: developer of django-annoying and shortuuid
-
GUIDs Are Not the Only Answer
https://github.com/skorokithakis/shortuuid#usage
What are some alternatives?
openai - OpenAI .NET sdk - Azure OpenAI, ChatGPT, Whisper, and DALL-E
pangu.py - Paranoid text spacing in Python
chatgpt-demo - Minimal web UI for ChatGPT.
chardet - Python character encoding detector
Express - Fast, unopinionated, minimalist web framework for node.
fuzzywuzzy - Fuzzy String Matching in Python
feathers - The API and real-time application framework
Levenshtein - The Levenshtein Python C extension module contains functions for fast computation of Levenshtein distance and string similarity
lad - Node.js framework made by a former @expressjs TC and @koajs team member. Built for @forwardemail, @spamscanner, @breejs, @cabinjs, and @lassjs.
uniout - Never see escaped bytes in output.
Quick Start - 🍔 A Node.js Serverless Framework for front-end/full-stack developers. Build the application for next decade. Works on AWS, Alibaba Cloud, Tencent Cloud and traditional VM/Container. Super easy integrate with React and Vue. 🌈
Charset Normalizer - Truly universal encoding detector in pure Python