me

Samsung Galaxy S20 Plus review: Wholesome package justifies premium pricing

Several major upgrades to predecessor Galaxy S10 Plus but the same price tag of Rs 73,999 make the Galaxy 20 Plus a worthy premium smartphone




me

PHP cURL Examples: 10 Awesome Things to Do With cURL

cURL, and its PHP extension libcURL, are tools which can be used to simulate a web browser. In fact, it can for example, submit forms. In this article, I'm going to show you 10 incredible things that you can do using PHP and cURL.




me

Best WooCommerce Code Snippets: Add to Cart Link & More

Since over 5 years, WooCommerce is recognized as the most powerful and easy to use e-commerce plugin for WordPress. In this article, I have compiled my all time favorite hacks and code snippets to extend WooCommerce possibilities.




me

Best CSS Frameworks for Building Better Websites

When building a website, using a CSS framework is a real time saver as it provides you with tools every web designer and front-end developer needs when crafting a site (other than good web hosting). A CSS framework is a software framework created to allow for easier, more standards-compliant web design using HTML/CSS. Many popular …

Best CSS Frameworks for Building Better Websites Read More »




me

Janaushadhi Kendras accepting orders on WhatsApp, e-mail to facilitate access to medicines: Government

"It is heartening to note that many PMBJKs are using modern communication tools including social media platforms like Whatsapp to provide better services in effecting faster delivery of essential medicines to the needy," Minister of Chemicals and Fertilizers DV Sadananda Gowda said.




me

CSIR submits 53 genome sequences of coronavirus to global body; to share 450 more by May 15

CSIR's Institute of Genomics and Integrative Biology (IGIB), Delhi, Centre for Cellular and Molecular Biology (CCMB), Hyderabad and Institute of Microbial Technology, Chandigarh are currently sequencing the genomes of the novel coronavirus, he said. Other CSIR institutes are also expected to join the process.




me

Sufficient trouble: compositions for computer, live instruments, and voice / Brian Belet

MEDIA PhonCD B411 sel




me

Betty and the sensory world: experimental electronic music / Doug Bielmeier

MEDIA PhonCD B4763 bet




me

Breaking ground: a celebration of women composers / Natalie Mannix, Stephanie Bruning

MEDIA PhonCD M316 bre




me

The early immersive music of Joan La Barbara.

MEDIA PhonCD L111 vocmu b




me

Ergo: new music for piano & Chinese folk instruments / Zhen Chen

MEDIA PhonCD C4201 insmu




me

Color theory: music for saxophones, percussion and Harry Partch instruments / Prism Quartet, Sō Percussion, Partch

MEDIA PhonCD P937 col




me

Monológos: música mexicana de concierto para violonchelo solo / Gustavo Martín, violonchelo

MEDIA PhonCD M3631 mon




me

Clusters: American piano explorations / Rory Cowal, piano

MEDIA PhonCD C8378 clu




me

Cat o' nine tails: The dead man ; Memento mori ; Kol nidre / John Zorn

MEDIA PhonCD Z77 quasmu




me

Changes: 64 studies for 6 harps / James Tenney

MEDIA PhonCD T257 cha




me

Piano music / Robert Palmer

MEDIA PhonCD P182 piamu




me

Phenomenal woman: the Maya Angelou songs ; and, Songs without words / Capathia Jenkins & Louis Rosen

MEDIA PhonCD J R722 phe




me

Project W: works by diverse women composers.

MEDIA PhonCD C432 pro




me

Tasmin Little plays Clara Schumann, Dame Ethel Smyth, Amy Beach.

MEDIA PhonCD L728 tas




me

Bach trios / Yo-Yo Ma, Chris Thile, Edgar Meyer

MEDIA PhonCD B122 insmu ar a




me

Crossings: contemporary music for Chinese instruments / Chen, Liang, McClure, Roy, Stallmann, Walczak

MEDIA PhonCD L729 cro




me

Masters legacy series. Emmet Cohen ; featuring Ron Carter, Evan Sherman

MEDIA PhonCD J C662 mas v.2




me

A Bronx tale: original Broadway cast recording / music by Alan Menken ; lyrics by Glenn Slater

