2D, 3D, game, games, online game, game development, game engine, programming, OpenGL, Open AI, math, graphics, design, graphic, graphics, game development, game engine, programming, web development, web art, web graphic, arts, tutorial, tutorials,
luni, 6 octombrie 2025
duminică, 5 octombrie 2025
sâmbătă, 4 octombrie 2025
vineri, 3 octombrie 2025
News : Rebelle 8 is Here - free trial only 30 days !
Note: I tested with my old laptop with 4Gb RAM and it runs very slowly. With a similar open source software with similar features on the same hardware the open source software was much faster.
... from twitter : We’re excited to announce that Rebelle 8 has officially moved out of Early Access and is now available as the full Rebelle 8.1 release! Try Rebelle 8 for free for 30 days:
News : Google Apps Script - check websites for google ads.
Today, I will show you a way to check for the existence of Google Ads through a script or implementation, similar to what exists on Blogger. I haven't tested it very thoroughly, but it seems functional and is a good starting point in programming with GAScript. I used a spreadsheet and entered a personal Blogger in cell A2. I still recommend following Google's conditions because Google is very clever at detecting fakes and has protections even against attacks...
function onOpen() { // Creează un meniu personalizat în Spreadsheet var ui = SpreadsheetApp.getUi(); ui.createMenu('Verificare Reclame Blogger') .addItem('Verifică Reclame', 'checkBloggerAds') .addItem('Verifică și Trimite Email', 'checkBloggerAdsAndEmail') .addToUi(); } function checkBloggerAds() { // Obține foaia activă var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); // Citește datele din coloana A (website-urile) var range = sheet.getRange("A2:A" + sheet.getLastRow()); var urls = range.getValues(); var results = []; // Indicatori specifici pentru Google Ads/AdSense pe Blogger var adsScriptPattern = "adsbygoogle.js"; // Pentru coloana B var bloggerAdsPatterns = [ "data-ad-client", // Atribut specific AdSense "google_ad_client", // Folosit în codurile mai vechi sau automate 'class="adsbygoogle"' // Tag-ul <ins> folosit pentru reclame ]; // Verifică fiecare URL for (var i = 0; i < urls.length; i++) { var url = urls[i][0]; if (url) { // Verifică dacă URL-ul nu este gol try { var response = UrlFetchApp.fetch(url, { muteHttpExceptions: true }); var content = response.getContentText(); var scriptFound = content.includes(adsScriptPattern); var bloggerAdsFound = false; // Verifică indicatorii specifici Blogger for (var j = 0; j < bloggerAdsPatterns.length; j++) { if (content.includes(bloggerAdsPatterns[j])) { bloggerAdsFound = true; break; } } // Adaugă rezultatele pentru coloanele B și C results.push([scriptFound ? "Da" : "Nu", bloggerAdsFound ? "Da" : "Nu"]); } catch (e) { results.push(["Eroare: " + e.message, "Eroare: " + e.message]); } } else { results.push(["", ""]); } } // Scrie rezultatele în coloanele B și C if (results.length > 0) { sheet.getRange(2, 2, results.length, 2).setValues(results); } } function checkBloggerAdsAndEmail() { // Obține foaia activă var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); // Citește datele din coloana A (website-urile) var range = sheet.getRange("A2:A" + sheet.getLastRow()); var urls = range.getValues(); var results = []; var emailBody = "Rezultatele verificării reclamelor Google Ads pe blogurile Blogger:\n\n"; emailBody += "URL | Script adsbygoogle.js | Implementare Blogger\n"; // Indicatori specifici pentru Google Ads/AdSense pe Blogger var adsScriptPattern = "adsbygoogle.js"; // Pentru coloana B var bloggerAdsPatterns = [ "data-ad-client", "google_ad_client", 'class="adsbygoogle"' ]; // Verifică fiecare URL și construiește corpul email-ului for (var i = 0; i < urls.length; i++) { var url = urls[i][0]; if (url) { // Verifică dacă URL-ul nu este gol try { var response = UrlFetchApp.fetch(url, { muteHttpExceptions: true }); var content = response.getContentText(); var scriptFound = content.includes(adsScriptPattern); var bloggerAdsFound = false; // Verifică indicatorii specifici Blogger for (var j = 0; j < bloggerAdsPatterns.length; j++) { if (content.includes(bloggerAdsPatterns[j])) { bloggerAdsFound = true; break; } } // Adaugă rezultatele pentru coloanele B și C și la email results.push([scriptFound ? "Da" : "Nu", bloggerAdsFound ? "Da" : "Nu"]); emailBody += `${url} | ${scriptFound ? "Da" : "Nu"} | ${bloggerAdsFound ? "Da" : "Nu"}\n`; } catch (e) { results.push(["Eroare: " + e.message, "Eroare: " + e.message]); emailBody += `${url} | Eroare: ${e.message} | Eroare: ${e.message}\n`; } } else { results.push(["", ""]); } } // Scrie rezultatele în coloanele B și C if (results.length > 0) { sheet.getRange(2, 2, results.length, 2).setValues(results); } // Trimite email-ul MailApp.sendEmail({ to: "catalinfest@gmail.com", subject: "Rezultate Verificare Reclame Google Ads pe Blogger", body: emailBody }); }
miercuri, 1 octombrie 2025
marți, 30 septembrie 2025
duminică, 28 septembrie 2025
News : ... linux kernel new design ...
This patch series introduces multikernel architecture support, enabling
multiple independent kernel instances to coexist and communicate on a
single physical machine. Each kernel instance can run on dedicated CPU
cores while sharing the underlying hardware resources.
The multikernel architecture provides several key benefits:
- Improved fault isolation between different workloads
- Enhanced security through kernel-level separation
- Better resource utilization than traditional VM (KVM, Xen etc.)
- Potential zero-down kernel update with KHO (Kernel Hand Over)
See this mail.
Abonați-vă la:
Postări (Atom)