Blog

  • Ukraine drone attack sparks fire at Sochi oil depot, Russian authorities say

    Ukraine drone attack sparks fire at Sochi oil depot, Russian authorities say

    At least seven civilians were reported injured in the city, which has been repeatedly shelled by Russian forces. Ukraine’s State Emergency Service said three of the wounded were being treated in hospital.

    Russian authorities said the drone attack on the Sochi refinery was one of several launched by Ukraine over the weekend, targeting installations in the southern Russian cities of Ryazan, Penza and Voronezh. The governor of Voronezh said four people were injured in one drone strike.

    Ukraine has not commented on the strikes. It has been targeting Russia’s energy infrastructure in retaliation to Russia’s sustained bombardment of Ukraine’s energy grid throughout the war.

    Russia’s defence ministry said its air defences intercepted 93 Ukrainian drones overnight, 60 of which were over the Black Sea region.

    Ukraine’s air force said Russia fired 83 drones or 76 drones and seven missiles overnight, 61 of which were shot down. It added that 16 drones and six missiles struck targets in eight locations.

    It comes after a particularly deadly week for civilians in Ukraine, including an attack on Kyiv on Thursday that killed at least 31 people.

    More than 300 drones and eight cruise missiles were launched in the assault, Ukrainian officials said, making the attack one of the deadliest on the capital since Russia launched its full-scale invasion in February 2022.

    Following the strikes, Ukrainian President Volodymyr Zelensky called for stronger international sanctions on Russia this week, while US President Donald Trump condemned Russia’s actions in Ukraine and suggested new sanctions against Moscow were coming.

    In July, Trump said Putin had 50 days to end the war, or Russia would face severe tariffs targeting its oil and other exports.

    On Monday, Trump set a new “10 or 12” day deadline. He later set a new deadline, which would expire on 8 August.

    0:25Watch: Explosion rocks Russian oil facility in Novokuybyshevsk, Russia, on Saturday

  • JavaScript

    JavaScript

    إليك Crash Course في JavaScript — مبسط وسريع، مناسب للمبتدئين والمطورين القادمين من Java أو لغات أخرى. سأشرح من خلال أمثلة وتعليقات:


    🚀 مقدمة: ما هي JavaScript؟

    • لغة برمجة ديناميكية تُستخدم غالبًا في تطوير الويب.
    • تعمل في المتصفح (Frontend) وأيضًا في السيرفر (Backend) باستخدام Node.js.
    • تدعم البرمجة الكائنية (OOP) والوظيفية (Functional).

    📦 الأساسيات

    🔸 المتغيرات

    let name = "John";     // يمكن التغيير<br>const age = 30;        // ثابت لا يمكن تغييره<br>var oldVar = "Legacy"; // قديم وغير موصى به<br>
    JavaScript

    🔸 الأنواع (Types)

    let str = "Hello";      // String
    let num = 42;           // Number
    let bool = true;        // Boolean
    let nothing = null;     // Null
    let notDefined;         // Undefined
    let obj = { a: 1 };     // Object
    let arr = [1, 2, 3];    // Array
    
    JavaScript

    🔸 الدوال

    // Function Declaration
    function greet(name) {
      return "Hello " + name;
    }
    
    // Arrow Function
    const add = (a, b) => a + b;
    
    console.log(add(2, 3)); // 5
    
    JavaScript

    🧰 التحكم بالتدفق

    🔸 if / else

    if (age > 18) {
      console.log("Adult");
    } else {
      console.log("Minor");
    }
    
    JavaScript

    🔸 switch

    switch (day) {
      case "Mon": console.log("Monday"); break;
      default: console.log("Other");
    }
    
    JavaScript

    🔁 الحلقات

    for (let i = 0; i < 3; i++) {
      console.log(i);
    }
    
    let arr = ["a", "b", "c"];
    arr.forEach(item => console.log(item)); // أفضل
    
    JavaScript

    🧱 الكائنات (Objects)

    let user = {
      name: "Alice",
      age: 25,
      greet() {
        console.log("Hi " + this.name);
      }
    };
    
    user.greet(); // Hi Alice
    
    JavaScript

    📦 المصفوفات (Arrays)

    let nums = [1, 2, 3];
    
    nums.push(4);             // [1,2,3,4]
    let doubled = nums.map(n => n * 2); // [2,4,6,8]
    let filtered = nums.filter(n => n > 2); // [3,4]
    
    JavaScript

    📚 الشروط القصيرة (Ternary Operator)

    let access = age >= 18 ? "Allowed" : "Denied";
    
    JavaScript

    🔄 Destructuring

    const person = { name: "Bob", age: 28 };
    const { name, age } = person;
    
    const [a, b] = [1, 2];
    
    JavaScript

    🌐 التعامل مع الـ DOM (Browser)

    document.getElementById("myBtn").addEventListener("click", () => {
      alert("Button clicked!");
    });
    
    JavaScript

    ⏳ Asynchronous JavaScript

    1. setTimeout

    setTimeout(() => {
      console.log("Runs after 1 second");
    }, 1000);
    
    JavaScript

    2. Promises

    const fetchData = () => {
      return new Promise((resolve, reject) => {
        setTimeout(() => resolve("Done"), 1000);
      });
    };
    
    fetchData().then(result => console.log(result));
    
    JavaScript

    3. async / await

    async function getData() {
      let data = await fetchData();
      console.log(data);
    }
    
    JavaScript

    🔐 Classes (OOP)

    class Animal {
      constructor(name) {
        this.name = name;
      }
    
      speak() {
        console.log(this.name + " makes a sound");
      }
    }
    
    let cat = new Animal("Cat");
    cat.speak(); // Cat makes a sound
    
    JavaScript

    ✅ ملخص سريع

    المفهومالمثال
    متغيرlet, const
    دالةfunction greet() {}
    كائن{name: "Ali"}
    مصفوفة[1,2,3].map(...)
    شرطif, ? :
    حلقةfor, forEach
    برمجة غير متزامنةasync, await, Promise
    فئة (Class)class Dog {}

    هل ترغب أن أرسل لك:

    • نسخة PDF لهذه الدورة؟
    • تمارين قصيرة للممارسة؟
    • مشروع عملي صغير لتطبيق هذه المفاهيم (مثل ToDo App)؟

    أخبرني كيف تحب أن نكمل.

  • Java Stream

    Java Stream

    Absolutely! Here’s a crash course on Java Streams — a powerful feature introduced in Java 8 that allows for functional-style operations on collections of data.


    🔹 What is a Java Stream?

    A Stream is not a data structure, but rather a sequence of elements from a source (like a collection) that supports aggregate operations.

    Think of it like a pipeline for transforming data.


    🔹 Stream Basics

    To use streams, you usually follow 3 steps:

    1. Create a Stream
    2. Apply Intermediate Operations (like filter, map, etc.)
    3. Apply a Terminal Operation (like collect, forEach, etc.)

    🔸 Example: Filtering and printing names

    List<String> names = List.of("John", "Jane", "Jack", "Tom");
    
    names.stream()
         .filter(name -> name.startsWith("J"))
         .forEach(System.out::println);
    
    Java

    Output:

    John
    Jane
    Jack
    
    Java

    🔹 Stream Types

    • Sequential Stream: processes elements one by one
    • Parallel Stream: processes elements in parallel (multi-threaded) → use with caution
    list.parallelStream()
    
    Java

    🔹 Common Stream Operations

    🔸 filter()

    Filters elements based on a condition

    stream.filter(x -> x > 10)
    
    Java

    🔸 map()

    Transforms each element

    stream.map(String::toUpperCase)
    
    Java

    🔸 sorted()

    Sorts the elements

    stream.sorted()
    
    Java

    🔸 distinct()

    Removes duplicates

    stream.distinct()
    
    Java

    🔸 limit() / skip()

    Limit or skip elements

    stream.limit(3)
    
    Java

    🔹 Terminal Operations

    🔸 collect()

    Collects results into a collection

    List<String> result = stream.collect(Collectors.toList());
    
    Java

    🔸 forEach()

    Performs an action for each element

    stream.forEach(System.out::println);
    
    Java

    🔸 count()

    Counts elements

    long count = stream.count();
    
    Java

    🔸 reduce()

    Reduces elements to a single value

    int sum = stream.reduce(0, Integer::sum);
    
    Java

    🔹 Example: Convert List of names to uppercase and collect them

    List<string> names = List.of("john", "jane", "jack");<br><br>List<string> upperNames = names.stream()<br>                               .map(String::toUpperCase)<br>                               .collect(Collectors.toList());<br></string></string>
    Java

    🔹 Advanced: Grouping and Partitioning

    Map<Boolean, List<Integer>> partitioned = numbers.stream()
        .collect(Collectors.partitioningBy(n -> n % 2 == 0));
    
    Java

    🔹 Stream vs Traditional Loop

    Loop:

    List<String> result = new ArrayList<>();
    for (String name : names) {
        if (name.length() > 3) {
            result.add(name.toUpperCase());
        }
    }
    
    Java

    Stream:

    List<String> result = names.stream()
        .filter(name -> name.length() > 3)
        .map(String::toUpperCase)
        .collect(Collectors.toList());
    
    Java

    🔹 Notes

    • Streams are lazy: intermediate operations don’t execute until a terminal operation is called.
    • Streams cannot be reused: once consumed, they are gone.

    ✅ Summary

    Operation TypeExamples
    Intermediatefilter(), map(), sorted()
    Terminalcollect(), forEach(), reduce()
    Collector HelperstoList(), joining(), groupingBy()

    If you want, I can turn this into a cheat sheet PDF or a practice task sheet. Would you like that?

  • The Epic Games Store is bringing Fortnite back to Google Play

    The Epic Games Store is bringing Fortnite back to Google Play

    Following an appeals court victory on Thursday, Epic CEO Tim Sweeney tweeted that “the Epic Games Store for Android will be coming to the Google Play Store.” This is despite Google’s plan to appeal the Ninth Circuit panel’s decision, which declined to overturn a 2023 jury verdict that Google’s app store and payment system had become illegal monopolies.

    There’s no detail yet on timing, but it would make accessing Fortnite and other Epic-distributed games much simpler on Android devices, without relying on sideloading or making deals with phone manufacturers to preload the store. On iPhone and iPad, the mobile version of the Epic Games Store is still only available in the European Union, but Android users could sideload it from the web since the apps launched last fall.

    Epic may not be the only company to put a rival app store inside of Google’s Play Store in the near future. The Ninth Circuit appears to have lifted a stay on the entire permanent injunction that Epic won against Google’s app store monopolies, and that injunction would force Google to crack open Android for other third-party stores as well. “The stay is lifted,” Epic spokesperson Cat McCormack confirms to The Verge.

    Related

    The Epic Games Store on Android maintains your persistent status in games across platforms, and earlier this year, the company brought its weekly free games program to the mobile stores, too. It also has other Epic games, like Fall Guys and Rocket League Sideswipe.

    In a statement provided to The Verge, Google’s global head of regulatory affairs Lee-Anne Mulholland said, “This decision will significantly harm user safety, limit choice, and undermine the innovation that has always been central to the Android ecosystem. Our top priority remains protecting our users, developers and partners, and maintaining a secure platform as we continue our appeal.”

  • Ford’s planning a ‘Model T moment’ for EVs on August 11th

    Ford’s planning a ‘Model T moment’ for EVs on August 11th

    Ford is preparing a major electric vehicle announcement that CEO Jim Farley calls a “Model T moment,” as reported earlier by InsideEVs. During an earnings call on Wednesday, Farley said the company will reveal plans to design and build a “breakthrough” EV, along with a new platform, at an August 11th event in Kentucky.

    Even as Ford’s EV business took a $1.3 billion hit, the automaker’s “skunkworks” team, helmed by former Tesla engineer Alan Clarke, has been working in the background to develop a more affordable electric car. “This is a Model T moment for us at Ford, a chance to bring a new family of vehicles to the world that offer incredible technology, efficiency, space, and features,” Farley said.

    Ford said last year that the new low-cost EV platform will underpin a pickup truck slated for release in 2027 and will also extend to other vehicles in the future. The automaker’s upcoming event comes at a pivotal moment for an industry that once felt like the future of cars. This month, Tesla revealed its largest revenue drop in years. The EV maker also announced a slew of deals in an attempt to reverse slumping sales, and even revealed plans to launch a stripped-down Model Y.

    Related

    President Donald Trump’s recent actions haven’t helped the EV industry, either, as the administration plans to roll back EV tax credits this September. Trump’s tariffs have also hit automakers hard, with Ford saying it expects the duties to shave $2 billion off its annual earnings.

    Farley says Ford is working to compete with the low-cost EVs made by Chinese automakers, like Geely and BYD. “We believe the only way to really compete effectively with the Chinese over the globe on EVs is to go and really push ourselves to radically reengineer and transform our engineering supply chain and manufacturing process,” Farley said. “That will come to life soon.”

  • Aaron Sorkin’s Social Network sequel might recast Mark Zuckerberg

    Aaron Sorkin’s Social Network sequel might recast Mark Zuckerberg

    Aaron Sorkin is writing and directing a follow-up to The Social Network, and Jeremy Strong is reportedly the lead candidate to play Mark Zuckerberg. According to Deadline, “Sources say no formal offer has been presented but that he is the top choice to play the Facebook founder.” Jesse Eisenberg played Zuckerberg in the first film.

    Deadline reported on the new filmThe Social Network Part IIlate last month. It will apparently delve into the story of the Facebook Files, a series of articles from The Wall Street Journal that reported on harms caused by Meta’s platforms (at the time, the company was called Facebook) based on leaked documents.

    Last night, Deadline also reported that Mikey Madison and Jeremy Allen White are also leading picks for roles in the new film. However, like with Strong, “no formal offers have been given to either actor,” according to Deadline’s “insiders.” Deadline said that White will “ideally” play Jeff Horwitz, a former WSJ journalist who wrote many of the articles in the Facebook Files series, while Madison will likely play Frances Haugen, a former Facebook employee who was the whistleblower behind the documents.

    The first Social Network movie was released in 2010.

  • Apple shipped its 3 billionth iPhone

    Apple shipped its 3 billionth iPhone

    Apple has been the target of a fair amount of criticism over the past year, from its AI missteps to a strong distaste for its new design ethos. But the numbers don’t lie, and if Apple knows how to do anything it’s sell iPhones. Specifically, three billion of them, as CEO Tim Cook announced on the company’s earnings call today.

    That’s an impressive number on its own, but it’s even wilder when you consider that Apple is picking up the pace. The iPhone was introduced in 2007 and the company reached 1 billion iPhones sold nine years later in 2016. Getting to 2 billion took only five years; from there it’s been just four years to sell another billion. Considering the rate at which young people — in this country, at least — prefer iPhones over Android, it seems like a trend that’s bound to continue.

    Related

    That’s also a lot of eggs in one basket. Apple’s own Eddy Cue recently admitted that “you may not need an iPhone 10 years from now.” That should be pretty worrying if your biggest business is selling phones! Apple’s most notable foray into a forward-looking form factor hasn’t exactly set the world on fire, either. It has somewhat famously fumbled its first attempts at adding meaningful AI features to its phones, too. At least from the outside, Apple doesn’t seem terribly well prepared for that world we might be living in ten years from now.

    The dilemma is clearly on Cook’s mind. Later in the earnings call when asked about the fate of phones as the dominant mobile platform, he mentioned that the company is “thinking about other things as well,” but thinks that emerging technologies “are likely to be complementary devices, not substitution.” Phones certainly seem safe in the short term, but maybe whatever Sam Altman and Jony Ive are cooking up will slow Apple’s roll a bit on the way to its four billionth iPhone sale.

  • The Switch 2 is off to a speedy start for big third-party games

    The Switch 2 is off to a speedy start for big third-party games

    With the Switch 2, Nintendo seems to be closing the release date gap with some of its third-party games. It’s a problem that plagued previous Nintendo consoles, which often received games years after other platforms, if at all.

    While today’s Nintendo Direct Partner Showcase may have lacked the splash of anticipated third-party games like Hades 2 or FromSoftware’s The Duskbloods, what was on display offered some interesting insight.

    Showcases like this one offer Nintendo’s second- and third-party development and publishing partners the chance to show off what they’ve got on the way. In the original Switch days, multiplatform games like Control would get Switch release dates months or even years after their initial launch, if they came to the Switch at all. And even then, the game might sometimes be the cloud version, requiring it to be streamed on the console, and these were generally hated for their inconsistent graphics and performance issues.

    With this Direct, it seems like Nintendo is working to bring third-party games to the Switch 2 faster and, hopefully, with gameplay experiences similar to the other consoles. During this Direct, we got a look at Cronos: The New Dawn, a new game from Silent Hill 2 remake studio Bloober Team. Cronos looks like the kind of game that would have struggled on the original Switch, but it’s releasing across all three consoles and PC on September 5th.

    Screenshot from Cronos: The New Dawn featuring a person in a bulky space suit walking in dimly lit partially destroyed space station with debris hanging from the ceiling

    Cronos: The New Dawn is a third-person horror survival game coming to the Switch 2 the same day as Xbox and PlayStation.Image: Bloober Team

    Madden NFL 2026 is also launching across the Big 3 at the same time — August 14th — a feat of note considering the last time a Madden title was on a Nintendo console was Madden NFL 13 more than a decade ago.

    Star Wars Outlaws has been out since August of last year. Its arrival on the Switch 2 in September represents Ubisoft’s most graphically and technically complex game on the platform since the Assassin’s Creed Anniversary Edition Mega Bundle. (And the most recent game in that collection was released more than 10 years ago.) Borderlands 4, while not launching exactly day and date, will come out on the Switch 2 a mere three weeks after its PC/Xbox/PlayStation launch.

    Even the third-party games that weren’t shown today still represent exciting new prospects for the Switch 2. During the Switch 2 Direct in AprilElden Ring was shown as one of the games coming to the new console. With the way the original Switch struggled with more complex games, even ones designed with that console in mind, a big-ass, pretty-ass, particle-y effect-ass game like Elden Ring running on it was unthinkable. But Elden Ring Tarnished Edition, along with The Duskbloodsa totally original FromSoftware multiplayer joint, are both coming to the Switch 2. Final Fantasy VII Remake, a game with the same kind of, if not higher, technical complexity as Elden Ring, is on the way too.

    Nintendo’s always been the kind of company to do what it wants rather than chase market trends, and that strategy has served the company very well. The original Switch wasn’t at the bleeding technical edge and, because of the high quality of its games, it didn’t have to be. The Switch 2, similarly, isn’t pushing the same kind of power as Xbox and PlayStation, but the console has evolved just enough that it can support some of the still-popular recent games of its competitors.

    Screenshot from Star Wars Outlaws featuring a shot of a space ship in a field of asteroids approaching a blue planet.

    Star Wars Outlaws, coming to the Switch 2, is the kind of game that would be unheard of on the original Switch.Image: Ubisoft

    And even if not everything new will come to the Switch 2, the console still has a robust back catalog to bring forward. During today’s Direct we saw that Sega’s Ryu Ga Gotoku Studio is bringing the Yakuza Kiwami series to the Switch 2.

    We don’t know how any of these games will perform when they’re finally released on the Switch 2. We’ll have to wait and see if the console fulfills the promise of bigger and better games running on improved hardware. We also don’t know if the trend will continue beyond the initial excitement of a new console’s launch window. But if the critical acclaim of the Switch 2 edition of Cyberpunk 2077 is anything to go by, the ports won’t just be coming faster; they’ll be good, too.