Pages

luni, 23 iunie 2025

News : my first generator on perchance.org

My first generator on the official perchance.org.
Is very easy to use if you know javascript. I tested with two plugins and with canvas area. First is a random basic text generator and second one will generate image based on text prompt.

News : O&O ShutUp10++ - Free antispy tool for Windows 10 and 11.

O&O ShutUp10++ means you have full control over which comfort functions under Windows 10 and Windows 11 you wish to use, and you decide when the passing on of your data goes too far. Using a very simple interface, you decide how Windows 10 and Windows 11 should respect your privacy by deciding which unwanted functions should be deactivated.
See this tool on the official website.

News : Lost in Random: The Eternal Die – Launch Trailer – Nintendo Switch

News : Star Citizen | Alpha 4.2: Storm Breaker

News : Partnership Series: Heart Aerospace

News : Dune: Awakening — Accolades Trailer

News : Corrode // Official Map Trailer - VALORANT

News : The Scope | Devastating Clash in Lantorn

News : Event on Star Trek Online - Hearth Of The Master.

vineri, 20 iunie 2025

News : Cast n Chill

News : YouTube Data Analysis Workflow - my hackathon project on devpost

Here I managed with difficulty, the internet and this old laptop are slow, but I uploaded the project for the Agent Development Kit Hackathon with Google Cloud ...
See my project on the official website.
Project submitted! Continue to edit your project until the hackathon deadline: June 23, 2025 at 08:00pm EDT.

joi, 19 iunie 2025

News : Google Apps Script - get products by region into new sheet.

... this is source code for search products on my region using google apps script:
function onOpen() {
  SpreadsheetApp.getUi()
    .createMenu('Ocazii Scraper')
    .addItem('Scrape placa-de-baza', 'scrapeProcess_placa_de_baza')
    .addToUi();
}

function scrapeProcess_placa_de_baza() {
  const url_placa_de_baza = "https://www.okazii.ro/componente-computere/placa-de-baza/?judete_lp=35&sort=pret_asc";
  let html;
  try {
    const response = UrlFetchApp.fetch(url_placa_de_baza);
    html = response.getContentText();
  } catch (error) {
    Logger.log("Error fetching HTML: " + error.message);
    return;
  }

  const itemRegex = /<div class="list-item[\s\S]*?<h2>[\s\S]*?<a[^>]+href="(.*?)"[^>]+title="(.*?)"[\s\S]*?<span class="prSup"><span>(\d+)<\/span>[\s\S]*?<span class="prList"><span>([\d,]+)<\/span>/g;

  const spreadsheetName = "placa_baza_200625";
  const spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
  const sheet = spreadsheet.getSheetByName(spreadsheetName) || spreadsheet.insertSheet(spreadsheetName);

  // Adaugă headere dacă e un sheet nou
  if (sheet.getLastRow() === 0) {
    sheet.appendRow(["Data", "Titlu", "Href", "Pret", "Livrare"]);
  }

  const now = new Date();
  const formattedDate = Utilities.formatDate(now, SpreadsheetApp.getActive().getSpreadsheetTimeZone(), "ddMMyy");

  let match;
  while ((match = itemRegex.exec(html)) !== null) {
    let [_, href, title, price, delivery] = match;
    delivery = delivery.replace(",", "."); // înlocuiește virgula pentru formatare numerica
    const row = [formattedDate, title, href, price, delivery];
    sheet.appendRow(row);
  }
}