Do prodeje jde tichá bezdrátová herní myš Logitech PRO X2 SUPERSTRIKE s analogovými spínači s haptickou odezvou (HITS, Haptic Inductive Trigger System). Cena je 4 459 Kč.
Microsoft na GitHubu zveřejnil zdrojový kód projektu LiteBox, jedná se o 'knihovní operační systém' (library OS) zaměřený na bezpečnost, využívající systémovou architekturu LVBS k ochraně jádra před útoky z uživatelského prostoru. LiteBox je napsán v Rustu a uvolněný pod licencí MIT. Projekt je teprve v rané fázi vývoje.
BreezyBox je open-source shell a virtuální terminál pro populární jednočip ESP32. Nabízí základní unixové příkazy, sledování aktuálního pracovního adresáře (CWD), jednoduchý instalátor a spouštěč aplikací v podobě ELF binárních souborů, zabudovaný HTTP server nebo třeba ovládání WiFi - ukázka použití coby 'malého osobního počítače'. Ačkoliv je BreezyBox inspirovaný BusyBoxem, oproti němu má tento projekt několik externích závislostí, zejména na ESP-IDF SDK. BreezyBox je dostupný pod licencí MIT.
Byl představen cross-assembler xa.sh, napsaný čistě v Bourne shell skriptu. Tento nástroj umožňuje zpracovávat assemblerový kód pro Intel 8080, přičemž je možné snadno přidat podporu i pro další architektury, například 6502 a 6809. Skript využívá pouze různé běžné unixové příkazy jako jsou awk, sed nebo printf. Skript si lze stáhnout z GitHubového repozitáře projektu.
Byla představena nová verze modelu Claude Opus 4.6 od společnosti Anthropic. Jako demonstraci možností Anthropic využil 16 agentů Claude Opus 4.6 k vytvoření kompilátoru jazyka C, napsaného v programovacím jazyce Rust. Claude pracoval téměř autonomně, projekt trval zhruba dva týdny a náklady činily přibližně 20 000 dolarů. Výsledkem je fungující kompilátor o 100 000 řádcích kódu, jehož zdrojový kód je volně dostupný na GitHubu pod licencí Creative Commons.
Kultovní britský seriál The IT Crowd (Ajťáci) oslavil dvacáté výročí svého prvního vysílání. Sitcom o dvou sociálně nemotorných pracovnících a jejich nadřízené zaujal diváky svým humorem a ikonickými hláškami. Seriál, který debutoval v roce 2006, si i po dvou dekádách udržuje silnou fanouškovskou základnu a pravidelně se objevuje v seznamech nejlepších komedií své doby. Nedávné zatčení autora seriálu Grahama Linehana za hatecrime však vyvolává otázku, jestli by tento sitcom v současné Velké Británii vůbec vznikl.
Společnost JetBrains oznámila, že počínaje verzí 2026.1 budou IDE založená na IntelliJ ve výchozím nastavení používat Wayland.
Společnost SpaceX amerického miliardáře Elona Muska podala žádost o vypuštění jednoho milionu satelitů na oběžnou dráhu kolem Země, odkud by pomohly zajistit provoz umělé inteligence (AI) a zároveň šetřily pozemské zdroje. Zatím se ale neví, kdy by se tak mělo stát. V žádosti Federální komisi pro spoje (FCC) se píše, že orbitální datová centra jsou nejúspornějším a energeticky nejúčinnějším způsobem, jak uspokojit rostoucí poptávku po
… více »Byla vydána nová verze 2.53.0 distribuovaného systému správy verzí Git. Přispělo 70 vývojářů, z toho 21 nových. Přehled novinek v poznámkách k vydání.
Spolek OpenAlt zve příznivce otevřených řešení a přístupu na 216. sraz, který proběhne v pátek 20. února od 18:00 v Red Hat Labu (místnost Q304) na Fakultě informačních technologií VUT v Brně na ulici Božetěchova 1/2. Tématem srazu bude komunitní komunikační síť MeshCore. Jindřich Skácel představí, co je to MeshCore, předvede nejrůznější klientské zařízení a ukáže, jak v praxi vypadá nasazení vlastního repeateru.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <usb.h>
void usage() {
fprintf(stderr, "Usage: yakumo-repair <old_vid:old_pid> <new_vid:new_pid>\n");
fprintf(stderr, "You have to download Vend_ax.hex (using e.g. cycfx2prog) first!\n");
exit (-1);
}
unsigned int vid_o, pid_o, vid_n, pid_n;
void repair (struct usb_device *dev, usb_dev_handle *h) {
unsigned char buffer[256], b2[256];
int i,n,ok;
n=usb_control_msg(h, USB_TYPE_VENDOR | USB_RECIP_DEVICE | USB_ENDPOINT_IN,
0xa2, 0, 0, (char *)buffer, sizeof(buffer), 5000);
printf ("EEPROM READ: [%d]\t", n);
if (n) for (i=0; i<n; i++)
{
printf(" %02x", buffer[i]);
}
printf ("\n");
if (n!=256)
{
fprintf (stderr, "Error reading EEPROM!\n");
return;
}
if (
(buffer[1]==(vid_o%0x100)) &&
(buffer[2]==(vid_o/0x100)) &&
(buffer[3]==(pid_o%0x100)) &&
(buffer[4]==(pid_o/0x100))
)
{
printf ("... old VID/PID OK! Trying to overwrite VID/PID in EEPROM...\n");
// set new VID/PID into the buffer!
buffer[0]=0xc0;
buffer[1]=(vid_n%0x100);
buffer[2]=(vid_n/0x100);
buffer[3]=(pid_n%0x100);
buffer[4]=(pid_n/0x100);
n=usb_control_msg(h, USB_TYPE_VENDOR | USB_RECIP_DEVICE | USB_ENDPOINT_OUT,
0xa2, 0, 0, (char *)buffer, 5, 5000);
printf ("... written %d bytes...\n", n);
printf ("Verifying...\n");
n=usb_control_msg(h, USB_TYPE_VENDOR | USB_RECIP_DEVICE | USB_ENDPOINT_IN,
0xa2, 0, 0, (char *)b2, sizeof(b2), 5000);
if (n!=256)
{
fprintf (stderr, "Error reading EEPROM!\n");
return;
}
ok=1;
for (i=0; i<n; i++)
if (buffer[i]!=b2[i]) ok=0;
printf (ok?"Verified, OK!\n":"Error occured!\n");
}
else
fprintf (stderr, "VID/PID in EEPROM don't match! Skipping...");
}
int main (int argc, char **argv) {
struct usb_bus *bus;
struct usb_device *dev;
usb_dev_handle *handle = NULL;
if (argc!=3) usage();
sscanf(argv[1], "%x:%x", &vid_o, &pid_o);
sscanf(argv[2], "%x:%x", &vid_n, &pid_n);
if ((vid_o>0xffff) || (pid_o>0xffff) || (vid_n>0xffff) || (pid_n>0xffff)) usage();
printf ("\nRepairing: [%04x:%04x] => [%04x:%04x]\n\n", vid_o, pid_o, vid_n, pid_n);
usb_init();
usb_find_busses();
usb_find_devices();
for (bus=usb_get_busses(); bus; bus=bus->next)
{
for (dev=bus->devices; dev; dev=dev->next)
{
if ((dev->descriptor.idVendor==vid_o) && (dev->descriptor.idProduct==pid_o))
{
handle=usb_open(dev);
if (!handle)
printf("Error opening [%04x:%04x]!\n", vid_o, pid_o);
else
{
printf("Found [%04x:%04x]: trying to repair ----------------\n", vid_o, pid_o);
repair(dev, handle);
}
}
}
}
return 0;
}
V adresáři rovněž vytvoříme soubor Makefile a do něj dáme:
BIN=/usr/bin USBFLAGS = `libusb-config --cflags` USBLIBS = `libusb-config --libs` CC = gcc CFLAGS = $(USBFLAGS) -O3 -Wall LIBS = $(USBLIBS) PROGRAM=yakumo-repair all: $(PROGRAM) .c.o: $(CC) $(CFLAGS) -c $< $(PROGRAM): $(PROGRAM).o $(CC) -o $(PROGRAM) $(PROGRAM).o $(LIBS) strip: $(PROGRAM) strip $(PROGRAM) install: strip cp -f $(PROGRAM) $(BIN) clean: rm -f *.o $(PROGRAM)Program zkompilujeme pomocí 'make'.
./cycfx2prog -id=14ee:0225 prg:Vend_ax.hex runProgram vypíše něco jako:
Using ID 14ee:0226 on 001.014. Putting 8051 into reset. Programming 8051 using "Vend_ax.hex". Putting 8051 out of reset.Poté spustíme náš program se dvěma parametry: prvním je současný (nekorektní) pár VID/PID, druhým je opravený VID/PID:
./yakumo-repair 14ee:0225 14aa:0225Program vypíše:
Repairing: [14ee:0225] => [14aa:0225] Found [14ee:0225]: trying to repair ---------------- EEPROM READ: [256] c0 ee 14 25 02 00 00 08 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ... old VID/PID OK! Trying to overwrite VID/PID in EEPROM... ... written 5 bytes... Verifying... Verified, OK!Což znamená, že v tomto okamžiku by mělo být vše v pořádku, stačí adaptér odpojit a znovu zapojit a měl by znovu fungovat.
Tiskni
Sdílej:
.
.
odcihleníRDAA-81 pomocí JTAGu po těch peripetiích i napíšu, ale jak se dívám tak jsem pořád slabé máslo a ještě budu muset počkat na corovější zážitky.