# David Walsh

A blog featuring tutorials about JavaScript, HTML5, AJAX, PHP, CSS, WordPress, and everything else development.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## JavaScript SpeechSynthesis API

DevFeed: [JavaScript SpeechSynthesis API](<https://devfeed.tech/articles/javascript-speechsynthesis-api-37491.md>)

Original publisher: [Read original article](<https://davidwalsh.name/speechsynthesis-api>)

Author: David Walsh

Published: 2025-11-20T00:39:07Z

Content type: tutorial

Language: en

Sources: [David Walsh](<https://devfeed.tech/sources/david-walsh.md>)

Topics: [API](<https://devfeed.tech/topics/api.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Accessibility](<https://devfeed.tech/topics/accessibility.md>), [Web](<https://devfeed.tech/topics/web.md>), [browser](<https://devfeed.tech/topics/browser.md>)

Tags: [accessibility](<https://devfeed.tech/tags/accessibility.md>), [api](<https://devfeed.tech/tags/api.md>), [browser](<https://devfeed.tech/tags/browser.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [uncategorized](<https://devfeed.tech/tags/uncategorized.md>), [web](<https://devfeed.tech/tags/web.md>)

### AI overview

This tutorial introduces the JavaScript SpeechSynthesis API, which lets web pages direct the browser to audibly speak arbitrary strings. It presents the API as a way to support accessibility and complement native accessibility tools.

### Source excerpt

As the web continues to be the medium for all users, standards bodies need to continue to provide new APIs to enrich user experience and accessibility. One underused API for unsighted users is speechSynthesis, an API to programmatically direct the browser to audibly speak any arbitrary string. The Code You can direct the browser to [...] The post JavaScript SpeechSynthesis API appeared first on David Walsh Blog.

## Fix "This video format is not supported" on YouTube TV

DevFeed: [Fix "This video format is not supported" on YouTube TV](<https://devfeed.tech/articles/fix-this-video-format-is-not-supported-on-youtube-tv-37481.md>)

Original publisher: [Read original article](<https://davidwalsh.name/fix-this-video-format-is-not-supported-on-youtube-tv>)

Author: David Walsh

Published: 2025-11-17T23:47:34Z

Content type: tutorial

Language: en

Sources: [David Walsh](<https://devfeed.tech/sources/david-walsh.md>)

Topics: [browser](<https://devfeed.tech/topics/browser.md>), [web browser](<https://devfeed.tech/topics/web-browser.md>)

Tags: [browser](<https://devfeed.tech/tags/browser.md>), [drm](<https://devfeed.tech/tags/drm.md>), [error](<https://devfeed.tech/tags/error.md>), [uncategorized](<https://devfeed.tech/tags/uncategorized.md>)

### AI overview

A troubleshooting guide explains how to resolve YouTube TV's "This video format is not supported" error by enabling Widevine DRM in the browser settings and restarting the browser.

### Source excerpt

Setting up a new computer is bliss -- no old, unused apps and the machine performs much better than the previous. Unfortunately, you may encounter new problems based on the new hardware. One such issue I encountered with my new MacBook was a "This video format is not supported" message when I went to YouTube [...] The post Fix "This video format is not supported" on YouTube TV appeared first on David Walsh Blog.

## Easy way to upload, transform and deliver files and images (Sponsored)

DevFeed: [Easy way to upload, transform and deliver files and images (Sponsored)](<https://devfeed.tech/articles/easy-way-to-upload-transform-and-deliver-files-and-images-sponsored-37480.md>)

Original publisher: [Read original article](<https://davidwalsh.name/easy-way-to-upload-transform-and-deliver-files-and-images>)

Author: David Walsh

Published: 2025-03-24T22:58:30Z

Content type: article

Language: en

Sources: [David Walsh](<https://devfeed.tech/sources/david-walsh.md>)

Topics: [file](<https://devfeed.tech/topics/file.md>), [Image](<https://devfeed.tech/topics/image.md>), [Developer experience](<https://devfeed.tech/topics/developer-experience.md>), [Back end](<https://devfeed.tech/topics/backend.md>), [Python](<https://devfeed.tech/topics/python.md>)

Tags: [ascii](<https://devfeed.tech/tags/ascii.md>), [back-end](<https://devfeed.tech/tags/back-end.md>), [conversion](<https://devfeed.tech/tags/conversion.md>), [documentation](<https://devfeed.tech/tags/documentation.md>), [files](<https://devfeed.tech/tags/files.md>), [gif](<https://devfeed.tech/tags/gif.md>), [images](<https://devfeed.tech/tags/images.md>), [python](<https://devfeed.tech/tags/python.md>), [qr-code](<https://devfeed.tech/tags/qr-code.md>), [sponsored](<https://devfeed.tech/tags/sponsored.md>), [uncategorized](<https://devfeed.tech/tags/uncategorized.md>)

### AI overview

This sponsored developer article presents Filestack as a service for uploading, transforming, and delivering files and images. It describes a file-uploading interface, integrations with services such as Google Drive, Dropbox, GitHub, Facebook, and Instagram, a Python library for back-end uploads, documentation, and transformations for images, videos, and documents.

### Source excerpt

Managing media is a really difficult task if you try to do all of it yourself, especially if the media comes from other sources. The file can be submitted in any state and size, but what if you need something really specific? You can code it all yourself or you can use an awesome service [...] The post Easy way to upload, transform and deliver files and images (Sponsored) appeared first on David Walsh Blog.

## How to Add a Header to a curl Request

DevFeed: [How to Add a Header to a curl Request](<https://devfeed.tech/articles/how-to-add-a-header-to-a-curl-request-37476.md>)

Original publisher: [Read original article](<https://davidwalsh.name/curl-add-header>)

Author: David Walsh

Published: 2024-08-03T16:51:46Z

Content type: tutorial

Language: en

Sources: [David Walsh](<https://devfeed.tech/sources/david-walsh.md>)

Topics: [cURL](<https://devfeed.tech/topics/curl.md>), [HTTP](<https://devfeed.tech/topics/http.md>)

Tags: [apis](<https://devfeed.tech/tags/apis.md>), [curl](<https://devfeed.tech/tags/curl.md>), [headers](<https://devfeed.tech/tags/headers.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [http](<https://devfeed.tech/tags/http.md>), [quick-tips](<https://devfeed.tech/tags/quick-tips.md>), [quick-tips-shell](<https://devfeed.tech/tags/quick-tips-shell.md>), [request](<https://devfeed.tech/tags/request.md>), [shell](<https://devfeed.tech/tags/shell.md>)

### AI overview

A tutorial explaining how to add one or more HTTP headers to a curl request using the -H flag, with context about curl's use for downloading files and testing APIs.

### Source excerpt

curl is one of those great utilities that's been around seemingly forever and has endless use cases. These days I find myself using curl to batch download files and test APIs. Sometimes my testing leads me to using different HTTP headers in my requests. To add a header to a curl request, use the -H [...] The post How to Add a Header to a curl Request appeared first on David Walsh Blog.

## Case Insensitive CSS Attribute Selector

DevFeed: [Case Insensitive CSS Attribute Selector](<https://devfeed.tech/articles/case-insensitive-css-attribute-selector-37474.md>)

Original publisher: [Read original article](<https://davidwalsh.name/css-attribute-case>)

Author: David Walsh

Published: 2024-06-19T11:31:27Z

Content type: tutorial

Language: en

Sources: [David Walsh](<https://devfeed.tech/sources/david-walsh.md>)

Topics: [CSS](<https://devfeed.tech/topics/css.md>), [selectors](<https://devfeed.tech/topics/selectors.md>), [Web Development](<https://devfeed.tech/topics/web-development.md>)

Tags: [css](<https://devfeed.tech/tags/css.md>), [css-quick-tips](<https://devfeed.tech/tags/css-quick-tips.md>), [quick-tips](<https://devfeed.tech/tags/quick-tips.md>), [selectors](<https://devfeed.tech/tags/selectors.md>)

### AI overview

This article explains how to use the case-insensitivity flag in CSS attribute selectors to match attribute values without regard to letter case. It notes that the technique has limited use cases and should be applied sparingly.

### Source excerpt

CSS selectors never cease to amaze me in how powerful they can be in matching complex patterns. Most of that flexibility is in parent/child/sibling relationships, very seldomly in value matching. Consider my surprise when I learned that CSS allows matching attribute values regardless off case! Adding a {space}i to the attribute selector brackets will make [...] The post Case Insensitive CSS Attribute Selector appeared first on David Walsh Blog.

## How to Set Date Time from Mac Command Line

DevFeed: [How to Set Date Time from Mac Command Line](<https://devfeed.tech/articles/how-to-set-date-time-from-mac-command-line-37488.md>)

Original publisher: [Read original article](<https://davidwalsh.name/mac-set-date>)

Author: David Walsh

Published: 2024-06-17T12:01:38Z

Content type: tutorial

Language: en

Sources: [David Walsh](<https://devfeed.tech/sources/david-walsh.md>)

Topics: [Command-line interface](<https://devfeed.tech/topics/cli.md>), [Extension](<https://devfeed.tech/topics/extension.md>), [DateTime](<https://devfeed.tech/topics/datetime.md>)

Tags: [command-line](<https://devfeed.tech/tags/command-line.md>), [extension](<https://devfeed.tech/tags/extension.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [mac](<https://devfeed.tech/tags/mac.md>), [quick-tips](<https://devfeed.tech/tags/quick-tips.md>), [quick-tips-shell](<https://devfeed.tech/tags/quick-tips-shell.md>), [shell](<https://devfeed.tech/tags/shell.md>), [testing](<https://devfeed.tech/tags/testing.md>), [time](<https://devfeed.tech/tags/time.md>)

### AI overview

This tutorial explains how to change the current date on a Mac from the command line so developers can test hardcoded, date-based logic in web extensions that cannot be updated immediately.

### Source excerpt

Working on a web extension that ships to an app store and isn't immediately modifiable, like a website, can be difficult. Since you cannot immediately deploy updates, you sometimes need to bake in hardcoded date-based logic. Testing future dates can be difficult if you don't know how to quickly change the date on your local [...] The post How to Set Date Time from Mac Command Line appeared first on David Walsh Blog.

## How to Retrieve WiFi Password on Windows

DevFeed: [How to Retrieve WiFi Password on Windows](<https://devfeed.tech/articles/how-to-retrieve-wifi-password-on-windows-37490.md>)

Original publisher: [Read original article](<https://davidwalsh.name/retrieve-wifi-password-windows>)

Author: David Walsh

Published: 2024-05-13T10:45:29Z

Content type: tutorial

Language: en

Sources: [David Walsh](<https://devfeed.tech/sources/david-walsh.md>)

Topics: [Windows](<https://devfeed.tech/topics/windows.md>), [Shell](<https://devfeed.tech/topics/shell.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [passwords](<https://devfeed.tech/topics/passwords.md>), [Network](<https://devfeed.tech/topics/network.md>)

Tags: [command-line](<https://devfeed.tech/tags/command-line.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [microsoft](<https://devfeed.tech/tags/microsoft.md>), [microsoft-shell](<https://devfeed.tech/tags/microsoft-shell.md>), [password](<https://devfeed.tech/tags/password.md>), [shell](<https://devfeed.tech/tags/shell.md>), [wifi](<https://devfeed.tech/tags/wifi.md>), [windows](<https://devfeed.tech/tags/windows.md>)

### AI overview

A tutorial explains how to retrieve the password for a saved WiFi network on Windows using a built-in command executed in cmd. It directs readers to the Security settings section of the command output to find the network password.

### Source excerpt

Remembering the WiFi password when on a guest network is never easy. Even worse is when it's no longer posted and someone else is asking you for it. Luckily there's a built in Windows command to recover the password of a given WiFi network. The Shell Code Open cmd and execute the following command: netsh [...] The post How to Retrieve WiFi Password on Windows appeared first on David Walsh Blog.

## How to Fix: Windows WASD Keys Reversed with Arrow Keys

DevFeed: [How to Fix: Windows WASD Keys Reversed with Arrow Keys](<https://devfeed.tech/articles/how-to-fix-windows-wasd-keys-reversed-with-arrow-keys-37482.md>)

Original publisher: [Read original article](<https://davidwalsh.name/fix-wasd-keys>)

Author: David Walsh

Published: 2024-05-02T01:55:27Z

Content type: tutorial

Language: en

Sources: [David Walsh](<https://devfeed.tech/sources/david-walsh.md>)

Topics: [Windows](<https://devfeed.tech/topics/windows.md>)

Tags: [how-to](<https://devfeed.tech/tags/how-to.md>), [quick-tips](<https://devfeed.tech/tags/quick-tips.md>), [windows](<https://devfeed.tech/tags/windows.md>)

### AI overview

A tutorial about restoring the WASD movement keys after they become reversed with the arrow keys in PUBG on Windows. The supplied text says a key combination restores the normal controls, but does not provide that combination.

### Source excerpt

This past weekend I had the opportunity to be what every father wants, if only for a moment: the "cool dad". My wife was out of town and my youngest son wanted to play PUBG. I caved in, taught him the basic FPS key binds, and he was having a great time. While he was [...] The post How to Fix: Windows WASD Keys Reversed with Arrow Keys appeared first on David Walsh Blog.

## HTML popover Attribute

DevFeed: [HTML popover Attribute](<https://devfeed.tech/articles/html-popover-attribute-37485.md>)

Original publisher: [Read original article](<https://davidwalsh.name/html-popover-attribute>)

Author: David Walsh

Published: 2024-04-15T11:19:02Z

Content type: tutorial

Language: en

Sources: [David Walsh](<https://devfeed.tech/sources/david-walsh.md>)

Topics: [HTML](<https://devfeed.tech/topics/html.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [CSS](<https://devfeed.tech/topics/css.md>), [User experience (UX)](<https://devfeed.tech/topics/ux.md>)

Tags: [css](<https://devfeed.tech/tags/css.md>), [css-html5](<https://devfeed.tech/tags/css-html5.md>), [html](<https://devfeed.tech/tags/html.md>), [html5](<https://devfeed.tech/tags/html5.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [ux](<https://devfeed.tech/tags/ux.md>)

### AI overview

This tutorial explains how to create a native HTML modal with the popover attribute, using a trigger attribute and an element to identify the popover content. It also shows how CSS can style the modal's background layer.

### Source excerpt

Modals have been an important part of websites for two decades. Stacking contents and using fetch to accomplish tasks are a great way to improve UX on both desktop and mobile. Unfortunately most developers don't know that the HTML and JavaScript specs have implemented a native modal system via the popover attribute -- let's check [...] The post HTML popover Attribute appeared first on David Walsh Blog.

## Get Started in AI and NFTs with the Limewire API (Sponsored)

DevFeed: [Get Started in AI and NFTs with the Limewire API (Sponsored)](<https://devfeed.tech/articles/get-started-in-ai-and-nfts-with-the-limewire-api-sponsored-37484.md>)

Original publisher: [Read original article](<https://davidwalsh.name/get-started-in-ai-and-nfts-with-the-limewire-api>)

Author: David Walsh

Published: 2024-03-25T21:50:46Z

Content type: tutorial

Language: en

Sources: [David Walsh](<https://devfeed.tech/sources/david-walsh.md>)

Topics: [API](<https://devfeed.tech/topics/api.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [PHP](<https://devfeed.tech/topics/php.md>), [Python](<https://devfeed.tech/topics/python.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [api](<https://devfeed.tech/tags/api.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [php](<https://devfeed.tech/tags/php.md>), [python](<https://devfeed.tech/tags/python.md>), [sponsored](<https://devfeed.tech/tags/sponsored.md>)

### AI overview

This sponsored tutorial introduces LimeWire's Developer API for creating and modifying AI-generated images. It describes text- and image-based generation, image upscaling and background removal, integration for platform users, and support for JavaScript, PHP, Python, and other languages.

### Source excerpt

AI media creation has expanded to incredible video art and a host of other important improvements, and LimeWire is leading the way in creating an awesome interface for the average user to become an AI artist. Limewire has just released its Developer API, a method for engineers like us to create dynamic AI art on [...] The post Get Started in AI and NFTs with the Limewire API (Sponsored) appeared first on David Walsh Blog.

## Reflections on Two Decades of Web Development

DevFeed: [Reflections on Two Decades of Web Development](<https://devfeed.tech/articles/i-m-so-old-web-edition-37486.md>)

Original publisher: [Read original article](<https://davidwalsh.name/im-so-old-1>)

Author: David Walsh

Published: 2024-03-18T13:00:20Z

Content type: opinion

Language: en

Sources: [David Walsh](<https://devfeed.tech/sources/david-walsh.md>)

Topics: [Web](<https://devfeed.tech/topics/web.md>), [CSS](<https://devfeed.tech/topics/css.md>), [HTML](<https://devfeed.tech/topics/html.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>)

Tags: [theory-ideas](<https://devfeed.tech/tags/theory-ideas.md>)

### AI overview

A software engineer reflects on two decades of web development through older tools, practices, and technologies that have since changed or faded from common use.

### Source excerpt

Time can be a funny thing. I still remember discovering HTML, CSS, and JavaScript coding. I still remember my first college programming course. I still remember my first day at my first coding job, then my first day at my second coding job, and then my first day at Mozilla. I still remember my first [...] The post I'm So Old: Web Edition appeared first on David Walsh Blog.

## Detect Caps Lock with JavaScript

DevFeed: [Detect Caps Lock with JavaScript](<https://devfeed.tech/articles/detect-caps-lock-with-javascript-37478.md>)

Original publisher: [Read original article](<https://davidwalsh.name/detect-caps-lock>)

Author: David Walsh

Published: 2024-02-06T10:33:10Z

Content type: tutorial

Language: en

Sources: [David Walsh](<https://devfeed.tech/sources/david-walsh.md>)

Topics: [JavaScript](<https://devfeed.tech/topics/javascript.md>), [passwords](<https://devfeed.tech/topics/passwords.md>), [keyboard](<https://devfeed.tech/topics/keyboard.md>), [Users](<https://devfeed.tech/topics/users.md>)

Tags: [javascript](<https://devfeed.tech/tags/javascript.md>), [keyboard](<https://devfeed.tech/tags/keyboard.md>), [password](<https://devfeed.tech/tags/password.md>), [users](<https://devfeed.tech/tags/users.md>)

### AI overview

A tutorial explaining how to detect whether Caps Lock is enabled during keyboard events with JavaScript, helping developers warn users when entering passwords.

### Source excerpt

Anyone is capable of having their caps lock key on at any given time without realizing so. Users can easily spot unwanted caps lock when typing in most inputs, but when using a password input, the problem isn't so obvious. That leads to the user's password being incorrect, which is an annoyance. Ideally developers could [...] The post Detect Caps Lock with JavaScript appeared first on David Walsh Blog.

## How to Override width and height HTML attributes with CSS

DevFeed: [How to Override width and height HTML attributes with CSS](<https://devfeed.tech/articles/how-to-override-width-and-height-html-attributes-with-css-37475.md>)

Original publisher: [Read original article](<https://davidwalsh.name/css-override-width-height>)

Author: David Walsh

Published: 2024-02-05T11:28:01Z

Content type: tutorial

Language: en

Sources: [David Walsh](<https://devfeed.tech/sources/david-walsh.md>)

Topics: [CSS](<https://devfeed.tech/topics/css.md>), [HTML](<https://devfeed.tech/topics/html.md>), [Responsive Design](<https://devfeed.tech/topics/responsive-design.md>), [html elements](<https://devfeed.tech/topics/html-elements.md>), [Web Development](<https://devfeed.tech/topics/web-development.md>)

Tags: [css](<https://devfeed.tech/tags/css.md>), [css-html5](<https://devfeed.tech/tags/css-html5.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [html](<https://devfeed.tech/tags/html.md>), [html5](<https://devfeed.tech/tags/html5.md>), [image](<https://devfeed.tech/tags/image.md>), [responsive-design](<https://devfeed.tech/tags/responsive-design.md>)

### AI overview

This tutorial explains how CSS can override HTML width and height attributes for images. It discusses preserving image dimensions for layout performance while using responsive styling to avoid distorted images.

### Source excerpt

One of the HTML elements that frequently comes into collision with CSS is the img element. As we learned in Request Metrics' Fixing Cumulative Layout Shift Problems on DavidWalshBlog article, providing image dimensions within the image tag will help to improve your website's score. But in a world where responsive design is king, we need [...] The post How to Override width and height HTML attributes with CSS appeared first on David Walsh Blog.

## Fixing Cumulative Layout Shift Problems on DavidWalshBlog

DevFeed: [Fixing Cumulative Layout Shift Problems on DavidWalshBlog](<https://devfeed.tech/articles/fixing-cumulative-layout-shift-problems-on-davidwalshblog-37483.md>)

Original publisher: [Read original article](<https://davidwalsh.name/fixing-cumulative-layout-shift-problems-on-davidwalshblog>)

Author: Todd Gardner

Published: 2024-01-24T11:56:41Z

Content type: tutorial

Language: en

Sources: [David Walsh](<https://devfeed.tech/sources/david-walsh.md>)

Topics: [Core Web Vitals](<https://devfeed.tech/topics/core-web-vitals.md>), [Web Development](<https://devfeed.tech/topics/web-development.md>), [real user monitoring](<https://devfeed.tech/topics/real-user-monitoring.md>), [User Experience](<https://devfeed.tech/topics/user-experience.md>), [Google](<https://devfeed.tech/topics/google.md>)

Tags: [core-web-vitals](<https://devfeed.tech/tags/core-web-vitals.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [lighthouse](<https://devfeed.tech/tags/lighthouse.md>), [metrics](<https://devfeed.tech/tags/metrics.md>), [optimization](<https://devfeed.tech/tags/optimization.md>), [optimization-performance](<https://devfeed.tech/tags/optimization-performance.md>), [performance](<https://devfeed.tech/tags/performance.md>), [real-user-monitoring](<https://devfeed.tech/tags/real-user-monitoring.md>)

### AI overview

This tutorial investigates poor Cumulative Layout Shift performance on DavidWalshBlog. It explains CLS as a Core Web Vital, contrasts Google Lighthouse testing with real-user performance data, and uses Request Metrics to identify affected pages and shifting elements.

### Source excerpt

Over 50 thousand developers visit DavidWalshBlog every month from around the world to learn JavaScript tricks and fix problems in their code. Unfortunately, some of them have a slow experience on the site. David tracks the performance of his Core Web Vitals and overall performance with Request Metrics. Recently, we noticed that his CLS performance [...] The post Fixing Cumulative Layout Shift Problems on DavidWalshBlog appeared first on David Walsh Blog.

## Date.now()

DevFeed: [Date.now()](<https://devfeed.tech/articles/date-now-37477.md>)

Original publisher: [Read original article](<https://davidwalsh.name/date-now>)

Author: David Walsh

Published: 2024-01-17T12:06:16Z

Content type: tutorial

Language: en

Sources: [David Walsh](<https://devfeed.tech/sources/david-walsh.md>)

Topics: [coding](<https://devfeed.tech/topics/coding.md>), [Software](<https://devfeed.tech/topics/software.md>)

Tags: [coding](<https://devfeed.tech/tags/coding.md>), [developers](<https://devfeed.tech/tags/developers.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [javascript-quick-tips](<https://devfeed.tech/tags/javascript-quick-tips.md>), [quick-tips](<https://devfeed.tech/tags/quick-tips.md>), [software](<https://devfeed.tech/tags/software.md>)

### AI overview

A brief developer tutorial explaining Date.now() as a way to obtain the current time in integer timestamp format. It notes that timestamps can simplify date handling and can serve as unique identifiers in low-traffic environments.

### Source excerpt

Ask any software engineer and they'll tell you that coding date logic can be a nightmare. Developers need to consider timezones, weird date defaults, and platform-specific date formats. The easiest way to work with dates is to reduce the date to the most simple format possible -- usually a timestamp. To get the immediate time [...] The post Date.now() appeared first on David Walsh Blog.

## Extract a Number from a String with JavaScript

DevFeed: [Extract a Number from a String with JavaScript](<https://devfeed.tech/articles/extract-a-number-from-a-string-with-javascript-37487.md>)

Original publisher: [Read original article](<https://davidwalsh.name/javascript-extract-string>)

Author: David Walsh

Published: 2024-01-16T11:48:41Z

Content type: tutorial

Language: en

Sources: [David Walsh](<https://devfeed.tech/sources/david-walsh.md>)

Topics: [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Regular expression](<https://devfeed.tech/topics/regular-expression.md>), [Web Development](<https://devfeed.tech/topics/web-development.md>), [HTML](<https://devfeed.tech/topics/html.md>)

Tags: [html](<https://devfeed.tech/tags/html.md>), [input](<https://devfeed.tech/tags/input.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [javascript-quick-tips](<https://devfeed.tech/tags/javascript-quick-tips.md>), [numbers](<https://devfeed.tech/tags/numbers.md>), [quick-tips](<https://devfeed.tech/tags/quick-tips.md>), [regular-expressions](<https://devfeed.tech/tags/regular-expressions.md>), [string](<https://devfeed.tech/tags/string.md>)

### AI overview

This tutorial explains how to extract numbers from strings in JavaScript, particularly user input from HTML form fields, using regular expressions.

### Source excerpt

User input from HTML form fields is generally provided to JavaScript as a string. We've lived with that fact for decades but sometimes developers need to extract numbers from that string. There are multiple ways to get those numbers but let's rely on regular expressions to extract those numbers! To employ a regular expression to [...] The post Extract a Number from a String with JavaScript appeared first on David Walsh Blog.

## Thoughts on Streaming Services: 2024 Edition

DevFeed: [Thoughts on Streaming Services: 2024 Edition](<https://devfeed.tech/articles/thoughts-on-streaming-services-2024-edition-37492.md>)

Original publisher: [Read original article](<https://davidwalsh.name/streaming-2024>)

Author: David Walsh

Published: 2024-01-15T11:08:32Z

Content type: opinion

Language: en

Sources: [David Walsh](<https://devfeed.tech/sources/david-walsh.md>)

Topics: [Streaming](<https://devfeed.tech/topics/streaming.md>), [Netflix](<https://devfeed.tech/topics/netflix.md>), [amazon](<https://devfeed.tech/topics/amazon.md>)

Tags: [amazon](<https://devfeed.tech/tags/amazon.md>), [media](<https://devfeed.tech/tags/media.md>), [netflix](<https://devfeed.tech/tags/netflix.md>), [streaming](<https://devfeed.tech/tags/streaming.md>), [theory-ideas](<https://devfeed.tech/tags/theory-ideas.md>)

### AI overview

An opinion piece assessing the 2024 streaming-services landscape. It discusses Netflix, sports-streaming costs, advertising tiers, brand changes at Max and Paramount Plus, the offerings from Apple and Amazon, content licensing, streaming hardware, and free services such as YouTube, RokuTV, and Tubi.

### Source excerpt

Streaming services have revolutionized content delivery, sending linear media companies into a panic as they watch traditional cable services decay. "Cutting the cord" is a common practice these days, but the streaming landscape isn't perfect. We're a decade into streaming so I wanted to share my thoughts on the state of new media: first impressions, [...] The post Thoughts on Streaming Services: 2024 Edition appeared first on David Walsh Blog.

## AutoGrow Textareas with CSS

DevFeed: [AutoGrow Textareas with CSS](<https://devfeed.tech/articles/autogrow-textareas-with-css-37473.md>)

Original publisher: [Read original article](<https://davidwalsh.name/autogrow-textareas>)

Author: David Walsh

Published: 2023-12-18T11:55:51Z

Content type: tutorial

Language: en

Sources: [David Walsh](<https://devfeed.tech/sources/david-walsh.md>)

Topics: [CSS](<https://devfeed.tech/topics/css.md>), [Web Development](<https://devfeed.tech/topics/web-development.md>)

Tags: [css](<https://devfeed.tech/tags/css.md>), [css-html5](<https://devfeed.tech/tags/css-html5.md>), [html5](<https://devfeed.tech/tags/html5.md>), [web](<https://devfeed.tech/tags/web.md>)

### AI overview

A tutorial about using CSS to make textarea elements expand automatically, including how to allow vertical and horizontal growth and constrain the size with standard properties.

### Source excerpt

As the demands of the web change and developers experiment with different user experiences, the need for more native language improvements expands. Our presentation layer, CSS, has done incredibly well in improving capabilities, even if sometimes too slow. The need for native support for automatically expanding textarea elements has been long known...and it's finally here! [...] The post AutoGrow Textareas with CSS appeared first on David Walsh Blog.

## How to Play Grand Poo World 3

DevFeed: [How to Play Grand Poo World 3](<https://devfeed.tech/articles/how-to-play-grand-poo-world-3-37489.md>)

Original publisher: [Read original article](<https://davidwalsh.name/play-grand-poo-world-3>)

Author: David Walsh

Published: 2023-11-28T00:35:41Z

Content type: tutorial

Language: en

Sources: [David Walsh](<https://devfeed.tech/sources/david-walsh.md>)

Topics: [coding](<https://devfeed.tech/topics/coding.md>), [Emulator](<https://devfeed.tech/topics/emulator.md>), [patches](<https://devfeed.tech/topics/patches.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [file](<https://devfeed.tech/topics/file.md>)

Tags: [coding](<https://devfeed.tech/tags/coding.md>), [emulator](<https://devfeed.tech/tags/emulator.md>), [game](<https://devfeed.tech/tags/game.md>), [games](<https://devfeed.tech/tags/games.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [mario](<https://devfeed.tech/tags/mario.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [patches](<https://devfeed.tech/tags/patches.md>)

### AI overview

A tutorial explaining how to assemble the files and utilities needed to patch a clean Super Mario World ROM with Grand Poo World 3, including validation and emulator options for macOS and Windows.

### Source excerpt

The underground world of creating and streaming Super Mario World-based ROM hacks continues to gain popularity. This popularity is a tribute to the creativity of gamers and the quality of the original 30 year old video game's mechanics. Over the past decade, incredible ROM hacks like Grand Poo World 1 and 2, Invictus, and Dram [...] The post How to Play Grand Poo World 3 appeared first on David Walsh Blog.