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.
Byla vydána nová verze 7.6 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Správce hesel KeePassXC byl nahrazen správcem hesel GNOME Secrets. Bitcoinová peněženka Electrum byla povýšena na verzi 4.7.0. Tor Browser byl povýšen na verzi 15.0.8. Další novinky v příslušném seznamu.
Chris Down v obsáhlém článku „vyvrací mýty o zswap a zram“, vysvětluje, co vlastně dělají a jaké jsou mezi nimi rozdíly. Doporučuje vyhýbat se zram na serveru a bez OOM.
Porota v Los Angeles shledala firmy Google a Meta odpovědnými v přelomovém soudním sporu, který se týká závislosti na sociálních sítích; firmy musí zaplatit odškodné tři miliony dolarů (63,4 milionu Kč). Společnosti, které s verdiktem nesouhlasí, čelily obvinění, že své sociální sítě a platformy záměrně navrhly tak, aby si na nich děti vypěstovaly závislost. Porota došla k závěru, že technologické společnosti při navrhování a
… více »Jelikož vývojáři editorů Vim a Neovim začali při vývoji využívat LLM, Drew DeVault se rozhodl forknout Vim a vytvořil projekt Vim Classic. Vychází z Vimu 8.2.0148, tj. těsně před zavedením Vim9 skriptování.
Byla vydána nová verze 0.56 open source počítačové hry Unvanquished (Wikipedie), forku počítačové hry Tremulous. Instalovat ji lze také z Flathubu.
FreeCAD (Wikipedie), tj. svobodný multiplatformní parametrický 3D CAD, byl vydán ve verzi 1.1 (YouTube). Po roce a čtyřech měsících od předchozí verze 1.0. Přehled novinek i s náhledy v poznámkách k vydání.
#include
#include "window.h"
#include "windowadapters.h"
#include "adapters_compont.h"
MainWindow::MainWindow(QWidget *parent): QMainWindow(parent)
{
window = NULL;
uii.setupUi(this);
connect(uii.actionExit, SIGNAL(triggered()), this, SLOT(close()));
// -----------------------------------------------------------------------------
QPushButton * adapterButton = new QPushButton;
adapterButton->setText("Adapters");
uii.vboxLayout->addWidget(adapterButton);
connect(adapterButton, SIGNAL(clicked()), this, SLOT(ShowAdapters()));
QPushButton * eraseButton = new QPushButton;
eraseButton->setText("Erase");
uii.vboxLayout->addWidget(eraseButton);
connect(eraseButton, SIGNAL(clicked()), this, SLOT(WindowErase()));
QPushButton * exitButton = new QPushButton;
exitButton->setText("Exit");
uii.vboxLayout->addWidget(exitButton);
connect(exitButton, SIGNAL(clicked()), this, SLOT(close()));
QSpacerItem * spacer1 = new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding);
uii.vboxLayout->addItem(spacer1);
scrollArea = new QScrollArea;
uii.vboxLayout1->addWidget(scrollArea);
// ---------------------------------------------------------------------
}
void MainWindow::ShowAdapters()
{
if(window==NULL)
{
window = new windowadapters;
scrollArea->takeWidget();
scrollArea->setWidget(window);
scrollArea->setWidgetResizable(window);
}
}
void MainWindow::WindowErase()
{
if(window!=NULL)
{
window->close();
window=NULL;
}
}
#include QtGui>
#include "window.h"
#include "windowadapters.h"
#include "adapters_compont.h"
MainWindow::MainWindow(QWidget *parent): QMainWindow(parent)
{
window = NULL;
uii.setupUi(this);
connect(uii.actionExit, SIGNAL(triggered()), this, SLOT(close()));
// -----------------------------------------------------------------------------
QPushButton * adapterButton = new QPushButton;
adapterButton->setText("Adapters");
uii.vboxLayout->addWidget(adapterButton);
connect(adapterButton, SIGNAL(clicked()), this, SLOT(ShowAdapters()));
QPushButton * eraseButton = new QPushButton;
eraseButton->setText("Erase");
uii.vboxLayout->addWidget(eraseButton);
connect(eraseButton, SIGNAL(clicked()), this, SLOT(WindowErase()));
QPushButton * exitButton = new QPushButton;
exitButton->setText("Exit");
uii.vboxLayout->addWidget(exitButton);
connect(exitButton, SIGNAL(clicked()), this, SLOT(close()));
QSpacerItem * spacer1 = new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding);
uii.vboxLayout->addItem(spacer1);
// ---------------------------------------------------------------------
}
void MainWindow::ShowAdapters()
{
if(window==NULL)
{
scrollArea = new QScrollArea;
window = new windowadapters;
scrollArea->setWidget(window);
scrollArea->setWidgetResizable(window);
uii.vboxLayout1->addWidget(scrollArea);
}
}
void MainWindow::WindowErase()
{
if(window!=NULL)
{
window->close();
window=NULL;
delete scrollArea;
}
}
Tiskni
Sdílej: