Convert lines of text to an array format

Sometimes you have a file with tens or hundreds of lines of text and you need to wrap each line with double quotes and a comma so that it can be easily put inside a javascript array. This can happen for example if your data is rows in a spreadsheet. Here’s how you can go from a list of lines to a quoted, comma separated list:

Use a code editor with search/replace functionality. I used Notepad++ for this example.

Open find/replace and make sure it’s in Regular Expression mode.

Type in the search field the following:

(.+)

Type in the replace field the following:

"$1",

Then simply hit replace all. You will go from a file looking like this:

23snaps
 4Chan
 8tracks
 Academia
 Adobe Connect
 Amikumu
 Amino apps
 aNobii
 AO3
 ASMALLWORLD
 Athlinks
 Badoo
 BAND
 Basecamp
 beBee
 Bitchute
 blind
 Blogger
 Bubbly
 Caffeine
 Care2
 CaringBridge
 Cellufun
 Chatroulette
 Classmates
 Clubhouse
 CollegeHumor
 Concept Board
 CouchSurfing
 Crunchyroll
 D-Tube
 Deviantart
 diaspora
 Digg
 Discord
 Discord
 Disqus
 Douban
 Drupal
 Eliademy
 Ello
 Elpha
 eToro
 Etsy
 Facebook
 Facebook
 Facebook
 Fark
 FilmAffinity
 Flickr
 Flixster
 Foursquare
 Foursquare Swarm
 Friendica
 Funny or Die
 Gab
 Gaia Online
 Gettr
 GIPHY
 Goodreads
 Google Docs
 Google Groups
 Google+
 Habbo
 Houseparty
 Imgur
 Influenster
 Instagram
 Instagram
 Instagram
 IRC
 italki
 Jodel
 Joomla
 Kakaotalk
 LBRY
 Likee
 Line
 LINE
 LinkedIn
 LinkedIn
 LiveJournal
 Locals
 Mastodon
 Medium
 Medium
 MeetMe
 Meetup
 MeWe
 Microsoft Messenger
 Minds
 Mix
 Mixi
 MocoSpace
 MyHeritage
 MySpace
 Naver
 News groups
 Nextdoor
 Ning
 Open Diary
 Parler
 Patreon
 Peanut
 PeerTube
 Periscope
 Phpbb forum
 Phpbb forum
 Pinterest
 Pinterest
 Podcasts (in general)
 Podio
 Quora
 Qzone
 Ravelry
 Reddit
 Reddit
 Regular websites
 Regular websites
 Renren
 ReverbNation
 Rumble
 Second Life
 Signal
 Simple Machines forum
 Skype
 Skyrock
 Slack
 Snapchat
 Snapchat
 Soundcloud
 SoundCloud
 Stack Exchange
 SteemIt
 Stellar
 StumbleUpon
 Suomi 24
 Tagged
 Telegram
 Telegram
 Tencent QQ
 The Dots
 the-dots.com
 Tik Tok
 Tinder
 Tribe
 Triller
 Tumblr
 Twitch
 Twitch
 Twitter
 Twitter
 Twitter
 Twoo
 Unsplash
 Untappd
 Valence
 Vero
 Viadeo
 Viber
 Vimeo
 Vine
 VK
 VK
 Voat
 VSCO
 Wattpad
 We Heart It
 WeChat
 Weibo
 WhatsApp
 WhatsApp
 Wikipedia
 Wikipedia
 WordPress
 WordPress
 WT Social
 Xanga
 Xing
 Yelp
 Youtube
 Youtube
 Youtube
 Yubo
 YY

To a file looking like this:

