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.
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í.
Takže po dlhšej dobe som oprášil programator uispmkII pre atmely ktory som si uz skor zakupil ale nejak som sa nemal k tomu aby som ho naplno vyskusal.. tentokát som skusil namiesto pisania priamo kodu v ASM skusit vyssi jazyk C .
Ako prve som mal mensi problem s rozchodenim samotneho programatora.. co sa podarilo.
pre ubuntu bolo potrebne pridat vynimku pre udevm konkretne zapisanim par riadkov do /etc/udev/rules.d/60-avrisp.rules
SUBSYSTEM!="usb_device", ACTION!="add", GOTO="avrisp_end"
# Atmel Corp. JTAG ICE mkIIATTR{idVendor}=="03eb", SYSFS{idProduct}=="2103", MODE="660", GROUP="dialout"
# Atmel Corp. AVRISP mkII
ATTR{idVendor}=="03eb", SYSFS{idProduct}=="2104", MODE="660", GROUP="dialout"
# Atmel Corp. Dragon
ATTR{idVendor}=="03eb", SYSFS{idProduct}=="2107", MODE="660", GROUP="dialout"
LABEL="avrisp_end"
potom restart udev
a nasledne pokus o naprogramovanie
pripajam jeden tutorial a makefile
#include <avr/io.h>
#include <util/delay.h>
// Function prototypes
int wait_one_second(void);
int set_PORTB_bit(int position, int value);
int main(void){
DDRB = 0x0F;
PORTB |= 0b00001111;
// Set up a forever loop using 'C'-style for loop
// i.e. loop while '1' equals '1'
uint8_t i = 0;
for ( ; 1==1 ; )
{
set_PORTB_bit(i, 0); // Clear bit
wait_one_second();
set_PORTB_bit(i, 1); // Set bit
wait_one_second();
i++;
if (i==4) i=0;
}
return 1;
}
// Functions
int wait_one_second(void)
{
_delay_ms(1000);
return 1;
}
int set_PORTB_bit(int position, int value)
{
// Sets or clears the bit in position 'position'
// either high or low (1 or 0) to match 'value'.
// Leaves all other bits in PORTB unchanged.
if (value == 0)
{
PORTB &= ~(1 << position); // Set bit # 'position' low
}
else
{
PORTB |= (1 << position); // Set bit # 'position' high
}
return 1;
}
-------------
taktiez pripajam makefile
u makefile je pridany flag -Os ktory vyrazne optimalizuje velkost kodu
# AVR-GCC Makefile
PROJECT=tutorial_1
SOURCES=main.c
CC=avr-gcc
OBJCOPY=avr-objcopy
MMCU=attiny2313
CFLAGS= -g -Os -mmcu=$(MMCU) -Wall
$(PROJECT).hex: $(PROJECT).out
$(OBJCOPY) -j .text -O ihex $(PROJECT).out $(PROJECT).hex
$(PROJECT).out: $(SOURCES)
$(CC) $(CFLAGS) -I./ -o $(PROJECT).out $(SOURCES)
program: $(PROJECT).hex
avrdude -p t2313 -P usb -c avrispmkII -e -U flash:w:$(PROJECT).hex
clean:
rm -f $(PROJECT).o
rm -f $(PROJECT).out
rm -f $(PROJECT).map
rm -f $(PROJECT).hex
Tiskni
Sdílej:
for tak složitě? Jakou má výhodu 1==1 oproti true, resp. prostě 1?
Co takhle:
for (uint8_t i = 0; true; i++)
{
if (i == 4) i = 0;
//...
}
while (1) {}
jj. aj tak sa da. vie mi niekto dat nejaky tutoral na prerusenia?
napr zeby som mohol spustit podprogram pri stisknuti napr tlacitka pripojeneho na pin 1 portu A
a tiez nejaky example na prerusenie aby sa automaticky vzdycky v nejaky cas vykonal podprogram nezavisle teda aby nebolo treba nic stlacat.. napada ma vyuzitie citaca ale tak daleko som sa nedostal este
ISR(PCINT3_vect){
}
Staci mit tabulky preruseni a zbytek je v datashitu procesoru. Tady mas pro ukazku preruseni a sinusovku s casovacem...
// PROGRAM 001 C++ fast PWM pro D/A prevodnik
// ************************************************
// * date: 11/8/2011 *
// * verze: 1.0 *
// * for AVR: 2313 *
// * clock frequency: 1MHz *
// ************************************************
// Program Function:
// _____________________________________________________________________
//
// Program mel puvodne demonstrovat D/A prevodnik z jednoho vystupniho
// pinu pomoci fast PWM, ta cte hodoty preklapecich urovni z z tabulky,
// pomale... vylepsit!
// _____________________________________________________________________
// ==================================================================
// DEKLARACE
#include avr\io.h>
#include avr\interrupt.h>
#include avr\pgmspace.h>
const uint8_t sinewave16[] PROGMEM= //i hodnot (bez i 256)
{
64,88,109,123,127,123,109,88,
64,39,19,5,0,5,19,39,
};
uint8_t i=0;
uint8_t j=0;
ISR(TIMER1_COMPA_vect){
OCR1A=pgm_read_byte(&sinewave16[i]);
i++;
if (i >= 0x10){
i=0;
}
}
// ==================================================================
// HLAVNI PROGRAM
int main(void) {
DDRD=0x80; // piny PortuD jako vstupni
PORTD=0xFF; // povolení internich pull-up rezistoru
DDRB=0xFF; // nastaveni portuB jako vystup
OCR1A=10; // nastaveni hodnoty OCR1A
TCCR1A=0x91; // porovnání vystupu OC1RA s 8bit neinvertovanou PWM?
TCCR1B=0x01; // casovac bez preddelicky?
TIMSK=0x50; // zapnuti porovnavani vystupu preruseni pro OCR1A?
sei(); // enable global interrups
while (1) { // loop for ever. Interrupts will do the job.
}
}
for (;;) {
// ...
}
už
<h3>, ten kód určitě nejsou nadpisy.
este by to chcelo aby som nemusel stale pouzivat sudo ak chcem zapisat program.
uf dufam ze ti niekto tuna z ludi na fore odpovie .. moj mkII nema podporu pre debuging tusim
ak sa ta smiem opytat aku verziu AVR studia pouzivas? ja som si vo winxp nainstaloval este tu staru klasicku 4ku lebo ta nova uz je moc zlozita postavena na Visual Studiu