Tuesday, 11 October 2022

Show HN: Cobalt – social media downloader with no bullshit https://bit.ly/3SNpgc1

Show HN: Cobalt – social media downloader with no bullshit Hey, HN! I made my own social media downloader because I got annoyed by others that either shove 50 ad banners down your throat, or require you to do some extra steps. The frontend page is light and all processing is done on the server, so it runs speedily on pretty much anything. It also has a bunch of download/ui customization options, but none of them are forced on you. My main goal was to make something that's open, easy to use, and not annoying to deal with. Please take a look at it and let me know what you think, I'm thirsty for feedback and opinions. You can also take a look at its source code and judge my coding abilities: https://bit.ly/3SWBX4h https://bit.ly/3VmKKyc October 12, 2022 at 05:33AM

Show HN: Suggest Gift – Get gift suggestions using AI https://bit.ly/3SUevVp

Show HN: Suggest Gift – Get gift suggestions using AI I built this little side project using GPT3 and few other things. Happy to answer any questions or take any feedback/comments :) https://bit.ly/3MmG8E8 October 12, 2022 at 01:01AM

Show HN: Komorebi – A tiling window manager for Windows 10/11 written in Rust https://bit.ly/3CnI6zn

Show HN: Komorebi – A tiling window manager for Windows 10/11 written in Rust https://bit.ly/3Ez60uE October 11, 2022 at 08:42PM

Show HN: Record and play back your pipes (debugging) https://bit.ly/3RTRqAE

Show HN: Record and play back your pipes (debugging) https://bit.ly/3rLaZAz October 11, 2022 at 07:07PM

Show HN: A Beginner’s Guide to Finding User Needs https://bit.ly/3CnXn3q

Show HN: A Beginner’s Guide to Finding User Needs https://bit.ly/3el7tdo …a free/libré book about UX research with qualitative methods on motivations, activities written for UX researchers, UX designers and product managers. I have been writing on this book since about 2010 and did a large rewrite during the first half of 2022. (I initally planned this with a bigger tech publisher). This is the link to the full book for online reading: https://bit.ly/3VlWocs (it’s one long page, so it might take a bit to load) October 11, 2022 at 05:58PM

Show HN: Open-Sourcing InboxSDK (YC S11) – Build Apps in Gmail https://bit.ly/3T8sVAS

Show HN: Open-Sourcing InboxSDK (YC S11) – Build Apps in Gmail Hi HN! We’re Aleem, Chris, Borys, Meichen and Zach from Streak (YC S11) and today we’re open sourcing our InboxSDK https://bit.ly/3g2jYLr , which makes it easy to build apps for Gmail. Over 1.8B users spend their days in Gmail! Having your app built into the Gmail workflow is a better user experience and gives you great user retention. InboxSDK gives you a high-level, declarative API to insert your UI into Gmail without having to directly manipulate the DOM yourself. End users install a browser extension to use your app. The SDK can add UI to multiple areas of Gmail. For example, adding a button is as simple as: composeView.addButton({ title: "My Nifty Button!", iconUrl: 'https://bit.ly/3EDPklP', onClick: function(event) { event.composeView.insertTextIntoBodyAtCursor('Hello World!'); }, }); InboxSDK enables you to add info to the sidebar on threads, add items in the left navigation tree, insert results into the search box, navigate to full page routes, add toolbar buttons to the compose window, add label indicators to thread list views and many more. You can see some examples in my comment posted below. Hubspot, Dropbox, Giphy, Clickup, Loom, Todoist, Clearbit and our own Streak have all built apps using the InboxSDK. The InboxSDK is open source dual-licensed under the MIT and Apache 2.0 licenses for maximum flexibility. Why use the InboxSDK over rolling it yourself? Several reasons: (1) it’s hard to do DOM manipulation in a performant way; (2) you need to handle all the different configurations of Gmail—there are a lot, and they change often: e.g. conversation view on/off, multiple inboxes, chat left/right, personal vs Workspace accounts; (3) You have to maintain compatibility with tons of other Gmail extensions so you don’t stomp over each other. On a technical level, the InboxSDK handles all the DOM watching and manipulation, XHR interception, multiple extension coordination, and exposes a high level API to developers. We make use of page-parser-tree, another package we open sourced that helps detect elements on the page performantly. The trickiest bit we handle is intercepting and modifying network requests that Gmail makes in order to support several of the APIs we expose. We’ve been building this SDK for years - it’s what powers Streak (https://bit.ly/3Tema0A), an 8 figure ARR SaaS business. We built the InboxSDK for ourselves because we wanted to separate our logic for wrangling Gmail from that of our app. Several years ago we let developers use a hosted version of our SDK. We didn’t want anyone else to go through the same pain to integrate deeply with Gmail. There were two unexpected benefits: It vastly increased the number of end users (20M+) using apps built on our SDK. This gave us significant leverage with Google. They are super supportive of the SDK and give us early access to several builds to ensure the SDK doesn’t break when they make updates to Gmail. We spent an ungodly amount of time maintaining compatibility with other Gmail extensions. Once the InboxSDK became a defacto standard, all the apps (currently >1000) that used it were instantly compatible (the InboxSDK operates under the model that there will be several extensions running at the same time and it elects a leader to route all modification through). Why open source it now? First, several companies were nervous about us hosting the SDK. We mainly did this so that every extension was running the same version of the SDK, but with the recent Chrome manifest V3 changes, remote code execution is no longer supported. Not hosting the SDK removed the primary reason why the project needed to be closed source. We do need to figure out a new way of keeping all developers relatively up to date on the latest version of the SDK, any ideas? We’d love feedback! The repo is https://bit.ly/3CNTHsT , and the docs are: https://bit.ly/3el2FEG October 11, 2022 at 04:55PM

