Showing posts with label Hacker News. Show all posts
Showing posts with label Hacker News. Show all posts

Tuesday, May 23, 2023

Show HN: I made Hazumi, a modern HN reader for iOS https://ift.tt/3DGJtio

Show HN: I made Hazumi, a modern HN reader for iOS Hello HN, I'm thrilled to announce the launch of my first app, Hazumi, a Hacker News reader, available for free on iOS! I’ve been lurking on HN for around 2 years while working on this project seeing people post amazing HN reader apps of their own. I’ve always figured Hazumi wasn’t good enough yet to post here but if I wait around until I’m ready, I’ll probably never share so here goes… Hazumi is a modern Hacker News app for your pocket with some intentional limitations. Stories are displayed on a simple colourful card, with images, that condenses all the information you need at a glance. Out of the box you get accessibility features for system settings like light/dark mode and text size. Others are controlled in app for opening stories in a Web View vs externally via Safari, defaulting to Reader Mode and reducing animation bounciness. You can browse top, new and best sections, limited to 30 stories each, which refresh every hour on the server. I’m not a fan of infinite scrolling or spending a lot of time reading news. I just want to get in and get out while keeping up on the latest. Other notable features: - Basic search - Widgets for your Home and Lock Screen - Apple Watch app - Warns you of non-HTTPS links There are a few “PRO” features that require a subscription ($/€1.99 monthly): - AI summaries of comments on stories that have at least 30 root level comments - In app newsletter (yesterday’s top 10 stories) - Bookmarking with iCloud support - Themes (change the colour of the cards) - Supporting indie developers and keeping the lights on for Hazumi Working on: - Better comments/tappable links - Enhancing search - More themes Being the first version, it's very early days for Hazumi and there are bugs that I’m working on fixing. I'm eager to improve it and shape its future based on your input. I welcome any feedback you may have, whether it's about existing features or ideas for new ones. Your thoughts will be instrumental in shaping Hazumi, making it an even more useful tool for tech news enthusiasts. Please give it a try and let me know your thoughts. P.S. Shout out to MB and MC for your awesome feedback during the TestFlight beta! https://ift.tt/pm4JiMd May 22, 2023 at 11:31AM

Monday, May 22, 2023

Show HN: I solo developed an action-roguelite and launched it today https://ift.tt/nuSmybs

Show HN: I solo developed an action-roguelite and launched it today It's my first steam game, I'm very pleased with how it came out. It's the largest person project I've ever made. I'm happy to answer any questions. https://ift.tt/begSk3A May 22, 2023 at 11:12PM

Show HN: DB-GPT, an LLM tool for database https://ift.tt/acZomVI

Show HN: DB-GPT, an LLM tool for database https://ift.tt/LedHKUX May 22, 2023 at 10:40PM

Sunday, May 21, 2023

Show HN: Horizon – Programmatic Prompt Generation and LLM Configurations https://ift.tt/lbnOjNW

Show HN: Horizon – Programmatic Prompt Generation and LLM Configurations Hi HN. I heard you like dev tools and AI, so we wanted to share our project that we’ve been working on. We’re working on Horizon [1] - a higher level abstraction for LLMs so that developers can spend less time trying to grapple with LLMs to make them work and more time with users. This is the starting feature set which takes an auto-ML approach to identify the optimal LLM model, hyperparameters, and prompt - instead of just giving you the tooling to figure it out yourself. You can read more about it in our documentations. Our view is that as LLMs become increasingly commoditized and prompts become easier to develop all the while fine-tuning is not realistic for the many organization out there - the configuration, optimization, and management will become much more difficult at-scale (consist with Andrej’s recent post [3]). The idea came as we were trying to build LLM apps (think sales outreach, ppt generation, support, etc. etc.) last fall and realized with this tool we could easily build many of the applications with Horizon in minutes versus that days it took us before. Let us know what you think! [1] https://ift.tt/OytqvAQ [2] https://ift.tt/QTDoSyh [3] https://twitter.com/karpathy/status/1655994367033884672?s=20 https://ift.tt/gGm96HL May 21, 2023 at 10:46PM

Show HN: Loofi – Our AI-Powered SQL Query Builder https://ift.tt/JQ6AUVD