MEDIA PhonCD M526 bro




me

Transcending toxic times / the Last Poets

MEDIA PhonCD P L339 tra




me

Anima sacra / Jakub Józef Orliński ; Il Pomo d'Oro ; Maxim Emelyanychev

MEDIA PhonCD Or53 ani




me

Paris to Calcutta: men and music on the desert road / Deben Bhattacharya ; with an introduction by Jharna Bose Bhattacharya ; produced and edited by Robert Millis

MEDIA PhonCD F G3200.B469




me

--as if the mesh of words were broken--: Lieder in the late 20th century and beyond.

MEDIA PhonCD L566 as




me

Korean women's voices.

MEDIA PhonCD C45073 kor




me

Free America!: early songs of resistance and rebellion / The Boston Camerata, Anne Azéma

MEDIA PhonCD B6565 fre




me

Tangos for Yvar / Aharonián, Babbitt, Berkman, Biscardi, Fennelly, Finch, Hill, Johnson, Mumford, Nichifor, Nobre, Nyman, Pender, Piazzolla, Rzewski, Schimmel, Vigeland, Wolpe

MEDIA PhonCD Sh97 tan




me

Chaos theory: song cycles for prepared saxophone / Sam Newsome

MEDIA PhonCD J N479 cha




me

Migrations / Derek Bermel

MEDIA PhonCD B4557 sel a




me

Tootsie: the comedy musical / music and lyrics by David Yazbek ; book by Robert Horn ; based on the story by Don McGuire and Larry Gelbart and the Columbia Pictures motion picture

MEDIA PhonCD Y29 too




me

Stax '68: a Memphis story.

MEDIA PhonCD P St289 six




me

Symphony no. 2: 'America' / Dan Locklair

MEDIA PhonCD L812 orcmu a




me

Harmonium / James Tenney

MEDIA PhonCD T257 sel c




me

Garlands for Steven Stucky / Gloria Cheng, piano ; Peabody Southwell, mezzo-soprano ; Carolyn Hove, oboe

MEDIA PhonCD C422 gar




me

Messe C-Moll KV 427 mit Werkeinführung / Mozart

MEDIA PhonCD M877 ma427 e




me

Ses premiers interprètes: His first performers / Debussy

MEDIA PhonCD D354 sel c




me

Instruments of revelation / Victoria Bond

MEDIA PhonCD B64 sel




me

Jerusalem / Pera Ensemble ; Mehmet C. Yeşilçay

MEDIA PhonCD P41 jer




me

Black voices rise: African American artists at the Met, 1955-1985.

MEDIA PhonCD B5606 voi




me

Prog: Emerald eyes

MEDIA PhonCD ML5.P76 v.104




me

An anthology of Greek experimental electronic music, 1966-2016.

MEDIA PhonCD F G6810.A584




me

RBI likely to issue licence for small, payments banks by August

Reserve Bank of India is likely to issue the licence for either Small or Payments Banks by August




me

Web Tools #347 - JS Testing, Media Tools, Git/CLI Tools, Uncats

Web Tools Weekly

Issue #347 • March 12, 2020

The following intro is a paid product review for Wallaby, a developer productivity tool that runs your JavaScript and TypeScript tests immediately as you type.

Code testing is a huge part of the current JavaScript landscape, so if it's crucial that you run tests on your code base regularly, you'll love Wallaby. Wallaby is available as an extension for VS Code, JetBrains Editors, Visual Studio, Sublime Text, and Atom. I'll demonstrate here how powerful Wallaby is by showing you how it works within VS Code.

Once you've installed and configured Wallaby, you can open any project and run it via its Command Palette, shown here:

 
Wallaby's Command Palette in VS Code


When you choose the Start command, you can open any JavaScript or TypeScript file and you'll see something like the following:

 
Wallaby's code coverage and logs


Notice a few things:
 

  • The colored squares on the left indicate code coverage. These squares can be grey, yellow, green, pink, or red, indicating various levels of coverage from your tests.
  • The lines that contain console.logs have their outputs displayed to the right. These get updated in real time as you write or edit your code (similar to Quokka.js, another tool by the same developers that I've reviewed previously)


As you can see, if you're accustomed to using a lot of console.logs and adding breakpoints to your code, Wallaby is going to dramatically increase your productivity. You get that feedback immediately within the code, without actually executing it in a browser or other environment. In other words, your code editor is the console, with the bonus of everything displaying in its immediate code context.

When it's running, Wallaby displays the number of failed and passed tests in the status bar:
 

Wallaby displays passed/failed tests in the status bar


Clicking on the failed and passed tests in the status bar will open Wallaby's Output Channel, with a little more detail on what's happening with your tests:

 
Wallaby's Output Panel


One of the features that has caught the attention of many developers is Wallaby's Time Travel Debugger, which was added to Wallaby in December. This feature allows you to move forward or backwards through your code to understand what led to a specific bug.

 
Wallaby's Debugger View


You can start the debugger on a line of code where your test begins, or on any line executed by one of your tests. Once begun, you can run a number of different commands to get to the root of a particular issue. This is helped out by the Debugger View that opens in the left panel. Pretty powerful! And again, part of the power is that this is all available right inside your code base – no need to open up a separate environment like the developer tools in your browser.

There's a lot more to Wallaby that I haven't mentioned here, but this should be enough to give you a taste of some of the primary features of the tool, which is free to try. Check out the docs for more on what I've only briefly touched on here.

Now on to this week's tools!

 

Media Tools (SVG, Video, etc)

Iconset
Free, cross-platform SVG icon organizer app for designers, developers or product teams. Works on both Mac and Windows.

Open Peeps
A hand-drawn illustration library to create scenes of people, each drawing available in PNG or SVG format.

Cosha
JavaScript utility to add colored shadows to your images. Use via defaults or customize via the API.

Filmage Screen
Screen recorder and video editor for Mac. All-in-one video toolbox that lets you record HD video, edit video, make animated GIFs, convert video, and more.

Biteable
Video making platform with ready templates for creating marketing videos for different social platforms, industries, etc.

Unscreen
Online tool that uses AI to remove the background from an uploaded video.

SequenceDiagram.org
Online tool to build sequence diagrams using a drag-and-drop interface, useful for presentations.

Faux Code Generator
Input real code via a Gist URL and this tool will produce an SVG version of the code in a mock format, for possible use in slides, etc.

Smithsonian Open Access
Download, share, and reuse millions of the Smithsonian’s images. Use in commercial projects without attribution or written permission (although you should read the FAQ for copyright considerations).

Panolens.js
Flexible, event-driven, WebGL-based JavaScript panorama viewer built on Three.js.

Fontice.com
Fastest browser-based WebP converter. Free JPG/PNG to WebP conversion without uploading to any other servers.

Heroicons
A set of free MIT-licensed high-quality SVG icons for UI development

Git, GitHub, and CLI Tools

React Chat Tutorial
Quickly build chat leveraging Stream's Chat API. Our comprehensive React components will get you up and running fast.  sponsored

CLUI
A collection of JavaScript libraries for building command-line interfaces with context-aware autocomplete.

actions-comment-run
GitHub action to execute any script in an issue or pull request comment.

tickgit
Allows you to do project management in your codebase with TODO comments.

grep.app
Search across a half million Git repos, with options for case sensitivity, regex, and whole words only.

GitHub Data
Populate data from GitHub into Figma mockups.

GitHub CLI
In case you missed it, this is GitHub's official command line tool.

Octomments
GitHub issues as a comment plugin.

Gitpod
Launches ready-to-code dev environments for your GitHub or GitLab project with a single click.

GistPad
VS Code extension for managing and sharing code snippets, notes and interactive samples using GitHub Gists.

paint-github
This is kind of humourous. It's a Chrome or Firefox extension that adds a feature to GitHub comments that lets you "draw" your comment.

The Uncategorizables

React Chat Tutorial
Quickly build chat leveraging Stream's Chat API. Our comprehensive React components will get you up and running fast.  sponsored

Outgrow
Platform to build interactive content like calculators, quizzes, chatbots, surveys, and more, for marketing purposes.

unavatar
API that searches common social media platforms to get a user's avatar image by means of a username.

Voiceflow
Design, prototype and build voice apps. Collaboratively design, prototype, and build Alexa Skills and Google Actions, without coding.

Limio
Sell subscriptions and recurring products, build landing pages, checkouts, self-service portals, and more, with no code.

ResponseVault
Alpha. Create a database application with a drag and drop form builder. Import your own JavaScript UI widgets.

Awesome JS
A visual tool to look for popular JavaScript packages, categorized.

Advanced App Development Cost Calculator
Seems to be mainly for large corporate apps because the estimated prices are fairly high.

Nots.io
Documentation tool for development teams. Access docs from your code and always know if something is obsolete.

Opensource Buiders
Find open-source alternatives for your favorite apps.

damnshort
Short dot-com names, suitable for branding, available for sale for $195 each.

A Tweet for Thought

I think it's safe to say many of us are punk rock programmers.
 

Send Me Your Tools!

Made something? Send links via Direct Message on Twitter @WebToolsWeekly (details here). No tutorials or articles, please. If you have any suggestions for improvement or corrections, feel free to reply to this email.
 

Before I Go...

If you love numbers and Math, you'll adore MetaNumbers. It's an encyclopedia providing all sorts of super-boring info on any positive integer you enter. To me this is kind of like Brian Regan's comedy bit on refrigerators, but I know a lot of you might find it interesting.

Thanks to everyone for subscribing and reading!

Keep tooling,
Louis
webtoolsweekly.com
@WebToolsWeekly
PayPal.me/WebToolsWeekly




me

Web Tools #349 - DOM Snippets, Front-end Frameworks, Media, Uncats

Web Tools Weekly

Issue #349 • March 26, 2020

Advertisement via Syndicate
Have Happier, More Productive Video Meetings
Team.video makes it easier and faster for remote teams to work together by offering user friendly video meetings with agendas, collaborative notes, and emoji responses. No download required and it’s free to use.
Try Team.video for FREE!

Although I often include quick DOM scripting tips in the intro of this newsletter, for this week, I'm just going to point you to a great little resource that was sent to me by reader Phuoc Nguyen:

It's more or less a repository of basic, intermediate, and advanced native DOM scripting snippets.
 
HTML DOM: A resource of native DOM snippets

Here are some of the advanced and intermediate examples:
  • Make a draggable element
  • Resize columns of a table
  • Sort a table by clicking its headers
  • Calculate the size of the scrollbar
  • Communicate between an iframe and parent window
There are more than 80 tips currently listed and I'm sure he'll add more later. Even if you don't necessarily use any of the snippets in a real project right away, there are plenty of little coding tidbits you can glean form the example code, which is all just vanilla JavaScript with no library or framework involved.

So check out HTML DOM, I'm sure you'll have lots to investigate!
 

Now on to this week's tools!
 

Front-end Frameworks

Have Happier, More Productive Video Meetings
Team.video makes it easier and faster for remote teams to work together by offering user friendly video meetings with agendas, collaborative notes, and emoji responses. No download required and it’s free to use.   via Syndicate

chakra-ui-vue
A set of accessible and composable Vue components that you can use to build your favourite applications and sites.

Pixel Lite
A beautifully crafted, responsive UI kit based on Bootstrap 4 that includes 100 components, 3 plugins, and 3 example pages.

next-typescript-materialui-jest-starter
Very opinionated starter boilerplate for projects based on Next.js, setup with Typescript, Material-UI, and Jest.

React SaaS Template
Template for building a SaaS app or admin website using React + Material-UI.

web3-react
A simple, extensible, dependency-minimized framework for building modern Ethereum decentralized apps.

Tailwind UI
A UI components library, crafted by the creators of Tailwind CSS.

neo.mjs
A Web Workers-driven UI framework.

LitElement
A simple base class for creating fast, lightweight web components. Makes it easy to define web components – ideal for building a UI design system.

Ionic React
React version of Ionic Framework. 100+ mobile optimized React UI components. Standard React tooling with react-dom.

Accessible Components
Scott O'Hara's repo that lists all the accessible widgets and components he's built.

StarAdmin
A free responsive admin template built with Bootstrap 4.

Media Tools

Tech Productivity Newsletter
A brief newsletter featuring tools and articles for remote work, work culture, learning science, and more – all to help you be more productive.   promoted 

Croppola
Upload a photo and this tool will use AI to crop the photo for you automatically, or you can crop it manually and download the result.

Image to Colors
Online tool that extracts colors from any photo on upload.

Nuxt Optimized Images
Automatically optimizes images used in Nuxt.js projects (JPEG, PNG, SVG, WebP and GIF).

Twilio Video React App
Demonstrates a multi-party video application built with twilio-video.js and Create React App.

react-particle-image
React component to render images as interactive particles. There's an interactive demo using the React logo that's pretty cool.

CoreUI Icons
Premium designed free icon for web and mobile, available in SVG, webfont, and raster formats.

DotMatrix.js
A small, performant class-based, dot matrix library with animated movements that respond to mouse/touch events.

react-calendar-heatmap
A calendar heatmap component built on SVG, inspired by GitHub’s commit calendar graph.

Chessboard Image
Modify chess pieces on a virtual chess board, to create chess positions, then download the image for use wherever you want. Might be cool for a chess tutorial website or blog.

Video Language
A language for making movies. Combines the power of a traditional video editor with the capabilities of a full programming language.

The Uncategorizables

Tech Productivity Newsletter
A brief newsletter featuring tools and articles for remote work, work culture, learning science, and more – all to help you be more productive.   promoted 

Mailcoach
A self-hosted email list manager. It integrates with services like Amazon SES, Mailgun, Postmark, or Sendgrid to send out mailings affordably.

Backstage
Open-source developer portal that puts the developer experience first by means of a a unified front end for all your infrastructure tooling.

dstack.ai
Collaborative data exploration. Enables individual data scientists and their teams to publish, share, and track data visualizations.

TAGX
Allows you to create video highlights and annotate the interesting parts of a video. Enter a YouTube, Vimeo, or direct video link to start annotating.

cs.opensource.google
A search engine to search Google's open source projects (Angular, Dart, Flutter, Go, etc).

Cotter
One-click secure phone number login for your apps.

Phrase
Automate localization processes. Edit language files online with your team of translators or order translations into more than 60 languages.

It's a Live
Lets you mimic a live coding presentation by prerecording the presentation, which gets triggered by random keystrokes as if you were really coding.

EasyCSV
Import spreadsheets into your App, Zapier, Google Sheets, Salesforce, or any public API in minutes.

Pico
Platform to create paywalled content, subscriptions, newsletters, etc.

A Tweet for Thought

This underappreciated Tweet by Adam Greenough should be the dev-related Tweet of the year.
 

Send Me Your Tools!

Made something? Send links via Direct Message on Twitter @WebToolsWeekly (details here). No tutorials or articles, please. If you have any suggestions for improvement or corrections, feel free to reply to this email.
 

Before I Go...

If you've got a lot of extra time at home (and you should!) you might like Codepip. There you'll find a number of different interactive online games that teach you various aspects of front-end development.

Thanks to everyone for subscribing and reading!

Keep tooling,
Louis
webtoolsweekly.com
@WebToolsWeekly
PayPal.me/WebToolsWeekly




me

Web Tools #351 - JS Utilities, Media Tools, Uncategorizables

Web Tools Weekly

Issue #351 • April 9, 2020

Advertisement via Syndicate
Working From Home? Try Team.Video
Team.video makes it easier and faster for remote teams to work together by offering user friendly video meetings with agendas, collaborative notes, and emoji responses. No download required and it’s free to use.
Try Team.video for FREE!

Last week I covered a really simple introduction to the HTML Drag and Drop API, for those of you who have never used it before. The demo has the minimum code required to produce a drag and drop example. Let's take that a little further and incorporate the dataTransfer object, which has methods and properties that can be used in the midst of a drag and drop operation.

First, I can use the setData() method of the dataTransfer object, which I'll incorporate in the midst of my event listener when listening for a dragstart event (an event I didn't need to use in the previous demo). The relevant line looks something like this (where "e" is the event object):

