![Community banner](https://programming.dev/pictrs/image/b845eb5e-0eec-4ab7-a7fe-dd79462d2918.png)
![webdev](https://programming.dev/pictrs/image/f3a4dd5f-1257-47c8-825a-03a4ebceace3.webp?format=webp&thumbnail=48)
Web Development
- WebApp: Decentralized Chat
chat.positive-intentions.com
github.com/positive-intentions/chat
I'm excited to share with you an instant messaging application I've been working on that might interest you. This is a chat app designed to work within your browser, with a focus on browser-based security and decentralization.
What makes this app unique is that it doesn't rely on messaging servers to function. Instead, it works based on your browser's javascript capabilities.
Here are some features of the app:
- Encrypted messaging: Your messages are encrypted, making them more secure.
- File sharing: Easily share files using WebRTC technology and QR codes.
- Voice and video calls: Connect with others through voice and video calls.
- Shared virtual space: Explore a shared mixed-reality space.
- Image board: Browse and share images in a scrollable format.
Your security is a top priority. Here's how the app keeps you safe:
- Decentralized authentication: No central server is required for login, making it harder for anyone to gain unauthorized access.
- Unique IDs: Your ID is cryptographically random, adding an extra layer of security.
- End-to-end encryption: Your messages are encrypted from your device to the recipient's device, ensuring only you and the recipient can read them.
- Local data storage: Your data is stored only on your device, not on any external servers.
- Self-hostable: You have the option to host the app on your own server if you prefer.
A decentralized infrastructure has many unique challenges and this is a unique approach. Ive taken previous feedback and made updates. Its important to note, the app is an unstable proof-of-concept and a work-in-progress. Its important to understand at this early stage in the project, there will be breaking changes. It is not ready to replace any existing apps or services. While the app is aiming to be an encrypted and secure chat system, the project is not mature enough to have been reviewed by security professionals and should not be considered encrypted or secure. it is provided for testing/review/feedback purposes.
Looking forward to hearing your thoughts!
- Zero-JavaScript View Transitions in Astroastro.build Zero-JavaScript View Transitions | Astro
Part one of our series on The Future of Astro. Browser-native page transitions are now possible with zero JavaScript required.
This is really cool, however I still wait for Firefox to support it.
- I made a getting started guide for embedded analyticsdev.to Mastering Embedded Analytics: A Getting Started Guide 📊
TL;DR This article will walk you through all the information you need about embedded...
- Android Studio (VSCode.dev Alternative)
I was wondering if there was a Web Application where I can work on Android App Development. Think of it like if vscode was only built for Android Development, and how cool it would be to develop android apps directly into your browser, just like vscode.dev.
Now, I was thinking of using
vscode.dev
and installing Gradle and Kotlin packages from the marketplace, but I was wondering if there was another alternative instead of using a Microsoft Product.Likewise, I'm on an Xbox One where I can only use the Browser, can't install anything.
- Is it possible to get the value of a CSS property in an HTML element, using XPath 1.0?
Say you have HTML similar to the following:
html <div style="background-image: url('https://some.domain/image')"></div>
and you want to extracthttps://some.domain/image
using XPath. With XPath 2.0, you can select the URL with something likexpath select-before(select-after(//div/@style, "backgound-image: url("), ")")
but, when using XPath 1.0, this fails — I think it's due to nested functions not being supported in XPath 1.0, but I have been unable to find documentation to confirm that. Is there a way to accomplish this using XPath 1.0? - 7 best open-source chart libraries for developersdev.to 7 Best Chart Libraries For Developers In 2024 🤯
Many applications use charts or graphs for data visualization, which can be implemented using...
- State of HTML 20232023.stateofhtml.com State of HTML 2023
The 2023 edition of the annual survey about the latest trends in the HTML ecosystem.
Results of the State of HTML 2023 Survey are out.
- This makes me wanna write a webpage for the first time (Write Scheme directly in-browser!)github.com GitHub - biwascheme/biwascheme: Scheme interpreter written in JavaScript
Scheme interpreter written in JavaScript. Contribute to biwascheme/biwascheme development by creating an account on GitHub.
This is nice huh? I remember there was a dude here who wanted to make a language called 'ParenScript', I don't know if he wanted to make it Scheme compliant or not but this is a good resource for inspiration.
Many people hate on JS for its syntax, I don't exactly know what is wrong with JS' syntax --- it's just a Fortran-derived syntax. But these people have no reason to hate it if they use this --- Unless they hate S-Expressions too? Then I guess they're just chuds lol.
Now this does not have syntax-rules, which is a pity but I guess the old macro system is good too (define-macro). Keep in mind that these macros, like Mike Rotch, are not hygenic. Meaning if you name something
foo
in the macro's body, and there's another thing namedfoo
in the closure the macro is invoked at, they will conflict.Thanks, enjoy.
- I made a thing
Single HTML element + CSS only
- Inhale for 4 seconds
- Hold for 4 seconds
- Exhale for 4 seconds
- Hold for 4 seconds
And repeat
Inspired by: https://quietkit.com/box-breathing/
Note: The current Safari version has a bugged
linear()
implementation that has been fixed in the upcoming version. - I made a free tool to know my stargazersdev.to I Made a Free Tool to Know My Stargazers 🌟
I have been thinking about the people supporting our repo lately. Every new stargazer means a lot to...
- Do we need Live Reload (Watch) in bundlers?
Do we need live reload feature in bunders? Couldn't we just use this extension for Visual Studio Code or simular features and extensions in other IDEs which will execute a custom command of your choice when you save a file with a certain file extension in your IDE?
https://marketplace.visualstudio.com/items?itemName=emeraldwalk.RunOnSave
This extensions allows you to customize the commands to execute in saving a file in your global VSCode settings and in the VSCode workspace settings
.vscode/settings.json
, allowing others to use the same configuration in group projects.Lightning CSS does not have a live reload feature and the live reload feature in Rollup cannot handle watching many files, however using this extension in VSCode, will not watch files but run the
npm run dev:css
ornpm run dev:js
command when saving a css or js file without watching for files to change.One downside I see with this is when working on a project with others who are using different IDEs that do not support this feature. Besides that, is there any downsides to this approach?
- Theming Storybook
I have been building several react components as libraries to use as part of a bigger idea.
While writing up documentation I realised the examples I provided were Stories I had created for Storybook to test the look of the components.
The storybook MDX documentation seems to provide a nice way to document your stories.
But I am hitting an issue, ideally I would like the Storybook Sidebar/view to be embedded into my page layout (for consistency) or failing that themed to use the same colours/icons/etc..
The documentation seems out of date with Storybook 8 using a different structure and while I have tried to populate a ThemeVar object it seems several of the fields need specific unspecified input.
Has anyone done anything like this before and how well did it work for you?
- 6 Best Embedded Databases for 2024dev.to 6 Best Embedded Databases for 2024 📊
Embedded databases provide many benefits compared to traditional databases. They are simpler to set...
- Websurfx 1.15.0 release
cross-posted from: https://programming.dev/post/13475052
> Hello again!! > > Sorry for the big delay in the announcements. I know it has been a long time I have not made any announcements, but I will try my best next time this doesn't happen again. > > So, through the medium of this post I would like to share with you all the
v1.15.0
major release version of thewebsurfx
project which was released on the 25th of March. > > If you are new, and you don't know what iswebsurfx
then I would suggest taking a look at my previous post here: > > https://programming.dev/post/2678496 > > Which covers in depth about what the project is and why it exists. > > ## Credits > > Before I share with you thechangelog
, what this release version means and a preview on what we are planning to work on for the next major releasev2.0.0
. I would first like to thank all our contributors and maintainers because of whom this was all possible. Specially I would like to thank spencerjibz, ddotthomas and evanyang1 who have been invaluable to the project. Also,Websurfx
would not have been possible without alamin655 and xffxff early involvement. > > ! > Thanks 💖 to all the people involved in the project > > Now, let's dive straight into what this release version actually means. > > ## What does this release version means > > This new release versionv1.15.0
introduces the new ranking algorithm for search results on the search page which ranks the results based on the relevancy to the user's search query. > > ## Changelog > > The changelog of all the changes can be found here: > > https://github.com/neon-mmd/websurfx/releases/tag/v1.15.0 > > ## Preview of the goals for the next major release > > - Different levels of privacy to choose from with the help of rust's conditional compiling features (In progress). > - Even more engines will be supported. > - Categories would be added to search results like images, news, etc. > - More themes will be provided by default > - More animations for the websurfx frontend will be supported. > - Multi language support would be added. > - I2p and tor support will be provided. > - Reduce animations would be added for those who don't want animations and effects on the frontend. > - And lots more ✨. > - Is owning websites for private individuals become forbidden by our governments ?
Hi,
I'm confuse about those mandatory legal notices that governments impose for websites..
Before going further I invite you to read:\ A Declaration of the Independence of Cyberspace \ and \ Discourse on Voluntary Servitude[^1] \
From all the articles[^2] that I read about the mandatory notice to display for website none of them reference the URL of their claim !! / of the legal text !! WTF[^links]
Internet is by essence world wide, and when reading all those legal requirement it's seem that you should display notices for EVERY country !
it's seem also that if you own a private website, just for your own or family use, like for example a web file hosting services. (NextCloud etc..) You should comply with the same requirement that are asked for company ! again... WTF !
Also I don't understand, why make mandatory those notices...(beside the scam (money) ) , I'll come back to this below.
- If you want to buy something off a website, and this later do not mentions any legal address , contact info and so on, the responsibility to buy or not should be only yours. (For example, will you buy a yogurt in the supermarket if there were no brand, contact info on the packing or bill ?)
- if the state want to
censor"regulate" a website on the old internet[^OI] there is plenty of way to know who is the author or at the very least where is it hosted.. - if a website use/distribute a copyrighted© elements. The right holder can do/contact in the following order:
- check the website for contact (if any)
- check the DNS record
- check the hosting
- contact the owner of the IP (IP are leased by company../ ISP )
So there is no sense to ask everyone that extra heavy burden. The only advantage is for law firm (and those cookies related firm) that make a profit out of it. I heard in my entourage peoples that had pay thousandth of $$ to generate those text, keep up to date etc.. even for small website.
- If you think those legal notice are a good thing please do not hesitate to motivate your answer.
- If you have any good links about it, feel free to share.
- What are you doing your self on website of customer and/or for your private websites ?
- if you know a Lemmy community worth to share this post, step forward.
Thanks...
CrossPosted on:
https://lemmy.ml/post/15583047
[^1]:https://en.wikipedia.org/wiki/Discourse_on_Voluntary_Servitude \ https://archive.org/details/0000-00-00-00-etienne-de-la-boetie-00_202201/1548-00-00_Discourse%20on%20Voluntary%20Servitude_1942_org/mode/2up \ -- [^2]:https://elementor.com/blog/website-legal-requirements https://www.websitepolicies.com/blog/legal-requirements-for-websites [^OI]:The one that you are using now with the domains scam. A future internet might be using TOR or GNU Name System
[^links]: if you have those links feel free to share !
- Federated Credential Management (FedCM) API - Web APIs | MDNdeveloper.mozilla.org Federated Credential Management (FedCM) API - Web APIs | MDN
The Federated Credential Management API (or FedCM API) provides a standard mechanism for identity providers (IdPs) to make identity federation services available on the web in a privacy-preserving way, without the need for third-party cookies and redirects. This includes a JavaScript API that enable...
- Google Identity | Google for Developersdevelopers.google.com Google Identity | Google for Developers
Enable users to sign into apps and authorize apps to use Google services
- JavaScript Daily Quiz and Code Snippetsapp.withcodeexample.com Daily Quiz | With Code Example
Challenge your mind daily with our engaging quizzes! Put your knowledge to the test with a new quiz every day, covering various topics.
I have created this app for javascript beginners. Users can attempt daily quiz and see the explanation after each answer. Also providing the frequently used code snippets, you can download beautiful images of code snippets and quiz. Please provide your feedback.
- XMLHttpRequest (XHR) Vs Fetch API
Hi,
I discovered this webpage \ https://developer.mozilla.org/en-US/docs/Glossary/XMLHttpRequest
Where it say >The Fetch API is the modern replacement for XMLHttpRequest.
Without further explain on why so...
Did you (yourself) migrated from XHR to The Fetch API ? and is it better ? or do you know any (not bias) article about it ?
What about performances etc..
Thanks
cross-posted on
https://lemmy.world/post/14707833
- Fedify: ActivityPub server frameworkfedify.dev Fedify
Fedify is a TypeScript library for building federated server apps powered by ActivityPub and other standards, so-called fediverse.
cross-posted from: https://lemmy.ml/post/14845042
> Fedify is an ActivityPub server framework in TypeScript & JavaScript. It aims to eliminate the complexity and redundant boilerplate code when building a federated server app, so that you can focus on your business logic and user experience. > > The key features it provides currently are: > > - Type-safe objects for Activity Vocabulary (including some vendor-specific extensions) > - WebFinger client and server > - HTTP Signatures > - Middleware for handling webhooks > - NodeInfo protocol > - Node.js, Deno, and Bun support > > If you're curious, take a look at the Fedify website! There's comprehensive docs, a demo, a tutorial, example code, and more.
- Latitude: The open-source analytics layer between your database and your usersdev.to Latitude: The missing analytics layer between your database and your users 🤝🏽
What is Latitude? Latitude is the open-source framework for embedded analytics. Create...
- Anyone able to help with my website being slow to certain sections?maclong.deno.dev Mac Long | Software Engineer
Passionate software engineer creating innovative solutions
I have a Deno Fresh app, it runs fine for the most part but there is an issue on load in a browser that hasn't cached anything, clicking the about button doesn't work on the first click but does on the second if you click another in between.
There is also an issue in my android phone where it stutters when scrolling down to the about section as the animation loads.
Any help would be amazing, the repo is here
- Understand the Next Phase of Web Development - Steve Sanderson - NDC London 2024
YouTube Video
Click to view this content.
- Back to Basics in Web Appslackofimagination.org Back to Basics in Web Apps
In the beginning, there was only HTML. The first official HTML specification focused on semantic markup. There were minimal styling tags and attributes. It was up to the web browser how to render the markup in an HTML document. The whole specification was refreshingly simple. You could easily read i...
- How I built a server-side cache with ExpressJS & Reactdev.to How I keep my ExpressJS & React apps fast with server-side caching
TL;DR In this tutorial, you’ll learn how to implement server-side caching to ensure your...
Hi there,
I have written an article on implementing server-side caching that ensures your app stays fast as you scale.
I’ve used ExpressJS for the API server, and React for the frontend.
Hope this helps someone!
- Hardest Problem in Computer Science: Centering Thingstonsky.me Hardest Problem in Computer Science: Centering Things
Somehow we forgot how to center rectangles and must find our way back
- Comparing the Popover API and the <dialog> element - LogRocket Blogblog.logrocket.com Comparing the Popover API and the <dialog> element - LogRocket Blog
Let's discuss the similarities and differences between the Popover and HTMLDialogElement APIs, their use cases, and when to use each.
- Handling large bursts of POST requests to your ActivityPub inbox, using a buffer in Nginxjoin.piefed.social Handling large bursts of POST requests to your ActivityPub inbox, using a buffer in Nginx - PieFed
Fediverse traffic is pretty bursty and sometimes there will be a large backlog of Activities to send to your server, each of which involves a POST. This can hammer your instance and overwhelm the backend’s ability to keep up. Nginx provides a rate-limiting function which can accept POSTs at full spe...
Fediverse traffic is pretty bursty and sometimes there will be a large backlog of Activities to send to your server, each of which involves a POST. This can hammer your instance and overwhelm the backend’s ability to keep up. Nginx provides a rate-limiting function which can accept POSTs at full speed and proxy them slowly through to your backend at whatever rate you specify.
- 10 Top accessibility errors and how to avoid and fix themdev.to 10 Top accessibility errors and how to avoid and fix them
In late December of 2023, TPGi posted its list of the top accessibility errors found through its ARC...
- Node Authentication With Passport.Jsjavascript.withcodeexample.com Node Authentication With Passport.Js
Take your Node development to new heights by mastering passport.js authentication. Your apps deserve nothing but the best security measures.
- HTML: A Comprehensive Guide - Chapter Onedev.to HTML: A Comprehensive Guide - Chapter One
Today I am super proud to announce that I have finally picked up the task of finishing my book...
Today I am super proud to announce that I have finally picked up the task of finishing my book titled, "HTML: A Comprehensive Guide". I am writing the book in public and releasing it under the MIT license.
- Infinite-Scrolling Logos In Single HTML Container And Pure CSSwww.smashingmagazine.com Infinite-Scrolling Logos In Flat HTML And Pure CSS — Smashing Magazine
Remember the HTML `` element? It’s deprecated, so it’s not like you’re going to use it when you need some sort of horizontal auto-scrolling feature. That’s where CSS comes in because it has all the tools we need to pull it off. Silvestar Bistrović demonstrates a technique that makes it possible with...
- How would you build Wordle with just HTML & CSS?scottjehl.com How would you build Wordle with just HTML & CSS? | Scott Jehl, Web Designer/Developer
A fun little form validation and CSS selector experiment
- CSS Folding Effectwww.joshwcomeau.com Folding the DOM
In this post, we'll explore a technique we can use to "fold" a DOM node, like folding a letter in real-life. On that journey, we'll learn a lot about 3D transforms and CSS animation techniques!
- Accessible notifications with ARIA Live Regions (Part 1)www.sarasoueidan.com Accessible notifications with ARIA Live Regions (Part 1)
– The personal website of Sara Soueidan, inclusive design engineer
- Number and Currency Formatting in JavaScript using Intl.NumberFormatdev.to Number and Currency Formatting in JavaScript using Intl.NumberFormat
While this post does not by any means aim to cover all the amazing things you can do with...
- The Top Accessibility Errors Found in 2023 - TPGiwww.tpgi.com The Top Accessibility Errors Found in 2023 - TPGi
Read about the 10 most common issues our teams discovered using both automated and manual testing in 2023.
- An Interactive Guide to CSS Container Queriesishadeed.com An Interactive Guide to CSS Container Queries
Learn how to use CSS container queries today.
- A Quick Command To See the Available Scriptsfrontendmasters.com A Quick Command To See the Available Scripts
Have you ever been like, ughkgh, is it npm run dev or npm run start? Is it yarn testwatch or yarn test:watch? If you do it every time you open a project, I’d suggest setting up tasks. But I m…