Show HN: Loofi – Our AI-Powered SQL Query Builder Hi HN Community, We're a team of software engineers who've experienced the complexity of crafting SQL queries. To address this, we've developed a tool that simplifies this process. Introducing Loofi, an AI-powered SQL Query Builder. Loofi streamlines query building and leverages AI algorithms for intelligent recommendations. We value community feedback and invite you to try out Loofi. Your thoughts and suggestions will help us improve our tool. Here's the link to Loofi: https://loofi.dev/ For any questions or assistance, feel free to reach out. We're eager to engage with this community. Your valuable feedback is much appreciated! https://loofi.dev/ May 20, 2023 at 11:19PM

Friday, May 19, 2023

Show HN: Midjourney-Python-API https://ift.tt/qSd0Ogp

Show HN: Midjourney-Python-API This Python client is built for the unofficial MidJourney API, leveraging a Discord self bot and utilizing the Merubokkusu/Discord-S.C.U.M library. Please be mindful that there might be risks associated with the use of self bots, as per issue #66. Key Features: 1: Info retrieval 2: Imagine prompt 3: Image upscale and vectorization by label 4: All message returns via WebSocket, including banned words check and image processing 5: Auto reconnect WebSocket https://ift.tt/qWSzno3 May 18, 2023 at 11:06PM

Wednesday, May 17, 2023

Show HN: Cosigny - Crowd source the best credit card and loan terms. https://ift.tt/GHnlX8K

Show HN: Cosigny - Crowd source the best credit card and loan terms. The goal is to create spreadsheet with crowd sourced data regarding credit products and profiles so we can see how we measure up and find the best deals. Don't go too hard on me. I linked a few google sheets together. Hope you find it useful. https://ift.tt/M15U0JL May 18, 2023 at 02:11AM

Tuesday, May 16, 2023

Show HN: Oblivus GPU Cloud – Affordable and scalable GPU servers from $0.29/hr https://ift.tt/obxCjrm

Show HN: Oblivus GPU Cloud – Affordable and scalable GPU servers from $0.29/hr Greetings HN! This is Doruk from Oblivus, and I'm excited to announce the launch of our platform, Oblivus Cloud. After more than a year of beta testing, we're excited to offer you a platform where you can deploy affordable and scalable GPU virtual machines in as little as 30 seconds! https://ift.tt/niU1E8Z - What sets Oblivus Cloud apart? At the start of our journey, we had two primary goals in mind: to democratize High-Performance Computing and make it as straightforward as possible. We understand that maintaining GPU servers through major cloud service providers can be expensive, with hidden fees adding to the burden of running and maintaining servers. Additionally, the cloud can sometimes be overly complex for individuals who don't have much knowledge but still require powerful computing resources. That's why we decided to create a platform that offers affordable pricing, easy usability, and high-quality performance. - Features 1. Fully customizable infrastructure that lets you switch between CPU and GPU configurations to suit your needs. 2. Transparent and affordable per-minute-based Pay-As-You-Go pricing with no hidden fees. Plus, free data ingress and egress. (Pricing: https://ift.tt/Edyzcsr ) 3. Optimized cost with storage and IP address-only billing when the virtual machine is shut down. 4. Each virtual machine comes with 10Gbps to 40Gbps public network connectivity. 5. NVMe ($0.00011/GB/hr) and HDD ($0.00006/GB/hr) storage that is 3x replicated to fulfill your storage needs. 6. Choose from a variety of cutting-edge CPUs and 10 state-of-the-art GPU SKUs. (Availability: https://ift.tt/WXrCzQU ) 7. OblivusAI OS images come with pre-installed ML libraries, so you can start training your models right away without the hassle of installing and configuring the necessary libraries. 8. If you're working with a team, utilize our organization feature to simplify the billing process. Everyone in your organization uses the same billing profile, so you don't need to keep track of multiple accounts. 9. No quotas or complex verification processes. Whether you represent a company, an institution, or you're a researcher, you have full access to our infrastructure without any limitations. 10. Easy-to-use API with detailed documentation so that you can integrate your code with ours. - Pricing At Oblivus Cloud, we provide pricing that is affordable, transparent, and up to 80% cheaper than major cloud service providers. Here is a breakdown of our pricing: 1. CPU-based virtual machines starting from just $0.019/hour. 2. NVIDIA Quadro RTX 4000s starting from $0.27/hour. 3. Tesla V100s starting from $0.51/hour. 4. NVIDIA A40s and RTX A6000s starting from $1.41/hour. We also offer 6 other GPU SKUs to help you accurately size your workloads and only pay for what you need. Say goodbye to hidden fees and unpredictable costs. If you represent a company, be sure to register for a business account to access even better pricing rates. - Promo Code Join us in celebrating the launch of Oblivus Cloud by claiming your $1 free credit! This may sound small, but it's enough to get started with us and experience the power of our platform. With $1, you can get over 3 hours of computing on our most affordable GPU-based configuration, or over 50 hours of computing on our cheapest CPU-based configuration. To redeem this free credit, simply use the code HN_1 on the 'Add Balance' page after registration. Register now at https://ift.tt/0CUtTZ5 - Quick Links Website: https://oblivus.com/ Console: https://ift.tt/1n0dtvh Company Documentation: https://ift.tt/4xnvYrT API Documentation: https://ift.tt/5bSucWL If you have any questions, feel free to post them below and I'll be happy to assist you. You can also directly email me at doruk@oblivus.com! https://oblivus.com May 16, 2023 at 04:30AM

