Growing India News, world news, nation news, our news, people's news, grow news, entertainment, fashion, movies, tech, automobile and many more..
Thursday, August 3, 2023
Show HN: We built swup+fragment-plugin to visually enhance classic websites https://ift.tt/ZXDuEiJ
Show HN: We built swup+fragment-plugin to visually enhance classic websites ## TL;DR - Progressively enhance your classic website / MPA to a single page app. - Support for fragment visits, comparable to nested routes in React or Vue. - Keep your site crawlable and indexable without any of the overhead of SSR. - No tight coupling of back- and frontend. Use the CMS / Framework / SSG of your choice. - Strong focus on interoperability with DOM-altering JS tools (think Alpine.js, jQuery, ...). - Strong focus on accessibility, even for fragment visits. ## Long Version: Best of three worlds Hi, I'm Rasso Hilber. I have been a web designer and developer since around 2004. From the beginning of my career, I always had to make tradeoffs between 3 goals when building websites: 1. The websites I build should be visually impressive, original, and snappy. 2. The websites I build should be crawlable, accessible and standards compliant. 3. The websites I build should have low technical complexity and be easy to maintain in the long run. In the beginning, I was able to achieve goals 1 (impressive!) and 3 (easy to maintain!) by using Macromedia/Adobe Flash, but due to the nature of the technology horribly failed to deliver crawlable and accessible websites. Later, I found a way to run two sites in parallel for each website I built, one using CMS-generated XHTML for crawlability, one in Flash for the visitors, fetching the data from its XHTML twin. Now I had solved goals 1 and 2, but my setup was awfully complex and brittle. Around 2010, I was relieved to see Flash finally coming to its end. I switched to building websites using PHP, HTML, and jQuery. I could now tick goals 2 (accessibility) and 3 (low complexity), but the websites I was able to build using these technologies weren't as impressive anymore. Hard page loads between every link click being one of the biggest regressions in UX from the days of Flash IMO. Around 2014/15, I first heard about the new frameworks: Angular, React, Vue. These frameworks were not intended to be used for classic websites. They were made for single-page-apps! But it felt to me like no one cared. Even when building classic websites, many developers sacrificed SEO and accessibility for a snappy experience, serving an empty `
` to the browser. I couldn't blame them; I had done the same in my early days as a Flash developer. They ticked goal 1 (impressive) and goal 3 (low complexity). But the lack of accessibility kept me from joining the movement. I was still building classic websites, after all. After some time, many started realizing that serving an empty div had downsides – SSR, hydration, and whatnot were born, now ticking goal 1 (impressive) and goal 2 (accessibility), with the trade-off of awful complexity. It reminded me a lot of my little Frankenstein's monster "Flash+XHTML," and I still didn't want to join the hype. Still, because the noise was so loud, I felt like I might be becoming obsolete, an "old man yelling at the clouds". New very interesting tools like HTMX or Unpoly popped up that looked promising at first, but at closer inspection weren't optimized for my use case either. These were primarily built for real interfaces/single-page-apps (html snippets instead of full pages, UI state independent of URLs, altered DOM saved in history snapshots, ...). I wanted to find a tiny tool, optimized for building presentational , content-driven websites with a strong focus on accessibility . Instead, after a few years of rolling my own home-grown solutions, I started using swup[0], a "Versatile and extensible page transition library for server-rendered websites". Swup consists of a tiny core and a rich ecosystem of official plugins[1] for additional functionality. It was hitting the sweet spot between simplicity and complexity, and felt like it was perfect for my use cases. Shortly after I had started using it, I became a core contributor and maintainer of swup. The only thing I was still missing to be a happy developer was the ability to create really complex navigation paths where selected fragments are updated as you navigate a site, much like nested routes allow in React or Vue. The last two months I teamed up with @daun [2] to finally solve this hard problem. The result is two things: 1. A new major release of swup (v4) that allows customizing the complete page transition process by providing a powerful hook system and a mutable visit object 2. The newly released fragment-plugin [3] that provides a declarative API for dynamically replacing containers based on rules Use cases for the fragment-plugin are: - a filter UI that live-updates its list of results on every interaction - a detail overlay that shows on top of the currently open content - a tab group that updates only itself when selecting one of the tabs - a form that updates only itself upon submission I can now finally build websites that tick all three boxes: 1. Visually impressive, fun, and snappy by using swup's first-class support for animations[4], cache[5], and preload capacities[6], enhanced with fragment visits as seen on the demo site. 2. Accessible by being able to serve server-rendered semantic markup that will fully work even with JavaScript disabled (try it out on the demo site!). On top of that, swup's a11y plugin[7] will automatically announce page visits to assistive technologies and will focus the new `
` element after each visit. 3. Because now all I need for my fancy frontend is a bit of progressive JavaScript, I can choose whatever tool I like on the server, keeping complexity low and maintainability high. I can use SSGs like eleventy or Astro (the demo site is built using Astro!), I can use any CMS like WordPress or ProcessWire, or a framework like Laravel. And I don't have to maintain an additional node server for SSG! The plugin is still in it's early stages, but I have a good feeling that this finally is the right path for me as a web developer. All it took was 20 years! ;) [0] https://ift.tt/hNK038M [1] https://ift.tt/WtK6Izl [2] https://github.com/daun [3] https://ift.tt/n3z17qF [4] https://ift.tt/zPLfIU1 [5] https://ift.tt/s8ZNRhp [6] https://ift.tt/5PbB72m [7] https://ift.tt/i0skID1 https://ift.tt/sDBAUkW August 2, 2023 at 05:45PM
Show HN: Glo Dollar – the antipoverty stablecoin https://ift.tt/2EyfiVI
Show HN: Glo Dollar – the antipoverty stablecoin Hi everyone! I just shipped a crypto project which I think all of you might actually like. It’s a digital dollar that helps end extreme poverty called Glo Dollar. We're backed by Sid Sijbrandij (GitLab). How it works: 1. You buy $1 Glo Dollar for $1 USD 2. Our partners invest the $1 USD in US Treasuries 3. Revenue we make we donate to a charity called GiveDirectly.org who use it to fund basic income programs for people in extreme poverty Note that you can _always_ redeem your $1 Glo Dollar for $1 USD again. We’re doing this because we believe stablecoins are a public good and should be managed as one. At the moment, the two big stablecoin companies are making record profits for a tiny group of shareholders instead. Tether, the issuer of USDT, shared profits of ~$1.5 billion in Q1 on assets under management of ~60 billion, with just ~50 people on staff. Even though its success is mostly attributable to the ecosystem’s adoption. Glo Dollar seeks to radically change this dynamic by repurposing its revenue to a good cause rather than risk/profit-seeking shareholders. At scale, we could lift millions of people out of extreme poverty. So even if you loathe crypto, we hope you at least appreciate what we’re trying to achieve. Very curious what y’all think :-)! https://ift.tt/EvTHsXA August 2, 2023 at 11:52PM
Wednesday, August 2, 2023
Show HN: Bookmarklet to open any web page in archive.is https://ift.tt/GwNF3pP
Show HN: Bookmarklet to open any web page in archive.is This will bypass most paywalls. Simply make a new bookmark, edit it and paste in this code: javascript:(()=>{var url="https://archive.is/"+encodeURI(window.location.protocol + "//" + window.location.hostname + window.location.pathname); window.open(url, "_blank");})(); August 2, 2023 at 12:50AM
Show HN: IdentityLM, cryptographic proof of identity via language model output https://ift.tt/ntWlOuY
Show HN: IdentityLM, cryptographic proof of identity via language model output Hi HN, IdentityLM allows you to create text from a language model that is statistically signed by you, in a way that is computationally very hard to replicate, and computationally very easy to verify. It builds on current research around logit biasing, statistically advantaging certain tokens in a deterministic way. That research focuses on watermarking language model output to identify the model it came from. A really good paper about this idea was just awarded outstanding paper at ICML - https://ift.tt/2fbBa9x . I’ve basically taken that research and interpreted it in the context of public key cryptography. The readme of the github repo is basically small white paper describing how it works. Why should you care? First of all, we can fight scams and deepfakes with it which I know everyone is worried about with generative models becoming so good at simulating a politician, or writing convincing phishing emails and so on. Using speech-to-text it could also verify phone identities. Second, it’s allows transferable identity and trust across any internet platform. You can prove who you are anywhere, and link different profiles, just with natural text. Third, it allows extra encryption around pretty much anything. It adds an extra layer of proof to any interaction or communication. Love to have any comments or feedback! https://ift.tt/sjO7Ca6 August 2, 2023 at 01:06AM
Show HN: Release Train – Continuous Releases Made Easy https://ift.tt/B8VyxvJ
Show HN: Release Train – Continuous Releases Made Easy https://ift.tt/zqwe9Vf August 1, 2023 at 10:43PM
Tuesday, August 1, 2023
Show HN: A simple wireless power demonstration circuit https://ift.tt/zuVAHYa
Show HN: A simple wireless power demonstration circuit https://ift.tt/uHxiPIh August 1, 2023 at 10:08AM
Show HN: Socket web extension – free NPM supply chain protection https://ift.tt/UMmIlEu
Show HN: Socket web extension – free NPM supply chain protection Hey HN, I'm Arjun, an 18-year-old intern at Socket. I've been working on a project that I'm really excited to share with you all - a browser extension that makes it easier to check the security of NPM packages before you use them. You can try the extension on any Chromium-based browser or on Firefox. - Chrome extension: https://ift.tt/JzQfdyP - Firefox add-on: https://ift.tt/GVe7h69 Socket scans NPM packages for malware, vulnerabilities, code smell, and unwanted behavior using AI and some very powerful in-house static analysis we've been perfecting over the last 2 years. As the primary developer of Parcel.js' web extension transformer ( https://ift.tt/ZaGERtx ), I thought it would be cool to use my own work on Parcel to create a useful extension during my internship at Socket. The extension displays scores alongside each package indicating quality, security, maintenance, and other useful metrics. It also tells you if a package accesses the network when it shouldn't need to, or if it runs malware in an install script. You can learn more about its features in my blog post: https://ift.tt/U4p7hFy Feel free to ask any questions you have about Socket, the extension or even my work on Parcel. Excited to hear your feedback! - Arjun https://ift.tt/JzQfdyP August 1, 2023 at 04:23AM
Subscribe to:
Posts (Atom)
Show HN: Core – open source memory graph for LLMs – shareable, user owned https://ift.tt/2eL9jK6
Show HN: Core – open source memory graph for LLMs – shareable, user owned I keep running in the same problem of each AI app “remembers” me i...
-
Show HN: An AI logo generator that can also generate SVG logos Hey everyone, I've spent the past 2 weeks building an AI logo generator, ...
-
Show HN: Snap Scope – Visualize Lens Focal Length Distribution from EXIF Data https://ift.tt/yrqHZtDShow HN: Snap Scope – Visualize Lens Focal Length Distribution from EXIF Data Hey HN, I built this tool because I wanted to understand which...
-
Show HN: Federated IndieAuth Server implemented as a notebook https://ift.tt/32IC633 April 27, 2021 at 04:37PM