• 1 Post
  • 9 Comments
Joined 2 years ago
cake
Cake day: July 30th, 2023

help-circle
  • You mean: https://www.twz.com/sea/executive-order-to-go-back-to-steam-catapults-on-new-aircraft-carriers-coming-trump

    President Donald Trump says he plans to sign an executive order that would compel the U.S. Navy to use steam-powered catapults and hydraulic elevators on new aircraft carriers. Trump has railed against the Electromagnetic Aircraft Launch System (EMALS) catapults and Advanced Weapons Elevators (AWE) on the USS Gerald R. Ford, the Navy’s newest supercarrier, for years now. Ford‘s catapults and elevators have faced reliability and maintenance issues, but swapping out these features, even just for future ships in the class, would involve an extremely costly and time-consuming redesign that would further delay new carriers entering service.

    Trump announced his intention to issue an executive order regarding carrier catapults and weapons elevators during often free-wheeling remarks to servicemembers aboard the Nimitz class carrier USS George Washington earlier today. The George Washington is currently in port in Yokosuka, Japan, where it is forward deployed. The President is in Japan as part of a larger tour of Asia.


  • Jurors showed no appetite for the Justice Department’s case against “sandwich guy,” the D.C. resident who chucked a Subway sandwich at the chest of a federal officer, finding him not guilty Thursday after several hours of deliberations.

    The jury — which feasted on sandwiches for lunch Thursday, according to a person familiar with jury lunches — deliberated the charges for several hours Wednesday and Thursday before delivering the verdict.

    Someone is feeling cute. And rightful so. When you lie about a sandwich exploding on you, and it can still be seen in the package after… Not to mention trying to take a hamfisted hogie slap to federal court, you deserve the pickling.





  • A dishwasher has two major cycles that are relevant to dish soap. One is the I’ll show about 15 minutes. And the there is the main wash, which is like an hour plus depending. If you don’t use powdered dish soap and split it up then you’re missing the advantage of the prewash.

    Second half is focused on the effect of heat and why you should drain your water line of cold water through your faucet before you start your dishwasher. By doing that, you increase the heat and you increase the longevity of that heat on is that are in your dishwasher. It’s worth noting that heat is good for dishwashing liquid both because it helps the enzyme break down and also probably breaks down with the food material at some cases.

    Beyond that, he was very enthusiastic about his new soap, which he helped create, and rightfully so. Double blind test, it came out very well against premium pods, and he was able to prove his whole point about pods not being useful in a prewash.


  • Try this Python script:

    from PIL import Image, ImageDraw, ImageFont
    import os
    from pathlib import Path
    
    def watermark_from_filename(input_dir, output_dir=None, 
                               position='bottom-right', 
                               font_size=36,
                               color='white',
                               opacity=200):
        """
        Add watermark to images using their filename (without extension)
        
        Args:
            input_dir: Directory containing images
            output_dir: Output directory (if None, creates 'watermarked' subfolder)
            position: 'bottom-right', 'bottom-left', 'top-right', 'top-left', 'center'
            font_size: Size of the watermark text
            color: Color of the text ('white', 'black', or RGB tuple)
            opacity: Transparency (0-255, 255 is fully opaque)
        """
        
        # Setup directories
        input_path = Path(input_dir)
        if output_dir is None:
            output_path = input_path / 'watermarked'
        else:
            output_path = Path(output_dir)
        
        output_path.mkdir(exist_ok=True)
        
        # Supported image formats
        supported_formats = {'.jpg', '.jpeg', '.png', '.tiff', '.bmp'}
        
        # Process each image
        for img_file in input_path.iterdir():
            if img_file.suffix.lower() not in supported_formats:
                continue
                
            print(f"Processing: {img_file.name}")
            
            # Open image
            img = Image.open(img_file)
            
            # Convert to RGBA if needed (for transparency support)
            if img.mode != 'RGBA':
                img = img.convert('RGBA')
            
            # Create transparent overlay
            txt_layer = Image.new('RGBA', img.size, (255, 255, 255, 0))
            draw = ImageDraw.Draw(txt_layer)
            
            # Get filename without extension
            watermark_text = img_file.stem
            
            # Try to load a nice font, fall back to default if not available
            try:
                font = ImageFont.truetype("arial.ttf", font_size)
            except:
                try:
                    font = ImageFont.truetype("/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf", font_size)
                except:
                    font = ImageFont.load_default()
            
            # Get text size using textbbox
            bbox = draw.textbbox((0, 0), watermark_text, font=font)
            text_width = bbox[2] - bbox[0]
            text_height = bbox[3] - bbox[1]
            
            # Calculate position
            margin = 20
            if position == 'bottom-right':
                x = img.width - text_width - margin
                y = img.height - text_height - margin
            elif position == 'bottom-left':
                x = margin
                y = img.height - text_height - margin
            elif position == 'top-right':
                x = img.width - text_width - margin
                y = margin
            elif position == 'top-left':
                x = margin
                y = margin
            elif position == 'center':
                x = (img.width - text_width) // 2
                y = (img.height - text_height) // 2
            else:
                x = img.width - text_width - margin
                y = img.height - text_height - margin
            
            # Convert color name to RGB if needed
            if color == 'white':
                rgb_color = (255, 255, 255, opacity)
            elif color == 'black':
                rgb_color = (0, 0, 0, opacity)
            else:
                rgb_color = (*color, opacity) if isinstance(color, tuple) else (255, 255, 255, opacity)
            
            # Draw text
            draw.text((x, y), watermark_text, font=font, fill=rgb_color)
            
            # Composite the watermark onto the image
            watermarked = Image.alpha_composite(img, txt_layer)
            
            # Convert back to RGB for JPEG
            if img_file.suffix.lower() in {'.jpg', '.jpeg'}:
                watermarked = watermarked.convert('RGB')
            
            # Save
            output_file = output_path / img_file.name
            watermarked.save(output_file, quality=95)
            print(f"Saved: {output_file.name}")
        
        print(f"\nDone! Watermarked images saved to: {output_path}")
    
    # Example usage:
    if __name__ == "__main__":
        # Watermark all images in current directory
        watermark_from_filename(
            input_dir=".",
            position='bottom-right',
            font_size=48,
            color='white',
            opacity=200
        )
    

    To use this script:

    1. Install Pillow: pip install Pillow

    2. Save the script as watermark_dates.py

    3. Run it in your image directory:

      python watermark_dates.py
      

    Customization options:

    • position: Choose where the watermark appears
    • font_size: Adjust text size
    • color: ‘white’, ‘black’, or RGB tuple like (255, 0, 0) for red
    • opacity: 0-255 (lower = more transparent)


  • The Russia bans gasoline exports measure will start on 29 July and, for the first time, apply to fuel producers as well. Interfax reports that the Kremlin announced the full restriction to stabilize the domestic fuel market amid peak summer demand. Liga notes that the ban could also be prolonged into September if the situation does not improve.

    Sanctions on Russian oil and refined products have cut export revenues and reduced access to parts and buyers. At the same time, the war drives enormous military fuel consumption, while Ukrainian attacks on fuel facilities and transport routes disrupt production and logistics. These pressures collide with seasonal demand peaks from farming during summer, creating domestic shortages. To keep enough fuel for internal needs, Moscow has turned to export bans as a stopgap measure.