e.dataTransfer.setData('text/html', box.innerHTML)

As you can see, the setData() method takes two arguments: The data type and the data itself. In this case, the data is simply the innerHTML of the dragged element. This is the first step in transferring data: Setting the data, which happens when the element is initially dragged.

The next key line in my code will be using the getData() method. In this case, I'll use it when the drop event is triggered on my drop area element:

this.style.background = e.dataTransfer.getData('text/html')

The data that I'll be grabbing is text that represents a valid CSS color keyword, which will be inside each draggable element. The data could be a lot of things, but in this case I'm just using some text for demo purposes. And as you can see, the text sets the background color of the drop area element.

See the full working demo here

There's naturally a lot more code there, but it's fairly straightforward. I'm looping over the draggable boxes to add the event listeners to each one. The setData() and getData() methods are used within that loop to obtain and apply the color info.

Try dragging any of the boxes into the drop area to see the background of the drop area change. You can even try changing the HTML to use different colors (any valid CSS color value will work). As long as the color is valid, the background of the drop area element will change to that color.

And that's a basic way to use the dataTransfer object when working with the Drag and Drop API.
 

Now on to this week's tools!
 

JavaScript Utilities

Working From Home? Try Team.Video
Team.video makes it easier and faster for remote teams to work together by offering user friendly video meetings with agendas, collaborative notes, and emoji responses. No download required and it’s free to use.   via Syndicate