Monday, May 15, 2023

Show HN: Query Hacker News via ChatGPT https://ift.tt/XdTDZck

Show HN: Query Hacker News via ChatGPT https://ift.tt/CwUxa3h May 16, 2023 at 01:28AM

Show HN: Sha2git brings code hosting to secure SHA-2 Git repositories https://ift.tt/glFGdbV

Show HN: Sha2git brings code hosting to secure SHA-2 Git repositories https://sha2git.com/ May 15, 2023 at 12:14AM

Saturday, May 13, 2023

Show HN: Kaizen, music updated over time like software https://ift.tt/b7i2njf

Show HN: Kaizen, music updated over time like software Hi, I'm co-founder and CTO of Kaizen. The project started as just a weekend project with me and a music producer friend. It has since grown into a community of artists looking to share their music more frequently and engage with their fans more consistently. We've just launched on ProductHunt: https://ift.tt/aOQW93p We would love any thoughts or feedback! https://kaizen.place/ May 13, 2023 at 04:46AM

Thursday, May 11, 2023

Show HN: Plan international rendezvous with different passport holders https://ift.tt/kpuD8ZV

Show HN: Plan international rendezvous with different passport holders https://unli.xyz/city/honeymoon/ May 11, 2023 at 11:16PM

Tuesday, May 9, 2023

Show HN: A clock app developed based on flutter https://ift.tt/UkqfJHj

Show HN: A clock app developed based on flutter https://ift.tt/v1Yh3pO May 10, 2023 at 01:00AM

Sunday, May 7, 2023

Show HN: An AI powered job description writer for recruiters https://ift.tt/AgzlOt8

Show HN: An AI powered job description writer for recruiters Write Better Job Descriptions Faster with Hyrable https://ift.tt/N2t8Soj May 7, 2023 at 05:13AM

Saturday, May 6, 2023

Show HN: SpiderSuite: Advance GUI web security crawler https://ift.tt/fHJguhe

Show HN: SpiderSuite: Advance GUI web security crawler https://ift.tt/E3Hivy8 May 6, 2023 at 02:56AM

Friday, May 5, 2023

Show HN: Text to Music – Create music and drum samples with AI https://ift.tt/PqEv4NY

Show HN: Text to Music – Create music and drum samples with AI https://ift.tt/LaCxfQ6 May 5, 2023 at 04:14AM

Thursday, May 4, 2023

Show HN: Hypertune – Visual, functional, statically-typed configuration language https://ift.tt/G4PsiLA