"23snaps",
 "4Chan",
 "8tracks",
 "Academia",
 "Adobe Connect",
 "Amikumu",
 "Amino apps",
 "aNobii",
 "AO3",
 "ASMALLWORLD",
 "Athlinks",
 "Badoo",
 "BAND",
 "Basecamp",
 "beBee",
 "Bitchute",
 "blind",
 "Blogger",
 "Bubbly",
 "Caffeine",
 "Care2",
 "CaringBridge",
 "Cellufun",
 "Chatroulette",
 "Classmates",
 "Clubhouse",
 "CollegeHumor",
 "Concept Board",
 "CouchSurfing",
 "Crunchyroll",
 "D-Tube",
 "Deviantart",
 "diaspora",
 "Digg",
 "Discord",
 "Discord",
 "Disqus",
 "Douban",
 "Drupal",
 "Eliademy",
 "Ello",
 "Elpha",
 "eToro",
 "Etsy",
 "Facebook",
 "Facebook",
 "Facebook",
 "Fark",
 "FilmAffinity",
 "Flickr",
 "Flixster",
 "Foursquare",
 "Foursquare Swarm",
 "Friendica",
 "Funny or Die",
 "Gab",
 "Gaia Online",
 "Gettr",
 "GIPHY",
 "Goodreads",
 "Google Docs",
 "Google Groups",
 "Google+",
 "Habbo",
 "Houseparty",
 "Imgur",
 "Influenster",
 "Instagram",
 "Instagram",
 "Instagram",
 "IRC",
 "italki",
 "Jodel",
 "Joomla",
 "Kakaotalk",
 "LBRY",
 "Likee",
 "Line",
 "LINE",
 "LinkedIn",
 "LinkedIn",
 "LiveJournal",
 "Locals",
 "Mastodon",
 "Medium",
 "Medium",
 "MeetMe",
 "Meetup",
 "MeWe",
 "Microsoft Messenger",
 "Minds",
 "Mix",
 "Mixi",
 "MocoSpace",
 "MyHeritage",
 "MySpace",
 "Naver",
 "News groups",
 "Nextdoor",
 "Ning",
 "Open Diary",
 "Parler",
 "Patreon",
 "Peanut",
 "PeerTube",
 "Periscope",
 "Phpbb forum",
 "Phpbb forum",
 "Pinterest",
 "Pinterest",
 "Podcasts (in general)",
 "Podio",
 "Quora",
 "Qzone",
 "Ravelry",
 "Reddit",
 "Reddit",
 "Regular websites",
 "Regular websites",
 "Renren",
 "ReverbNation",
 "Rumble",
 "Second Life",
 "Signal",
 "Simple Machines forum",
 "Skype",
 "Skyrock",
 "Slack",
 "Snapchat",
 "Snapchat",
 "Soundcloud",
 "SoundCloud",
 "Stack Exchange",
 "SteemIt",
 "Stellar",
 "StumbleUpon",
 "Suomi 24",
 "Tagged",
 "Telegram",
 "Telegram",
 "Tencent QQ",
 "The Dots",
 "the-dots.com",
 "Tik Tok",
 "Tinder",
 "Tribe",
 "Triller",
 "Tumblr",
 "Twitch",
 "Twitch",
 "Twitter",
 "Twitter",
 "Twitter",
 "Twoo",
 "Unsplash",
 "Untappd",
 "Valence",
 "Vero",
 "Viadeo",
 "Viber",
 "Vimeo",
 "Vine",
 "VK",
 "VK",
 "Voat",
 "VSCO",
 "Wattpad",
 "We Heart It",
 "WeChat",
 "Weibo",
 "WhatsApp",
 "WhatsApp",
 "Wikipedia",
 "Wikipedia",
 "Wordpress",
 "Wordpress",
 "WT Social",
 "Xanga",
 "Xing",
 "Yelp",
 "Youtube",
 "Youtube",
 "Youtube",
 "Yubo",

How to get site by day report in Adsense

The Adsense report system can be a bit confusing at times. I decided to write these instructions after struggling to display daily earnings information for just a single site in Adsense.

The easiest way I found was this:

Select the “entire account by day” report type.

Go to the “search or filter your data” input box and choose “site”.

Choose the site you want to see reported. Hit apply.

Now you should see a daily breakdown for just a single site.

How to keep using port 10080 after many browsers block it as an unsafe port

If you have been doing web development using port 10080 you might have run into some issues recently since many browsers including Chrome and Firefox have decided to add that port to their blocked ports list.

I use a tool called InstantWP for WordPress development and it’s using port 10080 for http by default.

