Andrew S. Tanenbaum byl oceněn 2023 ACM Software System Award (Wikipedie) za operační systém MINIX.
Celkový počet stažení aplikací z Flathubu překročil 2 miliardy. Aktuální Statistiky Flathubu: Celkový počet stažení 2 002 793 783. Celkem desktopových aplikací 2 636.
Byla vydána nová verze 4.8.0 programu na úpravu digitálních fotografií darktable (Wikipedie).
Nová čísla časopisů od nakladatelství Raspberry Pi: MagPi 142 (pdf) a HackSpace 79 (pdf).
Qtractor (Wikipedie) dospěl do verze 1.0.0. Jedná se o Audio/MIDI vícestopý sekvencer.
Byl vydán svobodný kancelářský balík OnlyOffice Docs 8.1. Vedle četných oprav přináší několik funkcí včetně podpory editace textu v PDF a vytváření formulářů v PDF.
Daniel Stenberg, autor nástroje curl, z databáze SteamDB zjistil, že aktuálně 22 734 her na Steamu používá curl.
Společnost Anthropic vydala Claude 3.5 Sonnet, tj. novou verzi své umělé inteligence Claude (Wikipedie). Videoukázky na YouTube. S Claude 3, stejně jak s GPT-3.5, Llama 3 a Mixtral, si lze pokecat bez přihlašování na DuckDuckGo AI Chat.
Byla vydána nová stabilní verze 6.8 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 126. Přehled novinek i s náhledy v příspěvku na blogu a na YouTube. Vypíchnuta jsou vylepšení v integrovaném poštovním klientu.
Příspěvek Aukce domén – měsíc po spuštění na blogu CZ.NIC shrnuje první měsíc provozu Aukce domén .CZ. Aukcemi prošlo celkem 18 174 domén, z toho na 742 z nich byl učiněn alespoň 1 příhoz. Nejdražší aukcí byla na doménu virtualnisidlo.cz s cenou 95 001 Kč, která však nebyla včas uhrazena. Nejdražší aukcí, která byla vydražena i zaplacena je praguecityline.cz s cenovkou 55 600 Kč.
Jsem zakladatelem tohoto portálu. Linux jsem používal spousty let, nějaký čas jsem se aktivně podílel na jeho propagaci v Česku (CZLUG, časopisy ComputerWorld, Network Magazine atd). Se současným Abíčkem už nemám nic společného.
Zájemci si mohou přečíst o nové funkci vzdělávací hry LeliMath na blogu, zde zkusím sdílet kousky zdrojových kódů. S Androidem začínám a tak nevím, zda jsou to základy, které jsou každému jasné, ale doufám, že někomu pomohou.
Jako každý Android vývojář jsem začínal s logcatem. Log.d() byl můj kamarád. Jako problém se ale ukázalo, jak uchovávat starší logy, abych mohl analyzovat selhání. A to nejen u sebe, ale hlavně u uživatelů. Bez logů jste slepí a chyby se hledají mizerně. Po delším hledání jsem zvolil logback pro Android. Jedná se o minimalistický port známé knihovny, se kterou sdílí API i konfiguraci. Mě hlavně přitáhla možnost souběžného směrování logů jak do souboru, tak do logcatu, takže logy vidím v reálném čase v Android Studiu.
Integraci do projektu začněte v graddle skriptu vaší aplikace:
compile('com.github.tony19:logback-android-classic:1.1.1-4') { exclude module: 'android' } compile('com.github.tony19:logback-android-core:1.1.1-4') { exclude module: 'android' } compile 'org.slf4j:slf4j-api:1.7.7'
Musel jsem v manifestu přidat právo šahat na souborový systém.
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
Docela dlouho jsem se trápil s tím, kam se mají logy ukládat. Nechtěl jsem aplikaci nakonfigurovat na míru svého mobilu a riskovat, že začne padat u klientů. Proto jsem nakonec zavrhnul XML konfiguraci a napsal ji v kódu.
private void configureLogbackDirectly() { // reset the default context (which may already have been initialized) since we want to reconfigure it LoggerContext lc = (LoggerContext)LoggerFactory.getILoggerFactory(); lc.reset(); // setup FileAppender PatternLayoutEncoder encoder1 = new PatternLayoutEncoder(); encoder1.setContext(lc); encoder1.setPattern("%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n"); encoder1.start(); FileAppender<ILoggingEvent> fileAppender = new FileAppender<>(); fileAppender.setContext(lc); fileAppender.setFile(new File(getExternalFilesDir(null), "app.log").getAbsolutePath()); fileAppender.setEncoder(encoder1); fileAppender.start(); // setup LogcatAppender PatternLayoutEncoder encoder2 = new PatternLayoutEncoder(); encoder2.setContext(lc); encoder2.setPattern("%msg%n"); encoder2.start(); LogcatAppender logcatAppender = new LogcatAppender(); logcatAppender.setContext(lc); logcatAppender.setEncoder(encoder2); logcatAppender.start(); ch.qos.logback.classic.Logger root = (ch.qos.logback.classic.Logger) LoggerFactory.getLogger(Logger.ROOT_LOGGER_NAME); root.addAppender(fileAppender); root.addAppender(logcatAppender); }
Použití v javě je klasické:
private static final Logger log = LoggerFactory.getLogger(CalcActivity.class); log.debug("onCreate()");
Má smysl psát podobné příspěvky?
Hledám bug tracking software - jaké máte zkušenosti s Redmine?
Tiskni Sdílej:
U nás vo firme používané redmine. Dá sa pomerne ľahko nainštalovať, údržba je jednoduchá, poskytuje funkcie, ktoré od Bug trackeru potrebujeme.
Na tlačidlo resolve existuje plugin. Komentáre cez tlačidlo upraviť hore a pole poznámky dole.
Keď už všetky služby nízkej kvality na jednom mieste prečo nie gitlab? Dá sa objednať ako komerčná služba rovnako ako github a v prípade potreby je možné hostovať si ho aj sám (nastavenie je úplná pohoda).