Van11y
Bit of an older project that I just discovered. A collection of customizable, accessible scripts for rich interface elements, built using progressive enhancement.

Rsup Progress
A simple progress bar with promises support.

Heapify
A very fast JavaScript priority queue, implemented using a binary heap, with no dependencies.

Nano Events
Simple and tiny (72 bytes) event emitter library for JavaScript.

Chardin.js
Simple overlay instructions for your apps. Kind of like those 'app tour' plugins, but just a single overlay pointing stuff out.

Serialize JavaScript
Serialize JavaScript to a superset of JSON that includes regular expressions and functions.

FullCalendar
A JavaScript calendar plugin, great for displaying events with drag-and-drop capabilities and an API for extending its functionality.

defu
Utility to recursively assign default properties.

Clack
A modern keyboard shortcut library written in Typescript.

Sharect.js
A lightweight (2.9Kb gzipped and minified) JavaScript library to let users share text selections to social networks in desktop browsers (like Medium).

Uppload
A better JavaScript image uploader. Highly customizable with 30+ plugins, open-source, and can be used with any file uploading back end.

Media Tools (SVG, Video, Audio, etc.)

Beginner JavaScript by Wes Bos is 50% Off!
The master package includes 88 HD videos, part of 15 modules – and course updates are free forever.   promoted 

