Have you ever needed to make notes on screen like a web page to then share with others. You might first take a screenshot and then edit it in some program or buy an app like TechSmith SnagIt. A simpler option would be to install the Web Paint extension in Chrome. When you click on the extension, it opens this panel
Then, you can type, draw, add arrows, and so on then take a screen capture and share with others, e.g.
Many, if not most, web forms are backed by a database. But what if you just need a simple data store, like a JSON file, and you want to quickly and easily provide users with a user-friendly web form to make updates to the JSON data. JSON Editor takes a JSON Schema and uses it to generate an HTML form.
The generated JSON output can then be used by a templating language like Handlebars for building a web page.
JSON Editor supports many options including the ability to quickly style a form using CSS frameworks like Bootstrap.
JSON Schema also supports validation so you can ensure your users are not submitting invalid data. For security reasons, this solution may not be good in a production environment by non-trustworthy people but it could work well in a secure, internal environment among coworkers.
Let’s say you have a website and you’re tired of making constant updates to some portion of oft-changing content, e.g. a conference agenda. It would be nice to offload this tedious work to a content owner who so often makes typos. But this content owner is non-technical and is a visual person. They need a WYSIWYG editor that would allow them to make changes directly on what it is that they want to edit, not directly in a database or something cryptic like a JSON file.
HTML5 supports the contenteditable attribute which makes any element editable. In the screenshot below, on a part of the byline is made editable.
Simple add the attribute “contenteditable=true” to the tag that wraps the text you want to make editable.
<p>Last Edited by <span id="author" contenteditable="true">Monty Shokeen</span>
</p>
When the content owner clicks on the text to editor, a black outline appears making it look like a form field.
The contenteditable attribute can be added to as many HTML elements as you want. Here is a live example showing three different editable fields with changes saved to local storage. Here’s an example showing how you can save the changes in JSON format and post it to a URL endpoint using AJAX or Fetch.
Many web developers are familiar with online editors like TinyCME. If you’ve edited a blog post in WordPress using the classic editor, then you know what I mean.
The problem with this type of editor is it’s too easy to accidentally output garbage HTML. WordPress has switched to offering a block style editor.
If you need to create a similar editor for your web project, editor.js offers inline block-style editing and it outputs clean data in json format.
Here’s a screenshot of example JSON output which can then be used with
This JSON data can then be used with a templating language like Handlebars to build web pages.
Icons make a big difference in the look of a website. When placed beside text links, they make the links stand out. They can be used to replace text links, especially on mobile. They accompany text to make boring, text heavy pages easier to read. But, finding icons or creating them can be difficult. FontAwesome solves this by offering thousands of icons that are easily searchable. If I search for car, here’s what I see.
To use an icon, e.g. of a car, just paste this HTML code.
As I’ve said before, weeds are notorious for finding ways of growing through weed fabric and along yard edges.
Middle of yard
To combat weeds from popping up in the middle of your landscape, lay cement board everywhere. Cement board is porous so water can still drain through it. For the areas between the cement boards, weeds will grow. To prevent this from happening, cut pond liner and place it where the cement board gaps are. Pond liner is very strong, UV-resistant, and almost impossible to tear. Traditional weed fabric may be marketed with the claim that it can prevent weeds but it can’t. Weeds still manage to come through. Plus, if you use weed fabric along edges where it’s exposed, it can degrade and easily tear as shown in the picture below.
Now I have to replace that weed fabric with pond liner like I did along a different fence.
If there is no room to drill a screw into the concrete, e.g. if the edge is near a fence, then you can drill 1/2-inch holes in the 2×4 using a 1/2″ spade bit and drive 12-inch long, 3/8-inch galvanized nails through the holes into the ground.
Cut some pond liner and staple it to the 2x4s. Don’t use traditional weed fabric. It will eventually fail and rip and weeds will come through it.
Hammer the large nails through the 2x4s and the pond liner into the ground along the edge of the concrete as shown below.
Allow some of the pond liner to extend beyond the end of the 2×4 so the next 2×4’s pond liner will overlap the first one and prevent weeds from growing in between the 2x4s.
Since 2x4s may not be perfectly straight, you can push them against the concrete edge using a clamp.
If the other side is a wood fence, you can simply staple some pond liner to the fence. In the picture below, the space between the concrete and the fence was narrow. I left a gap between the pond liner for drainage.
In this case, I placed the cement board over the gaps between the pond liner to prevent weeds from growing along the gap.
You can then put rocks like I did pictured below.
There will still be a small gap between the concrete edge and the 2x4s. Fill that cap with concrete control joint sealant. I like Sikaflex Self-Leveling Sealant. Learn more.
For the rocks, I used ¾-inch ginger rocks / Sonoma gold rocks.
Moroccan Shakshouka and Turkish Menemen are very similar. Here’s my version of these dishes.
Ingredients
3 eggs
1 8oz can of fire-roasted diced tomatoes (Target / FoodMaxx)
2/3 cup frozen diced onions (Smart n Final)
1//4 cup cilantro for garnish
2 tbsp wet minced garlic
10 tbsp olive oil
Smoked paprika (not regular paprika)
Salt and pepper
2 tbsp tomato paste (optional)
Pita bread
Instructions
Pour olive oil in medium 10″ pan on medium-high heat
Fry onions and garlic until slight brown
Pour in diced tomatoes and sprinkle in smoked paprika, salt and pepper to taste (optionally, add tomato paste)
When mixture is not too runny, make 3 deep dimples in the pan and crack each egg into them
Cover and poach on low heat until egg white changes from translucent to white. Turn off heat so that egg yolk is still runny.
Garnish with cilantro
Cut some pita bread in quarters and warm for 15 seconds in microwave
Eat
Fry diced tomatoes and garlic in olive oilCook fire-roasted tomatoes with smoked paprika, salt and pepper and optionally tomato pasteMake dimple in mixtureCrack eggs into dimples without breaking yolkCover and poach eggs on low heat until egg whites are white, not transparentLike thisGarnish with cilantro and warm up pita quartersEat directly from pan
So, I just got the Ninja Foodi Smart Indoor Grill which doubles as an air fryer and mini oven. I have another cheaper indoor grill but tends to produce smoke and always triggers my smoke sensor. So far, though the Ninja grill is larger, it hasn’t emitted any smoke nor triggered my smoke sensor and produces better grill results.