Uncategorized
AI Tools
Everyone’s talking about #ChatGPT. But 90% of you are missing out on the AI revolution. Here are the top AI tools you NEED to know about.
- Krisp: Krisp’s AI removes background voices, noises, and echo from your calls, giving you peace of call
Link: https://krisp.ai/ - Beatoven: Create unique royalty-free music that elevates your story
Link: https://www.beatoven.ai/ - Cleanvoice: Automatically edit your podcast episodes
Link: https://cleanvoice.ai/ - Podcastle: Studio quality recording, right from your computer
Link: https://podcastle.ai/ - Flair: Design branded content in a flash
Link: https://flair.ai/ - Illustroke: Create killer vector images from text prompts
Link: https://illustroke.com/ - Patterned: Generate the exact patterns you need for and design
Link: https://www.patterned.ai/ - Stockimg: Generate the perfect stock photo you need, every time
Link: https://stockimg.ai/ - Copy: AI Generated copy, that actually increases conversion
Link:https://www.copy.ai/ - CopyMonkey: Create Amazon listings in seconds
Link: http://copymonkey.ai/ - Ocoya: Create and schedule social media content 10x faster
Link: https://www.ocoya.com/ - Unbounce Smart Copy: Write high-performing cold emails at scale
Link: https://unbounce.com/ - Vidyo: Make short-form vids from long-form content in just a few clicks
Link: https://vidyo.ai/ - Maverick: Generate personalized videos at scale
Link:https://lnkd.in/dmrkz_ah - Quickchat: AI chatbots that automate customer service charts
Link: https://www.quickchat.ai/ - Puzzle: Build an AI-powered knowledge base for your team and customers
Link: https://www.puzzlelabs.ai/ - Soundraw: Stop searching for the song you need. Create it.
Link: https://soundraw.io/ - Cleanup: Remove any wanted object, defect, people, or text from your pictures in seconds
Link: https://cleanup.pictures/ - Resumeworded: Improve your resume and LinkedIn profile
Link: https://lnkd.in/d9EurcnX - Looka: Design your own beautiful brand
Link: https://looka.com/ - theresanaiforthat: Comprehensive database of AIs available for every task
Link: https://lnkd.in/dKhqaaF3 - Synthesia: Create AI videos by simply typing in text.
Link: https://www.synthesia.io/ - descript: New way to make video and podcasts
Link: https://lnkd.in/d_Kdj35E - Otter: Capture and share insights from your meetings
Link: https://otter.ai/ - Inkforall: AI content (Generation, Optimization, Performance)
Link: https://inkforall.com/
Credit: MK Bertulfo
Vanilla JavaScript Ajax
JavaScript AJAX (Asynchronous JavaScript and XML) is a technique that gives the ability to send and receive data asynchronously from a web server. AJAX allows you to create rich, responsive user interfaces. It makes it easy to update data on the page without having to reload the entire page. It makes your application more responsive and user-friendly.
I’m going to show you two different ways to make an Ajax request.
1. Using XMLHttpRequest object:
XMLHttpRequest
(also known as XHR) object. This object is built into most browsers (even in Internet Explorer) and allows you to send requests and receive responses without having to reload the page.
Get request:
// Create the XMLHttpRequest object.
const xhr = new XMLHttpRequest();
// Initialize the request
xhr.open("GET", 'https://jsonplaceholder.typicode.com/users');
// Send the request
xhr.send();
// Fired once the request completes successfully
xhr.onload = function(e) {
// Check if the request was a success
if (this.readyState === XMLHttpRequest.DONE && this.status === 200) {
// Get and convert the responseText into JSON
var response = JSON.parse(xhr.responseText);
console.log(response);
}
}
Post request:
// Create the XMLHttpRequest object.
const xhr = new XMLHttpRequest();
// Initialize the request
xhr.open("POST", 'https://jsonplaceholder.typicode.com/users', true);
// Set content type
xhr.setRequestHeader('Content-type', 'application/json; charset=UTF-8');
// Send the request with data to post
xhr.send(
JSON.stringify({
name : "Jon Doe",
username : "jon-doe",
email : 'jon-doe@unknown.com'
})
);
// Fired once the request completes successfully
xhr.onload = function(e) {
// Check if the request was a success
if (this.readyState === XMLHttpRequest.DONE && this.status === 201) {
// Get and convert the responseText into JSON
var response = JSON.parse(xhr.responseText);
console.log(response);
}
}
2. Using fetch() method:
fetch()
method is the newer, easier, and best method to make Ajax requests. The fetch()
method returns a promise that can be used to handle the response data. Though, this method won’t work on old browsers like Internet Explorer.
Get request:
// Create and Send the request
var fetch_status;
fetch('https://jsonplaceholder.typicode.com/userssss', {
method: "GET",
headers: {
"Content-type": "application/json;charset=UTF-8"
}
})
.then(function (response) {
// Save the response status in a variable to use later.
fetch_status = response.status;
// Handle success
// eg. Convert the response to JSON and return
return response.json();
})
.then(function (json) {
// Check if the response were success
if (fetch_status == 200) {
// Use the converted JSON
console.log(json);
}
})
.catch(function (error){
// Catch errors
console.log(error);
});
Post request:
// Create and Send the request
var fetch_status;
fetch('https://jsonplaceholder.typicode.com/users', {
method: "POST",
// Set the headers
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
// Set the post data
body: JSON.stringify({
name : "Jon Doe",
username : "jon-doe",
email : 'jon-doe@unknown.com'
})
})
.then(function (response) {
// Save the response status in a variable to use later.
fetch_status = response.status;
// Handle success
// eg. Convert the response to JSON and return
return response.json();
})
.then(function (json) {
// Check if the response were success
if (fetch_status == 201) {
// Use the converted JSON
console.log(json);
}
})
.catch(function (error){
// Catch errors
console.log(error);
});
In the above snippets, once the fetch()
method’s request is successfully executed on the server, the first then()
method converts the response data info a JavaScript object. Then, in the second then()
method, we can use the object to do whatever we want to do. If there were any errors encountered in the chain, it would pass into the catch()
method.
Setup x11vnc server with systemd auto start up
The reason I use x11vnc is that it connects to the existing graphical session. Most other vnc servers will spawn an entirely new graphical session. While that is super cool, I don’t want that feature. This is for remote support, where I want the user and the supporter to share the same session. I use the ‘-auth guess’ to have x11vnc guess the XAUTHORITY file‐name and use it appropriately. This avoids the annoying hard coding of gdm, lightdm, xdm or specific users .Xauthority.
Install x11vnc
# apt-get install x11vnc
The following should work for any distro that uses systemd, just the apt bits are Debian specific.
Generate the password and store it under etc so no users can change this password, only root. You can do this under your users home so that its not managed by root. In my case I didn’t want the user to be able to change or accidentally delete the password.
# sudo x11vnc -storepasswd /etc/x11vnc.pwd
edit (create new) the following file
use whatever text editor you prefer, here I use vi
# sudo nano /etc/systemd/system/x11vnc.service
And add the following, making any changes you want to the x11vnc ExecStart
See the man page for explanations of the switches
[Unit]
Description=Start x11vnc at startup.
After=multi-user.target
[Service]
Type=simple
ExecStart=/usr/bin/x11vnc -auth guess -forever -loop -noxdamage -repeat -rfbauth /etc/x11vnc.pwd -rfbport 5900 -shared -o /var/log/x11vnc.log
[Install]
WantedBy=multi-user.target
Now enable the above, start it and verify its running and listening properly
# systemctl enable x11vnc
# systemctl start x11vnc
# netstat -pat
tcp 0 0 0.0.0.0:5900 0.0.0.0:* LISTEN 2806/x11vnc
Now that the server is all setup lets move onto the clientapt-get install tigervnc-viewer
vncviewer [remote host ip or hostname]
DNS Records
A | Host IP (IPv4) |
AAAA | Host IP (IPv6) |
CNAME | Subdomains/Alias |
MX(Mail Exchanger) | Mail Server |
TXT | Domain Additional Info |
CAA | SSL |
NS | Hosting Server |
Most Common Desktop Screen Resolutions
- 1920×1080
- 1440×900
- 1280×800
- 1024×768
- 768×1024
- 360×640
Bulk Convert Images with ImageMagick
To bulk convert images with ImageMagick in a terminal, you need to install ImageMagick to your MAC OS. you can install it from here. After installing you need to add these bash functions to your .zshrc or .bash file. Then you are able to use these functions throughout the terminal.
Bulk Convert Images Functions:
# Convert .svg
convertsvgto(){
EXT=$1;
if [[ -z "$EXT" ]]; then
EXT="jpg";
fi
for file in *.svg; do echo "Converting ${file%.*} Image to $EXT"; convert $file "${file%.*}"."$EXT"; done;
echo "Convert Successful..."
}
# Contert .webp
convertwebpto(){
EXT=$1;
if [[ -z "$EXT" ]]; then
EXT="jpg";
fi
for file in *.webp; do echo "Converting ${file%.*} Image to $EXT"; convert $file "${file%.*}"."$EXT"; done;
echo "Convert Successful..."
}
To convert images go to your images folder and open the terminal. Type these commands. You can change the file format as you want
Bulk Convert Images Usage:
convertsvgto jpg
convertwebpto png
Tinker Board
All About Asus Tinker Board
sudo apt-get install transmission x11vnc zsh
VNC into the tinkerboard with x11vnc
To install it, simply run the following command on your tinkerboard
sudo apt-get update
sudo apt-get install x11vnc
Once installed you can start the vnc server using:
x11vnc -noxrecord -forever
If you want to run it with the password, first set a password using the following command
x11vnc -storepasswd
Now you can run the x11vnc with the password, run the command
x11vnc -noxrecord -forever -usepw
Now, on the mac if you want to connect to the tinkerboard in the terminal type
open vnc://ip_address_of_tinkerboard:5900
WP Common Pages
- Home Page
- Single Page
- Blog Page
- Single Blog Post
- Archive Page
- Privacy Policy Page
- 404 Page
- Search Page