mediasoup
Cutting-edge WebRTC video conferencing. The perfect choice for building multi-party video conferencing and real-time streaming apps.

gifcap
Create animated GIFs in your browser from a screen recording. Client-side only, no data is uploaded.

Tabler Icons
A set of over 400 free MIT-licensed high-quality SVG icons for you to use in your web projects. Each icon is designed on a 24x24 grid and a 2px stroke.

Video Puppet
Using a markdown file, create a video (with captions) from a chosen set of images, audio files and smaller video clips.

Exifr
The fastest and most versatile JavaScript EXIF reading library.

Seamless Pattern Generator
Create seamless, repeatable royalty free patterns for your website, or to download as SVG, JPEG or PNG.

Resoundly
Produce a podcast simply by typing the content and this app will convert it to speech.

Spline
Easily create 3D web experiences without coding. Build and iterate fast with production-ready results.

Photo Stream
Self-hosted, super simple photo stream. Built with Ruby and seems to require either Netlify or Jekyll.

Ionicons
Premium designed icons for use in web, iOS, Android, and desktop apps. Support for SVG and web font.

The Uncategorizables

Advanced React & GraphQL by Wes Bos is 50% Off!
The master package includes 68 HD videos, part of 10 modules – and course updates are free forever.   promoted 

Brim
Desktop application to efficiently search large packet captures and logs from Zeek (the network security monitoring tool).

StartNames
Produces brandable ideas for domain names in a Twitter stream, based on actual domains that are for sale.

WMS Everywhere
Chrome extension to help you research search volume, advertising cost per click, and related keywords inside Google search results – free and on-demand.

PDF.js Express
Add a PDF.js viewer with out-of-the-box annotation, PDF form fill, and signing. Based on Mozilla's PDF.js (for parsing and rendering PDFs).

AsyncAPI
Open source tools to easily build and maintain your event-driven architecture. All powered by the AsyncAPI specification, the industry standard for defining asynchronous APIs.

Weglot
Allows you to make your website multilingual in minutes and to manage all your translations effortlessly.

Our Site Updates
An easy way to post updates to your website (e.g. via easy to install banners) and keep visitors informed.

RightFont
An innovative, beautiful and professional font manager app for Mac, helping designers preview, install, sync, and manage their font files.

PingPong
Remote user interviews and user tests made simple.

Extract Article Text
Lets you easily extract boilerplate-free text from news articles, blogs, press releases, and company pages with a single API request.

Commerce
Drop‑in e‑commerce for any website with a single line of code. Serverless, real‑time, and API‑first.

A Tweet for Thought

When you're living in a tech bubble like many of us are, it's hard to believe there are people this naive.
 

Send Me Your Tools!

Made something? Send links via Direct Message on Twitter @WebToolsWeekly (details here). No tutorials or articles, please. If you have any suggestions for improvement or corrections, feel free to reply to this email.
 

Before I Go...

This is amazing: Open and Shut lets you send messages in Morse code by repeatedly slamming your laptop shut. So if you've been kidnapped and forced to give up all your passwords or something...?

Thanks to everyone for subscribing and reading!

Keep tooling,
Louis
webtoolsweekly.com
@WebToolsWeekly
PayPal.me/WebToolsWeekly




me

Web Tools #355 - Frameworks, Testing Tools, JS Utilities

Web Tools Weekly

Issue #355 • May 7, 2020

Promotion
123FormBuilder Gold Plan: Lifetime Subscription
For a one-time fee of $39.99 (usually $299.88/year) ‬you get a lifetime subscription to the gold plan (20 forms/month, 5000 submissions/month). A web-based form and survey builder with a no-code drag-and-drop editor, 1000+ form templates, integration with Google Sheets, MailChimp, Dropbox, and more.
Check it Out Here

When creating interfaces using HTML's Drag and Drop API (various aspects of which I've covered in recent issues), it's important to note that some elements on a web page are already 'draggable' by default. And you've no doubt noticed this. The spec explains that the following elements are draggable by default:

  • A text selection
  • An image
  • An `a` element with an `href` attribute
Every element on the page that doesn't explicitly have the draggable attribute set has a draggable value of "auto". But that doesn't mean you can check for a value of "auto". As the spec says, if an element's draggable attribute is not set to either true or false:

"...the element's draggable content attribute has the state auto. If the element is an img element, an object element that represents an image, or an a element with an href content attribute, the draggable IDL attribute must return true; otherwise, the draggable IDL attribute must return false."

In other words, the browser will automatically set the draggable value to true or false based on what kind of element it is. Try this CodePen demo to see the effect in action. Notice a few things in the demo:

  • No draggable attributes on the three elements
  • I'm using the Window.getSelection() method to get the selected text after the drag operation begins
  • I'm using preventDefault() when the drop is made to ensure the browser doesn't think something suspicious is happening. If I didn't include this, you'd see a warning before the browser tries to navigate to whatever you drag.
Try selecting any one of the three colors in full, or even a portion of the text in those colors to find another valid color value (e.g. "Pink" inside the color "HotPink"). Notice the background of the dropzone will change accordingly.
As a side point, you can select any random piece of text on that page and you'll see the browser try to figure out what to do with the text if you drop it onto the dropzone. This is similar to dragging an image (which is naturally draggable) into a new page and then the browser visits the URL of that image.

BTW - if you like these kinds of JavaScript tips, you'll love my e-books bundle.
 

Now on to this week's tools!
 

Front-end Frameworks

A No-Code Drag and Drop Form Builder
Get a lifetime membership to 123FormBuilder's Gold plan for a one-time fee of $39.99 (usually $299.88/year). 20 forms/month, 5000 submissions/month, 1000+ form templates, integration with Google Sheets, MailChimp, Dropbox, and more.  promoted 