I first researched the option to change the ports IWP is using. It seems like it could be done from the config file which you can open from the “Advanced” tab by clicking “Edit Config File”. In the file that opens you should see a setting called PortOffset. I tried to change that but couldn’t get it to work even after trying many different numbers for the port offset.

I also tried to add a flag into Chrome’s startup parameters by right-clicking the Chrome icon and choosing properties. Then I replaced the value under “target” with the following string:

“C:\Program Files (x86)\Google\Chrome\Application\chrome.exe” –explicitly-allowed-ports=10080

However that didn’t seem to fix the situation in my case. I still got the same “unsafe port” error from Chrome.

What finally helped was switching to Firefox and performing these steps:

  1. Type about:config to the address bar and click on the “accept the risk and continue” button.

Then paste in this string to the search bar:

network.security.ports.banned.override

Choose “string” as the type (I know, number would seem more logical), click on the + button and enter the port number you want to allow (in my case 10080).

Now you should be able to access applications via that port!

Increment integer value in a database field using WPDB

Sometimes you need to update values incrementally in your WordPress database. You might for example have an upvote feature to which you automatically add points in an incremental fashion.

It was surprisingly hard to find examples of how to do this using Wpdb. But here’s an example of doing just that:

/* Have to use wpdb->query instead of wpdb->update because the latter assumes strings  */
  $results = $wpdb->query($wpdb->prepare("UPDATE foodsenglish SET popularity = popularity + 1 WHERE dbID = %d", $foodIdToSendThePointFor), ARRAY_A);

Installing Duplicator packages in Instant WordPress

TIP: If you forgot to include the installer.php file, you can unzip the zipped archive and copy the “installer-backup.php” file from there and just rename it “installer.php”.

In the Duplicator FAQ they recommend uploading the packages through the “theme folder” button in IWP. That didn’t really make a difference in my tests though (I just uploaded the files by copy-pasting with SFTP Net Drive). Note that the installer will throw an error if there are other files present in the installation folder so make sure you delete the old WordPress files. Unfortunately even with these steps we seem to get stuck on Step 3. I recommend checking the error log if this happens. You might need to install php-xml with sudo apk add php-xml. Or you might have to update your PHP version if you are getting errors like this;

INSTALLER ERROR: [PHP ERR][FATAL] MSG:Uncaught Error: Call to undefined function token_get_all() in /var/www/localhost/htdocs/wordpress/duplicator/dup-installer/lib/config/class.wp.config.tranformer.php:387

That wasn’t the main problem in my case though (it seems like a function should be enabled “By web host”).

If you get an error when trying to install that the folder doesn’t have write permissions, do the following: Check the working directory you are in with “pwd” and the contents of the folder you are currently in with “ls”. You might have to elevate yourself to root user with sudo -s and the type in cd /var/. If you can see “var” in the list, then cd into it with cd var. You can cd into localhost even if it’s not listed with cd localhost. You shouldn’t need to change folder permissions here, but if you need to do that in some other situation, you can use chmod like in this example we are giving a folder called wp2 full permissions: chmod 777 wp2.

This is what you should fill in for the configuration:

If nothing else works, just stop the installation process. Things might still work (since it might have succesfully extracted the files and inserted the data into the database). Just delete all the duplicator files from the WordPress root folder. If you get a message saying “Briefly unavailable for scheduled maintenance. Check back in a minute.” you need to also delete the .maintenance file.

How to use Git with InstantWP

If you are using the amazing free InstantWP WordPress development package often, then you might start wondering how to properly use it with Git version control. The difficulty is that trying to add the entire Linux Alpine virtual operating system to Git is too heavy, but adding only the contents of the Theme folder will not keep track of your posts and other database related content. I will outline the steps I used to get Git working with IWP below:

Continue reading “How to use Git with InstantWP”

Run a simple lightweight Python server

When you are developing websites you often run into the need to test them on a server environment, because browsers block websites with certain features from running locally.

Here is a really quick way to run such a website in a server environment using Python 3 (which you probably have already installed on your machine anyways).

  1. Open the command window where your website root folder is. One easy way of doing that is simply typing “cmd” in the Windows Explorer address bar.
  2. Type this command in the command window:
python -m http.server 8000
  1. Now simply go to http://127.0.0.1:8000/ in your browser.