Show HN: Hypertune – Visual, functional, statically-typed configuration language Hey HN! I'm Miraan, the founder at Hypertune, and I'm excited to be posting this on HN. Hypertune lets you make your code configurable to let teammates like PMs and marketers quickly change feature flags, in-app copy, pricing plans, etc. It's like a CMS but instead of only letting you set static content, you can insert arbitrary logic from the UI, including A/B tests and ML "loops". I previously built a landing page optimization tool that let marketers define variants of their headline, CTA, cover image, etc, then used a genetic algorithm to find the best combination of them. They used my Chrome extension to define changes on DOM elements based on their unique CSS selector. But this broke when the underlying page changed and didn't work with sites that used CSS modules. Developers hated it. I took a step back. The problem I was trying to solve was making the page configurable by marketers in a way that developers liked. I decided to solve it from first principles and this led to Hypertune. Here's how it works. You define a strongly typed configuration schema in GraphQL, e.g. type Query { page(language: Language!, deviceType: DeviceType!): Page! } type Page { headline: String! imageUrl: String! showPromotion: Boolean! benefits: [String!]! } enum Language { English, French, Spanish } enum DeviceType { Desktop, Mobile, Tablet } Then marketers can configure these fields from the UI using our visual, functional, statically-typed language. The language UI is type-directed so we only show expression options that satisfy the required type of the hole in the logic tree. So for the "headline" field, you can insert a String expression or an If / Else expression that returns a String. If you insert the latter, more holes appear. This means marketers don't need to know any syntax and can't get into invalid states. They can use arguments you define in the schema like "language" and "deviceType", and drop A/B tests and contextual multi-armed bandits anywhere in their logic. We overlay live counts on the logic tree UI so they can see how often different branches are called. You get the config via our SDK which fetches your logic tree once on initialization (from our CDN) then evaluates it locally so you can get flags or content with different arguments (e.g. for different users) immediately with no network latency. So you can use the SDK on your backend without adding extra latency to every request, or on the frontend without blocking renders. The SDK includes a command line tool that auto-generates code for end-to-end type-safety based on your schema. You can also query your config via the GraphQL API. If you use the SDK, you can also embed a build-time snapshot of your logic tree in your app bundle. The SDK initializes from this instantly then fetches the latest logic from the server. So it'll still work in the unlikely event the CDN is down. And on the frontend, you can evaluate flags, content, A/B tests, personalization logic, etc, instantly on page load without any network latency, which makes it compatible with static Jamstack sites. I started building this for landing pages but realized it could be used for configuring feature flags, in-app content, translations, onboarding flows, permissions, rules, limits, magic numbers, pricing plans, backend services, cron jobs, etc, as it's all just "code configuration". This configuration is usually hardcoded, sprawled across json or yaml files, or in separate platforms for feature flags, content management, A/B testing, pricing plans, etc. So if a PM wants to A/B test new onboarding content, they need a developer to write glue code that stitches their A/B testing tool with their CMS for that specific test, then wait for a code deployment. And at that point, it may not be worth the effort. The general problem with having separate platforms is that all this configuration naturally overlaps. Feature flags and content management overlap with A/B testing and analytics. Pricing plans overlap with feature flags. Keeping them separate leads to inflexibility and duplication and requires hacky glue code, which defeats the purpose of configuration. I think the solution is a flexible, type-safe code configuration platform with a strongly typed schema, type-safe SDKs and APIs, and a visual, functional, statically-typed language with analytics, A/B testing and ML built in. I think this solves the problem with having separate platforms, but also results in a better solution for individual use cases and makes new use cases possible. For example, compared specifically to other feature flag platforms, you get auto-generated type-safe code to catch flag typos and errors at compile-time (instead of run-time), code completion and "find all references" in your IDE (no figuring out if a flag is in kebab-case or camelCase), type-safe enum flags you can exhaustively switch on, type-safe object and list flags, and a type-safe logic UI. You pass context arguments like userId, email, etc, in a type-safe way too with compiler errors if you miss or misspell one. To clean up a flag, you remove it from your query, re-run code generation and fix all the type errors to remove all references. The full programming language under the hood means there are no limits on your flag logic (you're not locked into basic disjunctive normal form). You can embed a build-time snapshot of your flag logic in your app bundle for guaranteed, instant initialization with no network latency (and keep this up to date with a commit webhook). And all your flags are versioned together in a single Git history for instant rollbacks to known good states (no figuring out what combination of flag changes caused an incident). There are other flexible configuration languages like Dhall (discussed here: https://ift.tt/7tWEXZe ), Jsonnet (discussed here: https://ift.tt/eb2Ai9g ) and Cue (discussed here: https://ift.tt/ViB71Lk ). But they lack a UI for nontechnical users, can't be updated at run-time and don't support analytics, A/B testing and ML. I was actually going to start with a basic language that had primitives (Boolean, Int, String), a Comparison expression and an If / Else. Then users could implement the logic for each field in the schema separately. But then I realized they might want to share logic for a group of fields at the object level, e.g. instead of repeating "if (deviceType == Mobile) { primitiveA } else { primitiveB }" for each primitive field separately, they could have the logic once at the Page level: "if (deviceType == Mobile) { pageObjectA } else { pageObjectB }". I also needed to represent field arguments like "deviceType" in the language. And I realized users may want to define other variables to reuse bits of logic, like a specific "benefit" which appears in different variations of the "benefits" list. So at this point, it made sense to build a full, functional language with Object expressions (that have a type defined in the schema) and Function, Variable and Application expressions (to implement the lambda calculus). Then all the configuration can be represented as a single Object with the root Query type from the schema, e.g. Query { page: f({ deviceType }) => switch (true) { case (deviceType == DeviceType.Mobile) => Page { headline: f({}) => "Headline A" imageUrl: f({}) => "Image A" showPromotion: f({}) => true benefits: f({}) => ["Ben", "efits", "A"] } default => Page { headline: f({}) => "Headline B" imageUrl: f({}) => "Image B" showPromotion: f({}) => false benefits: f({}) => ["Ben", "efits", "B"] } } } So each schema field is implemented by a Function that takes a single Object parameter (a dictionary of field argument name => value). I needed to evaluate this logic tree given a GraphQL query that looks like: query { page(deviceType: Mobile) { headline showPromotion } } So I built an interpreter that recursively selects the queried parts of the logic tree, evaluating the Functions for each query field with the given arguments. It ignores fields that aren't in the query so the logic tree can grow large without affecting query performance. The interpreter is used by the SDK, to evaluate logic locally, and on our CDN edge server that hosts the GraphQL API. The response for the example above would be: { "__typename": "Query", "page": { "__typename": "Page", "headline": "Headline A", "showPromotion": true } } Developers were concerned about using the SDK on the frontend as it could leak sensitive configuration logic, like lists of user IDs, to the browser. To solve this, I modified the interpreter to support "partial evaluation". This is where it takes a GraphQL query that only provides some of the required field arguments and then partially evaluates the logic tree as much as possible. Any logic which can't be evaluated is left intact. The SDK can leverage this at initialization time by passing already known arguments (e.g. the user ID) in its initialization query so that sensitive logic (like lists of user IDs) are evaluated (and eliminated) on the server. The rest of the logic is evaluated locally by the SDK when client code calls its methods with the remaining arguments. This also minimizes the payload size sent to the client and means less logic needs to be evaluated locally, which improves both page load and render performance. The interpreter also keeps a count of expression evaluations as well as events for A/B tests and ML loops, which are flushed back to Hypertune in the background to overlay live analytics on the logic tree UI. It's been a challenge to build a simple UI given there's a full functional language under the hood. For example, I needed to build a way for users to convert any expression into a variable in one click. Under the hood, to make expression X a variable, we wrap the parent of X in a Function that takes a single parameter, then wrap that Function in an Application that passes X as an argument. Then we replace X in the Function body with a reference to the parameter. So we go from: if (X) { Y } else { Z } to ((paramX) => if (paramX) { Y } else { Z } )(X) So a variable is just an Application argument that can be referenced in the called Function's body. And once we have a variable, we can reference it in more than one place in the Function body. To undo this, users can "drop" a variable in one click which replaces all its references with a copy of its value. Converting X into a variable gets more tricky if the parent of X is a Function itself which defines parameters referenced inside of X. In this case, when we make X a variable, we lift it outside of this Function. But then it doesn't have access to the Function's parameters anymore. So we automatically convert X into a Function itself which takes the parameters it needs. Then we call this new Function where we originally had X, passing in the original parameters. There are more interesting details about how we lift variables to higher scopes in one click but that's for another post. Thanks for reading this far! I'm glad I got to share Hypertune with you. I'm curious about what use case appeals to you the most. Is it type-safe feature flags, in-app content management, A/B testing static Jamstack sites, managing permissions, pricing plans or something else? Please let me know any thoughts or questions! https://ift.tt/5AlXkZm May 4, 2023 at 12:01PM

Wednesday, May 3, 2023

Show HN: Simple TODO with tag based filtering https://ift.tt/21dnrZ4

Show HN: Simple TODO with tag based filtering A custom app I made quickly to better represent how I work. I have 1 long list of tasks from different projects I can easily see any time. Throughout the day I focus on the different projects by filtering them through tags. Does anyone else manage multiple projects like me? What do you use to focus on the different projects? https://ift.tt/VwZSMWg May 3, 2023 at 07:26PM

Tuesday, May 2, 2023

Show HN: Stickdeck – Turn your Steam Deck as a Bluetooth joystick on PC https://ift.tt/4rNICAO

Show HN: Stickdeck – Turn your Steam Deck as a Bluetooth joystick on PC https://ift.tt/Ey9i4QI May 2, 2023 at 11:16PM

Show HN: Hivemind – ChatGPT can now send you reminders and have async convos https://ift.tt/fDBO6PW

Show HN: Hivemind – ChatGPT can now send you reminders and have async convos Prompt -> notifications https://twitter.com/NickADobos/status/1653251763674419203 May 2, 2023 at 03:22AM