HTML / Sass Jumpstart
Minimal, themeable, and scalable Sass/HTML template site. Powered by node-sass and includes stylelint, Prettier, and Autoprefixer, hot-reload via Browsersync.

H3
A microframework to build client-side single-page applications (SPAs) in modern JavaScript.

Fast Cart
A Woocommerce PWA platform for building fast loading, mobile-friendly e-commerce websites.

98.css
A CSS library for building retro interfaces that look like Windows 98.

Shorthand
A utility-based CSS framework that allows you to make unique and modern designs without writing any CSS.

Reactron
A tiny Electron project configured to work with React as the front end. The project has the minimum code necessary to start a new app.

Orbit
An open source design system that includes a whole slew of components and utilities for use in your next travel-based app or website.

vue-composable
General purpose Vue Composition API composable and reactive components written in TypeScript.

Hook
A dark HTML landing page template built with the aforementioned Shorthand CSS framework.

LitElement Starter Template
A minimal starter template for a web components app built with LitElement, TypeScript, and Parcel for bundling.

Reach UI
A set of React components to build accessible React-based design systems.

Testing and Debugging Tools

ES6 for Everyone by Wes Bos is 50% Off!
The master package includes 77 HD videos, part of 21 modules – and course updates are free forever.   promoted 

Eruda
Now at version 2+. A console for testing and debugging on mobile browsers.

CursedChrome
This can be used for malicious purposes, so be wary. A Chrome-extension implant that turns victim Chrome browsers into fully-functional HTTP proxies, allowing you to browse sites as your victims.

postMessage-tracker
A Chrome extension to track postMessage usage (URL, domain, and stack) both by logging using CORS and also visually as an extension icon.

Tempomat
Native macOS app for monitoring continuous integration systems.

Will it CORS?
Test if a URL is CORS friendly (i.e. it's safe to send and the response can be read).

Pointer Latency
Tests the delay of pointermove events in the current web browser and demonstrates the usefulness/uselessness of pointer prediction.

axios
A well-known tool but I've never included it here. A Promise-based HTTP client for the browser and Node.

FinDOM-XSS
A fast and simple DOM based XSS vulnerability scanner via a Shell script.

EventReduce Browser Demo
A browser demo where the EventReduce algorithm is used in different browser databases so you can test out the performance gains of different queries.

Insomnia
Now at version 7+. API design platform plus REST and GraphQL client.

JavaScript Utilities

Advanced React & GraphQL by Wes Bos is 50% Off!
The master package includes 68 HD videos, part of 10 modules – and course updates are free forever.   promoted 

emoji-regex
A regular expression to match all Emoji-only symbols as per the Unicode Standard.

Hegel
An advanced static type checker for JavaScript with optional type annotations and is able to prevent runtime type errors.

Rosetta
A general purpose internationalization library in 292 bytes.

SAMD
A tiny, static AMD API implementation that allows including AMD modules in regular script tags.

Flipswitch.js
Pure ES6 library for clipping fixed positioned elements on scroll.

useMemoValue()
Reuse the previous version of a value unless it has changed.

Notyf
A small (~3KB) JavaScript library for toast notifications. Responsive, accessible, dependency-free, and easy to integrate with React, Angular and Vue.

gen-esm-wrapper
CLI tool that makes it easier for module authors to support both ES modules and CommonJS modules for Node.js.

prray
'Promisified' Array, compatible with normal arrays, but comes with support for async methods (e.g. mapAsync).

qrcode-generator
QR code generator implementation in JavaScript, Java, and more.

A Tweet for Thought

In case you wanted to know how long it takes to load your Twitter timeline over a real 56k connection.
 

Send Me Your Tools!

Made something? Send links via Direct Message on Twitter @WebToolsWeekly (details here). No tutorials or articles, please. If you have any suggestions for improvement or corrections, feel free to reply to this email.
 

Before I Go...

Miss the office? Say no more.

Thanks to everyone for subscribing and reading!

Keep tooling,
Louis
webtoolsweekly.com
@WebToolsWeekly
PayPal.me/WebToolsWeekly