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.
Dobry den,
chci poprosit s pomoci nalezeni chyby v nasledujicim kodu:
(komentuji radky kde valgrind hlasi chybu).
char *get_term(char *str, int pos)
{
int n;
int word = 0;
int w = 0, w_m = 0;
short in_word = 0;
short out_word = 0;
char **words;
for(n = 0; str[n] != '\0'; n++)
{
if (str[n] == '<' || str[n] == ' ' || str[n] == '>')
{
if (in_word)
{
if (w > w_m)
w_m = w;
}
out_word = 1;
in_word = 0;
w = 0;
}
else if (!in_word)
{
word++;
out_word = 0;
in_word = 1;
}
if (in_word)
w++;
}
/*ZDE*/ if ((words = (char **)malloc(word*(sizeof(char *)))) == NULL)
{
fprintf(stderr, "chps : %s\n", strerror(errno));
exit (1);
}
for (n = 0; n < word; n++)
{
if ((words[n] = (char *)malloc(w_m*sizeof(char))) == NULL)
{
fprintf(stderr, "chps : %s\n", strerror(errno));
exit (1);
}
}
in_word = out_word = 0;
w = w_m = word = 0;
for(n = 0; str[n] != '\0'; n++)
{
if (str[n] == '<' || str[n] == ' ' || str[n] == '>')
{
if (in_word)
{
if (w > w_m)
{
w_m = w;
}
/*ZDE*/ words[word - 1][w] = '\0';
}
out_word = 1;
in_word = 0;
w = 0;
}
else if (!in_word)
{
word++;
out_word = 0;
in_word = 1;
}
if (in_word)
words[word - 1][w++] = str[n];
}
if (pos <= word)
return(words[pos - 1]);
else
return(" ");
}
Funkce se vola napr get_term("<NAME opt1 opt2 opt3>", 2); a
vrati opt1.
Dekuji.
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
char *get_term(const char *str, int pos)
{
char *p, *q, *r;
size_t len;
if ((pos < 1) || !str) {
return NULL;
}
len = strlen(str);
if ((*str != '<') || (str[len - 1] != '>')) {
return NULL;
}
p = (char *)str + 1;
while (--pos) {
p = strchr(p, ' ');
if (!p || !*p) {
return NULL;
}
p++;
}
q = strchr(p, ' ');
if (!q) {
q = (char *)str + len - 2;
}
if (p > q) {
return NULL;
}
r = malloc(q - p + 2);
if (!r) {
return NULL;
}
memcpy(r, p, q - p + 1);
r[q - p + 1] = '\0';
return r;
}
int main()
{
const char *s = "<a b c d>";
int i;
for (i = 1; i <= 5; i++) {
char *p = get_term(s, i);
printf("%d: %s\n", i, p ? p : "not found");
if (p) {
free(p);
}
}
return 0;
}
Tiskni
Sdílej: