- Submerge the rusted metal in vinegar for 24 hours. You’ll see much of the rust come off.
- Scrape the rest of the rust off with a metal brush.
- Rinse

I have the MaxPower PivoTrim weed trimmer head because the spool type trimmer heads always get tangled. The MaxPower PivoTrim head makes replacing trimmer line super easy.
When I ran out of the trimmer line that came with the head, I bought a spool of new trimmer line. Unfortunately, when you cut some trimmer line and install it in the head, the line curves up or down instead of pointing straight out. So, I found a way to straighten the trimmer line. Below is a picture of the line straightened (left) and before it was straightened (right).
To straighten the line, I cut the line to length, stapled each end down to a piece of 2×4, took a heat gun and carefully heat up the plastic line to soften it and cause it to take on a new shape.
Then, I folded the straightened line in half and stapled each end down to the 2×4 and heat up the folded end so that it would remember that position.
The end result is trimmer lines that are straight and cut weeds better. Note, you may have better performance if you remove the plastic guard on the trimmer shaft.
If you take an mp4 (mpeg-4) video and put it in a video editing program like Corel VideoStudio and then render the same video without any other assets (images, audio, other videos, etc), then you may find that the resulting video becomes out-of-sync with the audio. To fix this, you can use Avidemux as follows.
Testing HTTP connections and Rest APIs can easily be done using Postman. This handy tool allows you to provide HTTP headers, among many other things, to test connections and view responses.
Here’s a test of querying a Rest API from restdb.io. The query URL is https://testdb-cd69.restdb.io/rest/people. For authentication, an HTTP header called “x-apikey” is provided with its value (redacted). The response from the call is in the body panel in JSON format.
If you have a webhook or form that makes an http request to another system, you can test the request and see the response easily using httpbin.org.
For example, if you have a form that posts data, you can set the action attribute’s value to https://httpbin.org/post. Then, submit the form and you will see what the posts data looks like. This is great for testing.
If you need a quick and easy way to create a CMS (content management system) or a database backend for an app, then Restdb.io will amaze! Here are some features:
Below is a tutorial on how to create a simple CRUD (Create, Read, Update, Delete) app using Restdb.io with a PHP backend.
After you log in, you’ll need to be in Developer Mode to create a table. When creating fields in the table, Restdb.io offers numerous field property options including native and custom field validation.
To populate the table, you can
Using the Test Data option, I chose to generate 5 rows which gave me this.
Click on [Table] > API Docs and choose a language to see sample code for
The sample PHP CRUD code provided by RestDB.io requires the use of the HttpRequest PEAR PECEL HTTP_Request extension. To avoid having to install this dependency, you can just use cURL which is included with PHP.
Below is a screenshot using NodeJS using the Request library.
You can also perform CRUD actions using client-side JavaScript but you need to set up CORS (cross-origin resource sharing). The example below shows JavaScript using jQuery AJAX.
For client-side JavaScript, you need to generate a CORS API key. The screenshot below shows a CORS API key (redacted) that allows connections from any origin server but only allows the GET method to read data.
In the screenshot above, the API key would only work for the “people” table / collection. To have one key work for all tables / collections, use “/**” instead.
I created a test file called read-curl.php which uses cURL to connect to the remote database.
After uploading it to my web host, opening the file in a browser shows me the data in JSON format, as expected, which you can see live at http://zabuun.com/restdb.io/read-curl.php
You can also test the API by installing Postman (free), entering a query in the form of a REST URL, and entering your API key as an HTTP header.
I created a test file called read.html with the following code. This code uses the CORS key for cross-origin resource sharing.
After uploading it to my web host, opening the file in a browser shows me the data in JSON format, as expected, which you can see live at http://zabuun.com/restdb.io/read.html
If you have JSON data as in the example above, you can use Handlebars.JS to format the output in HTML.
When reading data from RestDB , you will often want to filter data based on conditions rather than retrieve an entire collection (all records). RestDB supports many MongoDB-like query syntax. Read the docs. Here’s an example of RestDB queries for equivalent relational DB SQL queries.
SQL | RestDB |
---|---|
SELECT * FROM users | https://<db-name>.restdb.io/rest/users?q={} |
SELECT id, user_id, status FROM users | /rest/users?q={}&h={"$fields": {"user_id": 1, "status": 1} } |
SELECT * FROM users WHERE status = “A” | /rest/users?q={ "status": "A" } |
SELECT * FROM users WHERE status != “A” | /rest/users?q={"status":{"$not":"A"}} |
SELECT * FROM users WHERE status = “A” AND age = 50 | /rest/users?q={ "status": "A", "age": 50 } |
SELECT * FROM users WHERE status = “A” OR age = 50 | /rest/users?q={ "$or": [ { "status": "A" } ,{ "age": 50 } ] } |
SELECT * FROM users WHERE age > 25 | /rest/users?q={ "age": { "$gt": 25 } } |
SELECT * FROM users WHERE age < 25 | /rest/users?q={ "age": { "$lt": 25 } } |
SELECT * FROM users WHERE age > 25 AND age <= 50 | /rest/users?q={ "age": { "$gt": 25, "$lte": 50 } } |
SELECT * FROM users WHERE user_id like “%bc%” | /rest/users?q={ "user_id": {"$regex" :"bc"}} |
SELECT * FROM users WHERE user_id like “bc%” | /rest/users?q={ "user_id": {"$regex" :"^bc"}} |
SELECT * FROM users WHERE status = “A” ORDER BY user_id ASC | /rest/users?q={ "status": "A" }&sort=user_id&dir=1 |
SELECT * FROM users WHERE status = “A” ORDER BY user_id DESC | /rest/users?q={ "status": "A" }&sort=user_id&dir=-1 |
SELECT COUNT(*) FROM users | /rest/users?q={}&h={"$aggregate":["COUNT:"]} |
SELECT COUNT(*) FROM users WHERE age > 30 | /rest/users?q={"age":{"$gt": 30}}&h={"$aggregate":["COUNT:"]} |
SELECT * FROM users LIMIT 1 | /rest/users?q={}&max=1 |
SELECT * FROM users LIMIT 5 SKIP 10 | /rest/users?q={}&max=5&skip=10 |
You can also aggregate data, e.g. min, max, avg, count, groupby, etc, using aggregation and grouping functions. Read the docs.
If you already have an entire JSON dataset and you want to query against it, you can use JSONata. JSONata is a lightweight query and transformation language for JSON data.
If you want to create a web form for public use, you can have restdb.io auto-generate one for you, complete with JavaScript validation and code to publish the data to your restdb.io database. See an example at
http://zabuun.com/restdb.io/form.html
Below is a screenshot of my remote filesystem on a shared GoDaddy server. The error.log file is auto-generated.
If you work with other developers or editors, you can give them role-based access to your restdb.io account to manage data. An editor, for example, will not see the developer features and can simply add records using a user-friendly web form like shown below.
Personally, I don’t like to break the yolk cuz that’s messy. I’d eat the egg white separately and each entire egg yolk separately.
Let’s say you’ve taken a screenshot of some text and you’d like to highlight part of the text. By using different blending modes, this becomes an easy task. Here’s how to do it.
1. Open the screenshot containing text in Photoshop and select the text you want to highlight
2. Create a new layer and fill it with yellow
3. Change the blending mode to darken or any other one you like to create the highlighted text.
Here, I’ve chose the Darken blend mode.
This is the result.
I’ve tried various types of tillers that you can rent from Home Depot. The light duty mantis tillers and mid tine are really only good for soft dirt.
This tiller is heavy duty and can break up hard clay BUT both the wheels and the tines move forward so unless the tines are partially underground breaking the dirt, you can easily be pulled forward and lose control of the machine. Though this is a heavy duty machine, I find it less easy to control compared to the Barreto Hydraulic tiller.
This tiller is big and heavy but it’s easy to use, easy to control, and will destroy clay and hard dirt. The rear tines move in the opposite direction of the wheels so the machine never runs away from you moving you forward out of control. It’s the most expensive to rent, but the time savings and ease of use make it worth it. I personally recommend this tiller over all the others.
Last week I made an egg sandwich with spinach, smoked sliced beef brisket, cheddar cheese and ciabatta bread. It was good but messy as the ingredients kept falling out as I’d eat it. Also, it wasn’t easy tasting all of the ingredients with every bite since they’d move around while holding the sandwich.
Since the sandwich would end up all mixed up in your mouth and stomach, I figured why not just mix all the ingredients up in a pan. It turns out this was not only much easier to cook and eat but also tastier as you could taste more of the ingredients.
Here’s the recipe:
I prefer my eggs half cooked with the yolk still wet so I’d turn off the heat and transfer everything to a play in time for the yolk to remain wet.
To eat, you can stuff the pita bread with the egg scramble though it may be hard separating the two sides of the bread without breaking it. Otherwise, just rip pieces of pita bread and scoop up some of the eggs scramble with it as you would for curry.
To save time in the morning, prepare everything the night before.