Show HN: My book for programmers called “Junior to Senior” was published today https://bit.ly/3Vici7K

Show HN: My book for programmers called “Junior to Senior” was published today After a four year journey, the book I wrote to help junior and mid-level programmers earn their first promotion was published today . The book is titled Junior to Senior: Career Advice for the Ambitious Programmer and is now available on Holloway’s website[0]. I truly believe that soft-skills are what makes the difference between a good programmer and a great one. I also believe that anyone can learn the soft-skills needed to accelerate their programming career. I wish I’d had better resources to learn these things in the early years of my career and I’m hoping this book will become a useful resource for the next generation of programmers to build successful careers. What this book covers: Choosing a career path: generalist vs. specialist What makes you a senior engineer? How to deal with feeling like an impostor How to build trust and work with your manager How to recover when you make a mistake, and what to do during incidents How to ask better questions How to read and understand unfamiliar code How to add value to your team and company How to identify and manage risk How to deliver better results How to communicate more effectively with both technical and non-technical audiences The importance of a healthy work-life balance How to ask for a promotion, and how to prepare for it I wrote this book because these soft-skills are rarely taught in coding bootcamps or computer science degrees, yet they are critical to every programmer’s career trajectory. Almost every programmer I know, including me, had to learn and develop these soft-skills on the job. It took hard work and a lot of trial and error to learn how to communicate my ideas effectively, navigate office politics, manage risk, and so many other things that programmers encounter in their jobs today. Get instant lifetime access at holloway.com. Use this link for a launch discount: [0]: https://bit.ly/3rJWRYq... https://bit.ly/3fZhNrS October 11, 2022 at 04:18PM

Show HN: Try Enarx https://bit.ly/3eivMbT

Show HN: Try Enarx Enarx runs Web Assembly applications on special CPUs to protect the application from the host (Intel SGX, AMD SNP-SEV). Try out Enarx with your application on real hardware. https://bit.ly/3emPQtv October 11, 2022 at 03:04PM

Show HN: A collection of tiny web tools and calculators https://bit.ly/3EC1Dij

Show HN: A collection of tiny web tools and calculators https://bit.ly/3VgHqof October 11, 2022 at 12:03PM

Show HN: Bike – Rich Text and Innovation https://bit.ly/3EOUICL

Show HN: Bike – Rich Text and Innovation I have just added rich text to my outliner Bike. I think the implementation is worth taking a look at. Follow the link for details, a screencast (4 min), and download. (this is paid feature, but there is a no signup 7 day trial so you can play with it) In the past I have used plain text formats (like .taskpaper and .markdown) for my apps. I've grown sick of seeing and parsing syntax characters, so this time around I am taking a rich text approach. Rich text looks clean, but editing is problematic. You don't have precise control/visibility into the formatting. It's hidden behind the text. There are no formatting characters to guide you like you have in Markdown. This is particularly problematic when you want to insert text at formatting boundaries. Bike solves this with "typing affinity". This lets you precisely specify which formatting to use at those boundaries. It does this by adding an extra text caret state at these boundaries. This extra state allows you to point the text caret upstream or downstream to the formatting you want. Other interesting features include: • Link Buttons: Insert a dedicated "open" button after each link so there is no conflict between editing link text and opening the link. • Keyboard Centric Formatting Popover: Remember a single keyboard shortcut and have full keyboard access to formatting commands. No mouse needed. • Visible Typing Attributes: Show hidden typing attribute state (when it cannot be visually determined by looking at surrounding text) as part of the text caret. Please take a look and let me know what you think. I'm happy to answer questions and would love to hear your thoughts on ways to improve rich text editing further. https://bit.ly/3rOcSMU October 11, 2022 at 01:02PM

Show HN: Filelove – minimal P2P file transfer right in the browser https://bit.ly/3ekaV83

Show HN: Filelove – minimal P2P file transfer right in the browser https://bit.ly/3CQeAUE October 11, 2022 at 09:36AM

Monday, 10 October 2022

Show HN: Prevent Google Analytics data from being blocked by ad blockers https://bit.ly/3SSjfe2

Show HN: Prevent Google Analytics data from being blocked by ad blockers https://bit.ly/3MiMVPd October 10, 2022 at 03:10PM

Show HN: Nomad, a no fee Airbnb competitor. Any investors here? https://bit.ly/3ClNSlc

Show HN: Nomad, a no fee Airbnb competitor. Any investors here? https://bit.ly/3MhsXo1 October 10, 2022 at 01:10PM

Show HN: I built a site that lets users find playlists by songs they contain https://bit.ly/3CjiB2h

Show HN: I built a site that lets users find playlists by songs they contain https://bit.ly/3ejx9qB October 10, 2022 at 12:30PM

Sunday, 9 October 2022

Show HN: I built a site that finds the cheapest place to buy a book https://bit.ly/3ehyvCl

Show HN: I built a site that finds the cheapest place to buy a book https://bit.ly/3MhBZRV October 10, 2022 at 02:59AM

Show HN: Just a website to wish someone happy birthday https://bit.ly/3epxRTb

Show HN: Just a website to wish someone happy birthday Found something like it on GitHub which was made for a particular person. Felt like creating a custom one which anyone can use. Hence made this :) https://bit.ly/3RMEQTV October 9, 2022 at 05:35PM

Show HN: I built a WASI playground for running CLI binaries in the browser https://bit.ly/3ysla0U

Show HN: I built a WASI playground for running CLI binaries in the browser https://bit.ly/3yrKpQO October 10, 2022 at 01:34AM

Show HN: Related Website Finder Experiment Thingy https://bit.ly/3SKwwW2

Show HN: Related Website Finder Experiment Thingy Been messing with cosine similarity and decided to try calculating nearest neighbors over the entire link graph for the marginalia search engine. Turns out that you can just bruteforce that in a day or two. And the results are pretty good. One drawback is that depending on if you're looking at an older website, a lot of the links are dead. The deduplication isn't great either. https://bit.ly/3ChSLf7 October 9, 2022 at 06:22PM

Show HN: Simplepdf.eu – a browser-based PDF annotator / editor https://bit.ly/3ysfzrw

Show HN: Simplepdf.eu – a browser-based PDF annotator / editor Hi HN! I've been working on SimplePDF to solve a problem I encounter weekly: filling out non-editable PDFs [1] --- # About SimplePDF - The documents you load, edit, fill never see the light of my server, everything is processed locally – no remote uploading anything. This includes the PDF generation. - There are no analytics / third party tracking your every move (I do collect usage data, but it's fully anonymous and processed and stored on my server): therefore no annoying cookie banner. You can read more on the Privacy Policy [2] - If someone before you has filled the same document, upon opening it you'll see fields already set, ready to be filled-in, think crowd-sourced fields positioning – saving you time and effort. --- # How does the crowd-sourced positioning of fields work? When a document is loaded in your browser, a fingerprint of the document binary is made, and sent to the server. The document table consists of: document_id, fingerprint and created_at. As soon as you start editing a document, a template is created, containing metadata about the fields (x, y, width, height, type of field, background color...) that is then tied to this document you created. Once you save, this template gets sent to the server. The template table consists of: template_id, document_id, fields (the metadata) as well as created_by_customer_id if you're a customer. As a result, someone else on the other side of the world opening the same document will see the fields you positioned already there – you just saved them the 5min it took you to position them. --- # What's the tech stack of SimplePDF? - NextJS on the frontend - Koa with GraphQL on the backend - Postgres (Managed Database on Digital Ocean) - A 10€ droplet on Digital Ocean --- If you have any questions, comments or feedback (good or bad), I'm all ears! --- [1] The assignments my estonian teacher gives me are usually scanned documents that do not have any editable fields in them. [2] https://bit.ly/3Eu3SnL https://bit.ly/3ysfCDI October 9, 2022 at 05:47PM

Show HN: BlockTalk – Banter about what your friends are doing on Web3 https://bit.ly/3CJuEHq

Show HN: BlockTalk – Banter about what your friends are doing on Web3 Hey HN, I’m Kamil and one of the two people working on BlockTalk. BlockTalk is going into public beta today! (We're also on Product Hunt, come check us out!) We previously posted about this project under the name “WalletWatch” in a Show HN about 3 weeks ago, and have since integrated your feedback to make it better [1] [problem] As we were trying to see how our friends were using crypto, we noticed that other products were either too complex or only let us passively view what our friends were doing. [solution] BlockTalk is a social network centered around Ethereum transactions. You can easily see, understand, like, and comment on the Ethereum transactions of anyone on the platform. We don’t ask for your email or password, and instead authenticate by asking users to sign a transaction with their Ethereum wallet; we ask for usernames to give a more familiar and user-friendly experience for people that haven’t purchased ENS or other crypto domain names. At the moment, we’re storing user data in Firestore instead of on-chain because the current decentralized channels are too expensive or slow. This also has the added benefit of making the app completely free to use. [what’s changed] Since our last post, we improved the UI/UX, made transactions more understandable, made the app compatible with all viewports, and now don’t require you to create an account to get a feel for the app. [ask] We’d love any feedback you all have! My e-mail is kamil@fwd.exchange if you want to contact us about anything related to the project :) P.S. here's a very old demo of a prototype from a while back [2] [1] https://bit.ly/3qRgugA [2] https://youtu.be/xhajqKq4G9Y https://bit.ly/3CJBAnU October 9, 2022 at 04:20PM