, during World War II.
Moola? Only a few Hollywood types, such as Gene Autry, equaled or topped him in the pecuniary sweepstakes.
What he did -- travel during war and peace, bringing home and memories and comfort to weary servicemen -- he did because he wanted to. Just that. Nothing more and certainly nothing less.
Vietnam roiled show biz as nothing before it had done, including the communist brouhahas of the '50s. The Hollywood establishment, then as now, was overwhelmingly liberal, anti-war and anti-Nixon. Over against the establishment stood a sparse if prestigious handful -- Bob, Jimmy Stewart, John Wayne, Roz Russell, yes, and, for a time, that most implausible of conservatives, Frank Sinatra. "I just hated," said Bob, "to get involved in politics.... I got a very negative feeling that the country was getting very little support from the news media."
He could have said that again! Much more than that, politically speaking, he abstained from saying. He was no Roseanne Barr of the Primitive Right.
He had a livelier, more vital distinction: He was funny. Fall-down, knee-slapping funny. The funniness of Bob Hope (so it seems to a longtime admirer) is a better point to address than the patriotism of Bob Hope -- commendable as the latter trait manifestly was.
Analyzing humor is the most sterile of pastimes. What's the point? You laugh, or you don't. Not everyone laughed with Bob, I am sure. But his one-liners and double takes were great; so also his self-satire. His favorite movie role was that of puffed-up coward and lovelorn Romeo. He was a loser who won -- provided Bing Crosby didn't cross him up in the last reel. His non-stop wit (and does anybody care that he had a stable of able writers?) raised him just an eyebrow above the average -- high enough for him to watch us, wryly, across the footlights, never so high as to put him out of touch with those laughing so heartily with him.
The humor of Bob Hope was sharp, discerning, self-depreciatory: very, very American. Ah, and genial. Let's not leave that out.
Bob lived and laughed in an age when Americans liked themselves far better than is the case today. There was more -- how shall I say it? -- tolerance for folly, more appreciation of human nuttiness and contrariness. Nowadays, differences of viewpoint are commonly ascribed to evil and bigotry. I do not remember it so in the '50s, when Bob's sun still shone brightly.
Bob Hope, Fred Allen, Jack Benny, George Burns and Gracie Allen, Red Skelton, "Fibber McGee and Molly," "The Life of Riley"... stop! How many have the slightest idea what I am talking about? Would you advance and be recognized? The aforementioned comedians and shows, I started to say, dispensed merriment for its own sake, not for the sake of eviscerating an ideological opponent or wising up some Church Lady type on the second row with a string of obscenities or double-entendres.
The infirmities of age removed Bob Hope from the comedic circuit just about the time he would have been pronounced unspeakably out of date. It was perhaps as well for him. He lived on to be appreciated for what he had never thought would become necessary -- the defense of American-ness.
Yes. Fine. Wonderful. Give a great patriot his due. Just so long as the tributes don't cease there. Here's the next step -- I might almost say, in present context, a subversive one. Lay hands on some Bob Hope movies from the '40s and '50s -- "The Ghost Breakers." "The Paleface." "Alias Jesse James." The "Road to... " anywhere. Pop 'em in the VCR. Proceed to laugh like crazy.Lower Creek near Greenway, Solid Brick Ranch with a full basement. Nice size rooms and with a little TLC could be a great home for someone with a vision. Basement has a lot of built-in shelving for your storage needs and plenty of space for a shop if wanted. Space in yard for kids to play or plant a garden if you would like.<filename>src/main/java/aniski/utils/TestCode.java
package aniski.utils;

import org.json.JSONObject;
import sun.misc.BASE64Encoder;

import javax.imageio.ImageIO;
import javax.net.ssl.HttpsURLConnection;
import java.awt.geom.AffineTransform;
import java.awt.image.AffineTransformOp;
import java.awt.image.BufferedImage;
import java.io.*;
import java.net.URL;
import java.net.URLEncoder;
import java.util.Iterator;

public class TestCode {


    public static void main(String[] args) {
        TestCode testCode = new TestCode();
        try {
            testCode.initOCR();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    private void initOCR() throws Exception {
        String filePath = "C:\\Users\\Kai\\Documents\\ShareX\\Screenshots\\2021-01\\LqcU8TnSuk.png";
        String extension = "";
        int i = filePath.lastIndexOf('.');
        if (i > 0)
            extension = filePath.substring(i + 1);
        BufferedImage image = scaleImage(filePath); // Increases size by 3x && Turns image into black & white
        String base64 = "data:image/"+extension+";base64,"+ encodeToString(image, extension);
        System.out.println(getOCRResults(base64));
    }

    /**
     * Increases the size of the image, so the OCR can read it much better
     */
    private BufferedImage scaleImage(String filePath) throws IOException {
        BufferedImage image = ImageIO.read(new File(filePath));
        final int w = image.getWidth();
        final int h = image.getHeight();
        BufferedImage scaledImage = new BufferedImage((w * 3),(h * 3), BufferedImage.TYPE_INT_ARGB);
        final AffineTransform at = AffineTransform.getScaleInstance(3.0, 3.0);
        final AffineTransformOp ato = new AffineTransformOp(at, AffineTransformOp.TYPE_BICUBIC);
        scaledImage = ato.filter(image, scaledImage);
        ImageIO.write(scaledImage, "PNG", new File("finish.png")); //Outputs a preview to see if it looks okay
        return scaledImage;
    }


    /**
     * Converts the Image to Text using the OCR API on the web
     * @param base64
     * @return
     * @throws Exception
     */
    private String getOCRResults(String base64) throws Exception {

        URL obj = new URL("https://api.ocr.space/parse/image"); // OCR API Endpoints
        HttpsURLConnection con = (HttpsURLConnection) obj.openConnection();

        con.setRequestMethod("POST");
        con.setRequestProperty("User-Agent", "Mozilla/5.0");
        con.setRequestProperty("Accept-Language", "en-US,en;q=0.5");

        JSONObject postDataParams = new JSONObject();

        postDataParams.put("apikey", "<KEY>");
        postDataParams.put("isOverlayRequired", false);
        postDataParams.put("base64Image", base64);
        postDataParams.put("language", "eng");
        postDataParams.put("OCREngine", 2);

        con.setDoOutput(true);
        DataOutputStream wr = new DataOutputStream(con.getOutputStream());
        wr.writeBytes(getPostDataString(postDataParams));

        wr.flush();
        wr.close();

        BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
        String inputLine;
        StringBuilder response = new StringBuilder();

        while ((inputLine = in.readLine())!= null)
            response.append(inputLine);

        in.close();

        JSONObject jsonObject = new JSONObject(String.valueOf(response));
        return jsonObject.getJSONArray("ParsedResults").getJSONObject(0).getString("ParsedText"); //Grabs the output I want from the API
    }

    /**
     * Encodes Image to Base64 (direct upload to the API instead of using boring links)
     * @param image
     * @param type
     * @return
     */
    public static String encodeToString(BufferedImage image, String type) {
        String imageString = null;
        ByteArrayOutputStream bos = new ByteArrayOutputStream