I can’t believe how long it took me to learn this trick. That is the problem of being primarily self-taught. Check this out:
Jeremy
Present different data outside of the network using PHP
This is very handy if you want to have a walled garden section inside your private network while still hosting public data.
<?php
$ipcheck = "192.168.0."; //Replace with first 3 octets of your existing IP scheme
if( substr($_SERVER['REMOTE_ADDR'],0,strlen($ipcheck )) == $ipcheck ) {
//Begin Internal code
}else{
//Begin External code
}
?>
Bourbon and Brown Sugar Pecan Pie
This recipe is very very simple. And amazing.
- 4 Tbs Melted Butter, Browned
- 1/2 Cup Brown Sugar, Packed
- 1 Tsp Salt
- 2 Eggs
- 1 Cup Cane Syrup
Mix thoroughly before adding the rest
- 3/8 Cup Flour
- 2 Tbs Bourbon Whiskey
- 1 Tsp Vanilla
- 1 1/4 Cups Pecans, Chopped
- 3/4 Cup Chocolate Chips
- 9 Inch Pie Shell
- 3/4 Cup Pecans, Whole
Bake for 50 minutes at 350 degrees
545 VS 300,000,000 People
By Charlie Reese
Politicians are the only people in the world who create problems and then campaign against them.
Have you ever wondered, if both the Democrats and the Republicans are against deficits, WHY do we have deficits?
Have you ever wondered, if all the politicians are against inflation and high taxes, WHY do we have inflation and high taxes?
You and I don’t propose a federal budget. The President does.
You and I don’t have the Constitutional authority to vote on appropriations. The House of Representatives does.
You and I don’t write the tax code, Congress does.
You and I don’t set fiscal policy, Congress does.
You and I don’t control monetary policy, the Federal Reserve Bank does.
One hundred senators, 435 congressmen, one President, and nine Supreme Court justices equates to 545
human beings out of the 300 million are directly, legally, morally, and individually responsible for the domestic problems that plague this country.
I excluded the members of the Federal Reserve Board because that problem was created by Congress. In 1913, Congress delegated its Constitutional duty to provide a sound currency to a federally chartered, but private, central bank.
I excluded all the special interests and lobbyists for a sound reason. They have no legal authority. They have no ability to coerce a senator, a congressman, or a President to do one cotton-picking thing. I don’t care if they offer a politician $1 million dollars in cash. The politician has the power to accept or reject it. No matter what the lobbyist promises, it is the legislator’s responsibility to determine how he votes.
Those 545 human beings spend much of their energy convincing you that what they did is not their fault. They cooperate in this common con regardless of party.
What separates a politician from a normal human being is an excessive amount of gall. No normal human being would have the gall of a Speaker, who stood up and criticized the President for creating deficits. The President can only propose a budget. He cannot force Congress to accept it.
The Constitution, which is the supreme law of the land, gives sole responsibility to the House of Representatives for originating and approving appropriations and taxes. Who is the speaker of the House now? She and fellow House members, not the President, can approve any budget they want. If the President vetoes it, they can pass it over his veto if they agree to.
It seems inconceivable to me that a nation of 300 million cannot replace 545 people who stand convicted – by present facts – of incompetence and irresponsibility. I can’t think of a single domestic problem that is not traceable directly to those 545 people. When you fully grasp the plain truth that 545 people exercise the power of the federal government, then it must follow that what exists is what they want to exist.
If the tax code is unfair, it’s because they want it unfair.
If the budget is in the red, it’s because they want it in the red.
If the Army and Marines are in Iraq and Afghanistan it’s because they want them in Iraq and Afghanistan.
If they do not receive social security but are on an elite retirement plan not available to the people, it’s
because they want it that way.
There are no insoluble government problems.
Do not let these 545 people shift the blame to bureaucrats, whom they hire and whose jobs they can abolish; to lobbyists, whose gifts and advice they can reject; to regulators, to whom they give the power to regulate and from whom they can take this power. Above all, do not let them con you into the belief that there exists disembodied mystical forces like “the economy,” “inflation,” or “politics” that prevent
them from doing what they take an oath to do.
Those 545 people and they alone, are responsible.
They and they alone, have the power.
They and they alone should be held accountable by the people who are their bosses. Provided the voters have the gumption to manage their own employees.
We should vote all of them out of office and clean up their mess!
What you do with this article now that you have read it is up to you.
This might be funny if it weren’t so true.
Be sure to read all the way to the end:
Tax his land,
Tax his bed,
Tax the table,
At which he’s fed.
Tax his tractor,
Tax his mule,
Teach him taxes
Are the rule.
Tax his work,
Tax his pay,
He works for
peanuts anyway!
Tax his cow,
Tax his goat,
Tax his pants,
Tax his coat.
Tax his ties,
Tax his shirt,
Tax his work,
Tax his dirt.
Tax his tobacco,
Tax his drink,
Tax him if he
Tries to think.
Tax his cigars,
Tax his beers,
If he cries
Tax his tears.
Tax his car,
Tax his gas,
Find other ways
To tax his ass.
Tax all he has
Then let him know
That you won’t be done
Till he has no dough.
When he screams and hollers;
Then tax him some more,
Tax him till
He’s good and sore.
Then tax his coffin,
Tax his grave,
Tax the sod in
Which he’s laid…
Put these words
Upon his tomb,
‘Taxes drove me
to my doom…’
When he’s gone,
Do not relax,
Its time to apply
The inheritance tax.
Accounts Receivable Tax
Building Permit Tax
CDL license Tax
Cigarette Tax
Corporate Income Tax
Dog License Tax
Excise Taxes
Federal Income Tax
Federal Unemployment Tax (FUTA)
Fishing License Tax
Food License Tax
Fuel Permit Tax
Gasoline Tax (currently 44.75 cents per gallon)
Gross Receipts Tax
Hunting License Tax
Inheritance Tax
Inventory Tax
IRS Interest Charges IRS Penalties (tax on top of tax)
Liquor Tax
Luxury Taxes
Marriage License Tax
Medicare Tax
Personal Property Tax
Property Tax
Real Estate Tax
Service Charge Tax
Social Security Tax
Road Usage Tax
Recreational Vehicle Tax
Sales Tax
School Tax
State Income Tax
State Unemployment Tax (SUTA)
Telephone Federal Excise Tax
Telephone Federal Universal Service Fee Tax
Telephone Federal, State and Local Surcharge Taxes
Telephone Minimum Usage Surcharge Tax
Telephone Recurring and Nonrecurring Charges Tax
Telephone State and Local Tax
Telephone Usage Charge Tax
Utility Taxes
Vehicle License Registration Tax
Vehicle Sales Tax
Watercraft Registration Tax
Well Permit Tax
Workers Compensation Tax
STILL THINK THIS IS FUNNY?
· Not one of these taxes existed 100 years ago, and our nation was the most prosperous in the world.
· We had absolutely no national debt, had the largest middle class in the world, and Mom, if agreed, stayed home to raise the kids.
Almost-Famous Fried Pickles
I have never made the sauce, but I thought I would include it in case you wanted to.
Ingredients
For the sauce:
- 1/4 cup mayonnaise
- 1 tablespoon drained horseradish
- 2 teaspoons ketchup
- 1/4 teaspoon Cajun seasoning
For the pickles:
- Peanut or vegetable oil, for frying
- 1/2 cup all-purpose flour
- 1 3/4teaspoons Cajun seasoning
- 1/2 teaspoon Italian seasoning
- 1/4 teaspoon cayenne pepper
- Kosher salt
- 2 cups sliced dill pickles, drained
Directions
- Make the sauce: Mix the mayonnaise, horseradish, ketchup and Cajun seasoning in a bowl; set aside.
- Fry the pickles: Heat 1 inch peanut oil in a pot over medium-high heat until a deep-fry thermometer registers 375 degrees F. Meanwhile, whisk the flour, Cajun seasoning, Italian seasoning, cayenne pepper, 1/2 teaspoon salt and 1/2 cup water in a large bowl until smooth. Spread the pickles on paper towels and pat dry.
- Add half of the pickles to the batter and toss to coat. Remove from the batter using a slotted spoon, letting the excess drip off, and add to the oil one at a time. Fry until golden brown, 1 to 2 minutes; remove with a slotted spoon and drain on paper towels. Return the oil to 375 degrees F and repeat with the remaining pickles and batter. Serve immediately with the prepared sauce.
“Classic” Beef Stew
- ¼cup all-purpose flour
- ¼teaspoon freshly ground pepper
- 1pound beef stewing meat, trimmed and cut into inch cubes
- 5teaspoons vegetable oil
- 2tablespoons red wine vinegar
- 1cup red wine
- tomato paste
- 3½cups beef broth, homemade or low-sodium canned
- 2bay leaves
- 1medium onion, peeled and chopped
- 5medium carrots, peeled and cut into ¼-inch rounds
- 2large baking potatoes, peeled and cut into ¾-inch cubes
- 2teaspoons salt
- Combine the flour and pepper in a bowl, add the beef and toss to coat well. Heat 3 teaspoons of the oil in a large pot. Add the beef a few pieces at a time; do not overcrowd. Cook, turning the pieces until beef is browned on all sides, about 5 minutes per batch; add more oil as needed between batches.
- Remove the beef from the pot and sauté the onions. add about 1 to 2 tablespoons of tomato paste and continue to cook until the color starts to go from bright red to rust. Then deglaze with the wine and vinegar.Cook over medium-high heat, scraping the pan with a wooden spoon to loosen any browned bits. Add the beef, beef broth and bay leaves. Bring to a boil, then reduce to a slow simmer.
- Cover and cook, skimming broth from time to time, until the beef is tender, about 1½ hours. Add the onions and carrots and simmer, covered, for 10 minutes. Add the potatoes and simmer until vegetables are tender, about 30 minutes more. Add broth or water if the stew is dry. Season with salt and pepper to taste. Ladle among 4 bowls and serve.
Holiday Roast Turkey
I use the following recipe as my starting point. It comes out phenomenal with a crisp skin, and juicy flavorful meat. Definitely worth the effort.
Brine
A brine is simply a seasoned salt-water bath that the turkey soaks in for 6-18 hours (or one hour per pound) prior to cooking. The brine adds some flavor, but most importantly provides a chemical method to keep the meat tender and juicy while cooking.
Ingredients
Raw whole turkey
5-gallon bucket (like from Home Depot)
3-pound box of kosher salt
1 tablespoon of whole black peppercorns
2 gallons chicken broth (water mixed with bouillon cubes is fine
1-gallon ice water
1 whole bunch fresh thyme, torn roughly
1 whole bunch fresh oregano, torn roughly
1 whole bunch fresh sage leaves, torn roughly
1 whole bunch fresh marjoram, torn roughly
To Make…
1. Clean the raw turkey and remove the neck and giblets.
2. In the bucket, combine the cooled (room temperature) broth with the ice water, salt, pepper and fresh herbs and mix well.
3. Place the turkey in the bucket, breast side down and cover the bucket. Leave it sit somewhere cool, I usually use the garage (unless it’s summer time obviously).
4. After at least 6 and no more than 18 hours, and prior to cooking your turkey, remove the bird and rinse it with cool water, then proceed with your cooking prep
Turkey Time
Ingredients 2 Large Yellow or White Onions 1 stalk of celery 4 Large carrots 4 Large Shallots Olive Oil ½ bunch fresh thyme ½ bunch fresh sage ½ bunch fresh rosemary Salt and Pepper Oh yeah… and a turkey
To Make…
1. Make sure the bird is fully thawed by placing it in the refrigerator at least 3 full days before cooking. If, on the night before, it is not thawed, place the turkey in a room temperature bath until it thaws.
2. The night before roasting, clean the turkey by removing the neck and giblets enclosed in the bird. Use them for the gravy, or discard. (See my gravy recipe for more info)
3. Rinse the raw bird completely with cold water, using your hands to “massage” the bird as it is rinsed with the water. Do this all over, and inside the bird’s cavity. MAKE SURE that everything you touch is thoroughly cleansed afterwards.
4. Drizzle olive oil into the cavity of the turkey, followed by generous amounts of salt and pepper. Rub the salt and pepper all over the inside wall of the turkey.
5. Drizzle olive oil all over the turkey’s breasts, legs, back, etc, rubbing the oil in. Follow it with generous amounts of salt and pepper rubbed all over the bird. The seasonings not only bring out the bird’s flavors, but also help to keep the meat tender.
6. Place the bird, breast side up, in his baking pan, preferably on a rack which allows the turkey’s drippings to accumulate beneath it.
7. Chop the celery, onions, carrots, peeled shallots, and herbs and mix together in a bowl.
8. Stuff the chopped herbs and vegetables into the cavity of the turkey. This is done to flavor the bird, and will not be eaten.
9. Cover the turkey and keep refrigerated over night.
10. On the day of cooking, remove the bird from the fridge in plenty of time for it to reach room temperature.
11. Preheat oven to 500 degrees.
12. Place a fresh layer of olive oil along the outside of the turkey.
13. Place turkey, legs to the back, in the oven for 30 minutes.
14. Your turkey should be beginning to turn golden brown already. (if the bird is quite large, like say 20+ pounds, you may need to add an extra 15 minutes).
15. Reduce oven heat to 300 degrees.
16. Place a triangular piece of aluminum foil over the breast and continue cooking DO NOT OPEN THE OVEN CONTINUALLY. Just let the bird cook.
17. Despite common myths, there is no formula based on “minutes per pound” to figure out when your bird will be done. In my experience, an 18 pound turkey will need another 1 ½ to 2 ½ hours of cooking at this point, but you have to use some common sense. You want you turkey’s legs to reach 175 degrees, and the breast meat to reach 155 degrees. At that point, you will remove the turkey from the oven, keep it covered and carve it 10 minutes later. I suggest checking your turkey after 1 hour of cooking at 300 degrees and determining at that point how well it’s going. Given the choice you’d rather your turkey be done too soon, rather than too late.
Adobong Mani (Filipino Peanuts)
- Heat peanut oil
- slice a bunch of garlic thinly
- fry garlic to a light brown
- put into strainer to drain excess oil
- add a shitload of peanuts
- stir occasionally
- do a few batches
- last batch, add garlic back
- after its all done, stir/toss and salt
Crypto
I haven’t invested in crypto currency because I don’t understand how it works. Now after reading this I understand.
How Crypto Currency works… an analogy in Layman’s terms.
Not long ago a merchant found a lot of monkeys that lived near a certain Village. One day he came to the Village saying he wanted to buy these monkeys!
He announced that he would buy the monkeys at $100 each. The villagers thought that this man must be crazy – How can somebody buy stray monkeys at $100 each? Still some people caught some monkeys and gave it to this merchant and he gave $100 for each monkey. This news spread like wildfire and people caught monkeys and sold them to the merchant.
After a few days, the merchant announced that he will buy monkeys at $200 each. The lazy villagers also ran around to catch the remaining monkeys! They sold the remaining monkeys at $200 each.
The merchant then announced that he will buy monkeys for $500 each! The villagers start to lose sleep!…..They caught six or seven monkeys, which was all that was left and got $500 each.
The villagers were waiting anxiously for the next announcement. Then the merchant announced that he is going on Holiday for a week, but when he returns, he will buy monkeys at $1,000 each! He also said that his employee will be in charge, and would take care of the monkeys he bought pending his return. The Merchant went on holiday!
The Villagers were frantic and very sad as there were no more monkeys left for them to sell it at $1000 each as was promised by the Merchant. Then the Merchant’s Employee contacted them and told them that he would secretly sell them some monkeys at $700 each. The news spread like wildfire. As the Merchant promised on his return that he would buy monkeys at $1000 each, they would achieve a $300 profit for each monkey.
The next day The Villagers queued up near the Monkey Cage. The Employee sold all the monkeys at $700 each. The Rich bought monkeys in large lots The poor borrowed money from money lenders and bought the rest of the monkeys!
The Villagers took care of their monkeys & waited for the Merchant to return! However nobody came ! ….. Then they ran to Find the Employee….However he was not to be found!
The Villagers then realized that they have been duped buying the useless Stray monkeys at $700 each and were now unable to sell them!
This Monkey Business is now known as Bitcoin!
Send ZPL to Label Printer in PHP
I needed to generate ZPL data on the fly, and push it to Zebra label printers. I also wanted to be able to see the label on screen, so I also setup an API call to Labelary.
I ended up using pfsockopen(). This example requires Apache’s mod_rewrite and PHP curl.
<?php
$zaddress = "192.168.0.245"; //IP address of network connected printer
$bc = "123456789012"; //Data to include in label data - this example is just text
$qty = "1";
$zpldata = "
^XA
^PW812
^FT0,260^A0N,260^FB812,1,0,C^FD" . $bc . "\&^FS
^PQ" . $qty . "
^XZ";
try {
$fp=pfsockopen($zaddress,9100);
fputs($fp,$zpldata);
fclose($fp);
$status="success";
$zpl = $zpldata;
$curl = curl_init();// print density 8dpmm=203dpi, 12dpmm=300dpi / width x height / index nth (0)
curl_setopt($curl, CURLOPT_URL, "http://api.labelary.com/v1/printers/8dpmm/labels/4.0x6.0/0/"); //downloads a 4x6 label image at 203dpi
curl_setopt($curl, CURLOPT_POST, TRUE);
curl_setopt($curl, CURLOPT_POSTFIELDS, $zpl);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($curl, CURLOPT_HTTPHEADER, array("Accept: image/png"));
$result = curl_exec($curl);
if (curl_getinfo($curl, CURLINFO_HTTP_CODE) == 200) {
$file = fopen("printerlabel.png", "w");
fwrite($file, $result); //writes the png file to the server
fclose($file);
}else{print_r("Error: $result");}
curl_close($curl);
$qty = "";
}catch (Exception $e) {echo "<div class='alert alert-danger'>Caught exception: ", $e->getMessage(), "\n</div>";}
}
?>
Warmup
1 Position Chord Tour
Left Hand Stretch
Use all of your fingers, and hold them down!
Trademark Salsa
This recipe changes quite a bit depending on how spicy the peppers are and how flavorful the tomatoes are. I don’t measure, I eyeball it, and more importantly, taste the ingredients. Next time I make it, I will have to do a video, or at the very least, get some pictures. I usually make way too much, which isn’t usually a bad thing. Feel free and try to half the recipe.
I choose peppers based on darkness of the skin, and go for the ones with no wrinkles. I choose tomatoes based on the richness of the red and softness. I don’t want mushy, but they should have just a little softness to them.
Ingredients:
- 1/2 produce bag of roma tomatoes
- Equal amount of another kind of tomato
- 2 white onions
- 1 yellow onion
- 6+ cloves of garlic
- 1+ bunch of Cilantro
- 2+ Limes
- 4 Jalapenos
- 4 Seranos
- 1 Anaheim
- More salt than you think
- pinch of cumin
Slice onions and peppers in half.
Put the rack in the middle of the oven, and broil half of the onions and garlic, and all of the peppers for 10 minutes. Or you can put it in the smoker, which is of course better. They are done when they look soft and a little wrinkled. Or you can put the peppers directly on the stove top (no pan) and get a char on them.
While that is cooling, boil a big pot of water, and drop in some tomatoes in small batches. It only takes a minute or 2, once the skin starts popping open, remove the tomatoes to a strainer, and cool. Repeat in batches until your tomatoes are all done.
Peel the skin off of the tomatoes and squeeze out some of the excess liquid.
I like to remove half the seeds from the jalapenos and seranos, and all the seeds from the anaheim. Leave more seeds for a heat boost (I don’t usually need it)
Add the peppers, onion, juice and zest of 1 lime, garlic, and cilantro, cumin and salt to a large blender and blend. Reserve half of this mixture, and add half of the tomatoes, and blend more.
At this point, you can taste, and determine how the heat is going to be. You are going to want to add in more tomato and pepper mixture to get the heat you want, and make sure and add more salt. Add more lime if needed. If it doesn’t taste like restaurant salsa, it doesn’t have enough salt.
Pair with a good tortilla chip like El Ranchero brand.
Steak done right
The only 2 things you need for seasoning is salt and smoke.
Smoked Salmon basics
This article is a great starting point to smoking salmon.
Banana Bread
I don’t eat any carbs anymore, but I figured I could still share the best recipes for this type of stuff. The best recipe I found has a key ingredient – melted butter.
https://www.simplyrecipes.com/recipes/banana_bread/
Alternative recipe:
- 2.25 cups flour
- 1 cup sugar
- 1 tea baking soda
- 1 tea salt
- 4 medium bananas, mashed
- 1/2 cup butter
- 2 large eggs
- 1 tea vanilla
Preheat oven to 325°. Spray a 9×5-inch loaf pan with baking spray with flour.
In a large bowl, whisk together flour, sugar, baking soda, and salt. In a medium bowl, whisk together banana, melted butter, eggs, and vanilla. Fold banana mixture into flour mixture until just combined. Spread batter into prepared pan.
Bake until a wooden pick inserted in center comes out clean, 50 to 60 minutes. Let cool in pan for 10 minutes. Remove from pan, and let cool completely on a wire rack. Store in an airtight container for up to 3 days.
Format a background image in a DIV
I wanted to add a holiday closure notice to a website. I don’t write HTML/CSS code every day, so I just lookup what I need when I need it – that has served me very well for many years. These days, google search is great at giving garbage results. With AI generated websites, and lame article writers, it is hard to find what I am looking for.
I see obvious problems (to me), like using url(“somesite.com/picture.jpg”); – I thought the standard practice was to use double quotes for your style call-out, and use single quotes for nesting, but maybe that is just me. Even when I write standalone CSS, I still use single quotes. Maybe I am the odd one.
For this site, and task, inline CSS makes the most sense.
<div style="background-image:url('flag.jpg');background-repeat:no-repeat,no-repeat;width:100%;height:75px;">Content</div>
Also, when the first presented article contains thousands of words, but it does not mention background- size, then I suspect that it is not written by someone who knows what they are doing.
So, my scenario: I found an American flag image, and it is quite wide. That is fine, I want to accommodate larger screens, but I want it to look good on smaller screens as well. It needs to “fit” instead of seeing only stars, or only the top stripe etc. That is where background-size comes into play. Depending on the shape of the block, you may want “contain” or “cover”. for me, cover was the right choice.
Of course, text color over red white and blue is a little tough, it has to be legible. I opted for yellow with a bit of text-shadow to make it stand out.
So my final code looks like:
<div style="background-image:url('flag.jpg');background-repeat:no-repeat,no-repeat;background-size:cover;width:100%;height:75px;color:yellow;text-align:center;line-height:75px;"><span style="text-shadow:0px 0px 10px black;"><b>Note: We will be closed for the 4th of July.</b></span></div>
Bing bang boom, bob’s your uncle.
Baconnaise
I have not tried this yet, but this is going to happen very very soon.
Best Pesto
The best pesto is made traditionally – with a mortar and pestle.
Korg KDM-3 Metronome Review
I should have been practicing with a Metronome the whole time. I feel like most of 20+ years of playing has been wasted! Okay, that is a bit much, but I certainly did not get the most out of all those hours of practice.
This has been my #1 purchase for improving my playing. I highly recommend getting one. If you want to use a phone app, or computer, or drum machine, or play along to the tracks, that is fine, but it will be very beneficial to have something.
I like this one because it is basic, plenty loud, and even has an output jack for headphones or line-in.
Betrayed – Guitar Cover
Check this cover out – this guy is good.
Practicing 2020
I started dedicating time to practicing. I have always viewed myself as “not a singer”, however, I enjoy it. I recorded these for shits and giggles, but I want to kick it into high gear, and lay it down better.
As you can see these are quite old. Since these recordings, I have been focusing on timing, and trying to polish up my presentation. I am getting ready to record a few more soon, so check back!
2018
During the Thanksgiving week, my son was down for a visit. While we has down, we were messing with recording – this is some of that audio.
Live 2018
My neighbor was putting on an event, Art & Culture festival. She heard my practicing, and asked me to play. I can’t believe I said yes at the time, but I did. I felt I was incredibly rusty, and could not pull off a “set” even if it was just for the families of the area.
I got up to perform, and I just had an idea of the songs I was going to play – I had no backup, no beat, and no one else. While playing (some Santana if I recall) my amp kept kicking off the overdrive. My amp was dying. I don’t know if it was from cranking it too much, or the Honda generator, but it really screwed me up. I was prepared for standing in front of people, although it was a bigger crowd than I thought it would be. I was NOT prepared for equipment failure.
The only thing that still worked was the amp on clean, and the looper pedal, so I played a blues song.