MALUS je kontroverzní proprietarní nástroj, který svým zákazníkům umožňuje nechat AI, která dle tvrzení provozovatelů nikdy neviděla původní zdrojový kód, analyzovat dokumentaci, API a veřejná rozhraní jakéhokoliv open-source projektu a následně úplně od píky vygenerovat funkčně ekvivalentní software, ovšem pod libovolnou licencí.
Příspěvek na blogu Ubuntu upozorňuje na několik zranitelností v rozšíření Linuxu o mandatorní řízení přístupu AppArmor. Společně jsou označovány jako CrackArmor. Objevila je společnost Qualys (technické detaily). Neprivilegovaný lokální uživatel se může stát rootem. Chyba existuje od roku 2017. Doporučuje se okamžitá aktualizace. Problém se týká Ubuntu, Debianu nebo SUSE. Red Hat nebo Fedora pro mandatorní řízení přístupu používají SELinux.
Byla vydána nová verze 19 integrovaného vývojového prostředí (IDE) Qt Creator. Podrobný přehled novinek v changelogu.
Bitwig Studio (Wikipedie) bylo vydáno ve verzi 6. Jedná se o proprietární multiplatformní (macOS, Windows, Linux) digitální pracovní stanici pro práci s audiem (DAW).
Společnost Igalia představila novou linuxovou distribuci (framework) s názvem Moonforge. Jedná se o distribuci určenou pro vestavěné systémy. Vychází z projektů Yocto a OpenEmbedded.
Google Chrome 146 byl prohlášen za stabilní. Nejnovější stabilní verze 146.0.7680.71 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 29 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.
D7VK byl vydán ve verzi 1.5. Jedná se o fork DXVK implementující překlad volání Direct3D 3 (novinka), 5, 6 a 7 na Vulkan. DXVK zvládá Direct3D 8, 9, 10 a 11.
Bylo vydáno Eclipse IDE 2026-03 aneb Eclipse 4.39. Představení novinek tohoto integrovaného vývojového prostředí také na YouTube.
Ze systému Slavia pojišťovny uniklo přibližně 150 gigabajtů citlivých dat. Jedná se například o pojistné dokumenty, lékařské záznamy nebo přímou komunikaci s klienty. Za únik může chyba dodavatelské společnosti.
Sněmovna propustila do dalšího kola projednávání vládní návrh zákona o digitální ekonomice, který má přinést bezpečnější on-line prostředí. Reaguje na evropské nařízení DSA o digitálních službách a upravuje třeba pravidla pro on-line tržiště nebo sociální sítě a má i víc chránit děti.
Mam jednoduchy program viz. nize. Ovsem problem je, kdyz se snazim prijmout znak pomoci preruseni generovaneho pri zaplneni prijimaciho bufferu (prijaty znak).
Kdyz nadefinuji makro SIGNAL(SIG_UART_RECV), pri prijeti znaku vsechno zatuhne- respektive cip nejevi znamky prace. Pritom by mel znak prijmout, ulozit a opet se vratit k posledni operaci, nemylim-li se?
Cip je ATtiny2313.
#include < avr/io.h>
#include < stdlib.h>
#include < util/delay.h>
#include < avr/interrupt.h>
#include < avr/pgmspace.h>
#define F_CPU 8000000
#define cbi(sfr, bit) (_SFR_BYTE(sfr) &= ~_BV(bit))
#define sbi(sfr, bit) (_SFR_BYTE(sfr) |= _BV(bit))
#define DATA_1 PB0 //1. pin s prevodnikem
#define DATA_2 PB1
#define CLK PB7
#define CS PB6
#define U_REF 5000
#define AD_const (U_REF/256)
typedef unsigned char uc8;
typedef unsigned int ui16;
void usart_transmit(uc8 data);
void usart_transmit_string(const char *s);
void zmerit_u(void);
uc8 newline='\n', c;
void zmerit_u(void)
{
uc8 i, bity, hodnota1, hodnota2, buffer[10];
sbi(PORTB,CS);
_delay_ms(20);
cbi(PORTB,CS);
for(i=0,hodnota1=0, hodnota2=0, bity=128;i<8;i++)
{
if(bit_is_set(PINB,DATA_1))
hodnota1+=bity;
if(bit_is_set(PINB,DATA_2))
hodnota2+=bity;
bity>>=1;
sbi(PORTB,CLK);
cbi(PORTB,CLK);
}
usart_transmit(newline);
usart_transmit_string(itoa((hodnota1*AD_const), buffer, 10));
usart_transmit(newline);
usart_transmit_string(itoa((hodnota2*AD_const), buffer, 10));
}
void usart_transmit(uc8 data)
{
while(!(UCSRA & (1<< UDRE))); //pockame na vyprazdneni vysilaciho bufferu
UDR=data;
}
void usart_transmit_string(const char *s)
{
register uc8 ch;
while(ch=*s++)
{
usart_transmit(ch);
}
}
uc8 usart_receive()
{
while(!(UCSRA&(1<< RXC)));
return UDR;
}
SIGNAL(SIG_UART_RECV)
{
c=usart_receive();
}
void main (void)
{
/*nastavime vstupne vystupni porty*/
sbi(DDRB,CLK); /*enable port 9 for output*/
sbi(DDRB,CS);
sbi(DDRB,PD2);
cbi(DDRB,DATA_1);
cbi(DDRB,DATA_2);
UBRRH=0;
UBRRL=51;
UCSRB=(1<< TXEN)|(1<< RXEN)|(1<< RXCIE);
// UCSRC=(1<< USBS)|(3<< UCSZ0);
sei();
usart_transmit_string("#Starting Ronjamon..\n");
while(1)
{
if(c=='z') zmerit_u();
else if(c=='h') usart_transmit_string("Ronjamon, sith@wifistar.net\n");
cbi(PORTB,PD2);
_delay_ms(1000);
sbi(PORTB,PD2);
_delay_ms(1000);
}
}
SIGNAL (SIG_UART_RECV) { // USART RX interrupt
unsigned char c;
c = UDR;
usart_receive();
}
No, asi je uz pozde na odpoved, ale presto: neni blbost jeste testovat bit UDRE, kdyz jsme v preruseni? Pokud preruseni nastalo, tak je jasne, ze ceka v UDR dalsi byte prijaty z UARTu...
Tiskni
Sdílej: