Během akce Arduino Days 2026 byl publikován Arduino Open Source Report 2025 (pdf) a oznámeno 7 nových produktů kompatibilních s deskou UNO Q (Arduino USB-C Power Supply, USB-C Cable, USB-C Hub, UNO Media Carrier, UNO Breakout Carrier, Bug Hopper, Modulino LED Matrix).
Google v pátek spustil v Česku Vyhledávání Live. Tato novinka umožňuje lidem vést plynulou konverzaci s vyhledávačem v češtině. A to prostřednictvím hlasu, nebo prostřednictvím toho, na co ukážou svým fotoaparátem či kamerou v mobilu. Rozšíření této multimodální funkce je možné díky nasazení Gemini 3.1 Flash Live, nového hlasového a audio modelu, který je od základu vícejazyčný, takže umožňuje lidem po celém světě mluvit na vyhledávač přirozeně a v jazyce, který je jim nejbližší.
Jsongrep je open-source nástroj, který efektivně prohledává JSON dokumenty (editovat je neumí). Kompiluje regulérní jazyk dotazu do podoby deterministického konečného automatu (DFA), díky čemuž prochází strom JSON dokumentu pouze jednou a je v tom tedy rychlejší než jiné nástroje jako jsou například jq, JMESPath nebo jql. Jsongrep je napsaný v programovacím jazyce Rust, zdrojový kód je dostupný na GitHubu.
O víkendu probíhá v Praze na Karlově náměstí 13 konference Installfest 2026. Na programu je celá řada zajímavých přednášek a workshopů. Vstup na konferenci je zcela zdarma, bez nutnosti registrace. Přednášky lze sledovat i online na YouTube.
Mozilla a společnost Mila oznámily strategické partnerství za účelem rozvoje open source a suverénní AI. Cílem je ukázat, že open source AI může konkurovat uzavřeným systémům. Obě organizace chtějí posílit technologickou suverenitu a snížit závislost na hrstce velkých technologických firem.
Adam Rice předvedl, že pomocí DNS lze distribuovat a spustit kompletní hru DOOM. Rozdělil WAD soubory a binárky do téměř 2000 DNS záznamů v Cloudflare zóně (jeden TXT záznam v DNS může nést okolo 2000 znaků textu). Ty pak stáhl PowerShellem, dekomprimoval a spustil přímo v paměti počítače bez nutnosti zápisu na disk, což prakticky dokazuje, že DNS může sloužit jako distribuované úložiště dat a možný kanál pro načítání kódu. Repozitář projektu je na GitHubu.
Dnes a zítra probíhají Arduino Days 2026. Na programu je řada zajímavých přednášek. Sledovat je lze od 17:00 na YouTube. Zúčastnit se lze i lokálních akcí. Dnes v Poličce v městské knihovně a zítra v Praze na Matfyzu.
Byla vydána beta verze Ubuntu 26.04 LTS s kódovým názvem Resolute Raccoon. Přehled novinek v poznámkách k vydání. Dle plánu by Ubuntu 26.04 LTS mělo vyjít 23. dubna 2026.
Byla vydána aktualizována Příručka pro začínající wikipedisty a wikipedistky (pdf).
Ubuntu plánuje v budoucích verzích nahradit tradiční nástroje pro synchronizaci času (chrony, linuxptp a gpsd) novým, v Rustu napsaným ntpd-rs, který nabídne vyšší bezpečnost a stabilitu.
image1 = create_pixmap (main_window, "000.png");
gtk_widget_show (image1);
avsak kdyz jsem program zkomiloval, obrazek se nezobrazil a vypsalo to chybu:
** WARNING **: Couldn't find pixmap file: 000.png
poradi nekdo? dekuju
Jinak ta chybicka se opravdu objevila pri kompilaci ??
1. Co je to za funkcia create_pixmap? v dokumentacii gtk+ som to nenasiel 2.Mas gtk+ skompilovane s podporou png ? 3. A co absolutna cesta create_pixmap (main_window, "/home/user/000.png"); 4.GtkPixmap has been deprecated since GTK+ 2.0 and should not be used in newly written code. Use GtkImage instead. Teda funkcie GtkPixmap uz nie su podporovane http://library.gnome.org/devel/gtk/2.13/GtkPixmap.html
#ifdef HAVE_CONFIG_H
# include "config.h"
#endif
#include "sys/types.h"
#include "sys/stat.h"
#include "unistd.h"
#include "string.h"
#include "stdio.h"
#include "gtk/gtk.h"
void add_pixmap_directory (const gchar *directory);
GtkWidget* create_pixmap (GtkWidget *widget, const gchar *filename);
static GList *pixmaps_directories = NULL;
/* Use this function to set the directory containing installed pixmaps. */
void add_pixmap_directory (const gchar *directory)
{
pixmaps_directories = g_list_prepend (pixmaps_directories, g_strdup (directory));
}
/* This is an internally used function to find pixmap files. */
static gchar* find_pixmap_file (const gchar *filename)
{
GList *elem;
elem = pixmaps_directories;
while (elem)
{
gchar *pathname = g_strdup_printf ("%s%s%s", (gchar*)elem->data, G_DIR_SEPARATOR_S, filename);
if (g_file_test (pathname, G_FILE_TEST_EXISTS))
return pathname;
g_free (pathname);
elem = elem->next;
}
return NULL;
}
/* This is an internally used function to create pixmaps. */
GtkWidget* create_pixmap (GtkWidget *widget, const gchar *filename)
{
gchar *pathname = NULL;
GtkWidget *pixmap;
if (!filename || !filename[0])
return gtk_image_new ();
pathname = find_pixmap_file (filename);
if (!pathname)
{
g_warning ("Couldn't find pixmap file: %s", filename);
return gtk_image_new ();
}
pixmap = gtk_image_new_from_file (pathname);
g_free (pathname);
return pixmap;
}
int main (int argc, char *argv[])
{
GtkWidget *window1;
GtkWidget *fixed1;
GtkWidget *image1;
gtk_set_locale ();
gtk_init (&argc, &argv);
add_pixmap_directory (PACKAGE_DATA_DIR "/" PACKAGE "/pixmaps");
window1 = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_title (GTK_WINDOW (window1), "window1");
fixed1 = gtk_fixed_new ();
gtk_widget_show (fixed1);
gtk_container_add (GTK_CONTAINER (window1), fixed1);
image1 = create_pixmap (window1, "logo.png");
gtk_widget_show (image1);
gtk_fixed_put (GTK_FIXED (fixed1), image1, 88, 96);
gtk_widget_set_size_request (image1, 216, 72);
gtk_widget_show (window1);
gtk_main ();
return 0;
}
add_pixmap_directory (PACKAGE_DATA_DIR "/" PACKAGE "/pixmaps");Pri testovaní je možné tam pridať aj ďalší adresár (napr. "./pixmaps" ...).
add_pixmap_directory (".");(ale normálne nainštalovaný program by asi mal mať obrázky v /usr/share/nieco alebo /usr/local/share/nieco)
Inak ja by som tam ešte pridalg_signal_connect(window1, "delete_event", G_CALLBACK(gtk_main_quit), NULL);(aby sa ten program dal jednoduchšie ukončiť).
image1 = g_object_new(GTK_TYPE_IMAGE, "file", "000.png", NULL);
#include "gtk/gtk.h"
int main (int argc, char *argv[])
{
GtkWidget *window1;
GtkWidget *fixed1;
GtkWidget *image1;
gtk_set_locale ();
gtk_init (&argc, &argv);
window1 = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_title (GTK_WINDOW (window1), "window1");
fixed1 = gtk_fixed_new ();
gtk_widget_show (fixed1);
gtk_container_add (GTK_CONTAINER (window1), fixed1);
image1 = g_object_new(GTK_TYPE_IMAGE, "file", "000.png", NULL);
gtk_fixed_put (GTK_FIXED (fixed1), image1, 50, 50);
gtk_widget_set_size_request (image1, 216, 72);
gtk_widget_show (image1);
gtk_widget_show (window1);
gtk_main ();
return 0;
}
Tiskni
Sdílej: