Listopad 8th, 2016

Posted In: I-Nex, Uncategorized

Tagi: , ,

Najnowsze buildy I-Nex pojawiły się już bez zewnętrznego programu i-nex-cpuid. Nie można już więc używać konsolowego narzędzia do wydobywania informacji o CPU. Od teraz wszystko odbywa się w GUI.

i-nex-cpuid był programem który i-nex wykonywał podczas startu, zwracał on dane w formacie JSON, przez co I-Nex mógł w bardzo prosty sposób je sformatować i pokazać w karcie CPUID.

i-nex-cpuid używał biblioteki libcpuid, został stworzony na potrzeby wykonania instrukcji CPUID. Użycie tej biblioteki bezpośrednio w języku gambas było dość problematyczne, jednak obecna dokumentacja i pomoc uzyskana na włoskim forum rozwiązała sprawę użycia tej biblioteki w języku Gambas.

Sierpień 24th, 2016

Posted In: I-Nex, Nowe wersje, Uncategorized

Tagi: , , , ,

Do tej wersji została zaktualizowana baza procesorów Haswell, Broadwell oraz Skylake, szczegóły pod tym adresem: https://github.com/eloaders/I-Nex/commit/1cee42e617847419b3f2c91698350a26647bbd9f.

W bazie danych przybyło  w sumie 780 linijek. Dodano także dwie grafiki dla procesorów, szczegóły pod tym adresem: https://github.com/eloaders/I-Nex/commit/13a4b80b20dd827ded2dd038cc16f5ea5b20fff3.

Pojawiły się nowe grafiki dla kart graficznych w przypadku uruchomienia I-Nex w maszynie wirtualnej, szczegóły pod tym adresem: https://github.com/eloaders/I-Nex/commit/44ec47bd1acdb65318e95121a5868c075e0f3f42

Za te zmiany specjalne podziękowania dla alphastar868

Podziękowania także dla FadeMind za ostatnie poprawki w tłumaczeniach dokumentacji, poprawkach językowych.

2 dni temu usunąłem także dwa programy składowe i-nex-usage oraz i-nex-uname, przepisałem je na gambas i osadziłem bezpośrednio w I-Nex, przez co nie są już potrzebne.

Dodałem także grafikę dla KDE Neon.

Lipiec 7th, 2014

Posted In: Bez kategorii, Uncategorized

Tagi: , , ,

Kilka razy już trafiłem na forach, na tematy z zapytaniem „jaka faktycznie jest moja częstotliwość procesora?”. W jednym z tych przypadków ktoś wkleił zrzut ekranu I-Nex, a dokładnie zakładki CPUID. Odpowiadający tej osobie użytkownik forum kazał wykonać w terminalu dwa polecenia. Inxi oraz cat /proc/cpuinfo. Wtedy zdałem sobie sprawę z nieznajomości programu I-Nex, który potrafi wygenerować raport w którym zawiera dokładne informacje o tym jaka faktycznie jest częstotliwość procesora a i nawet bez jego wygenerowania, w zakładce CPUID znajduje się dokładna informacja o tym jakie faktycznie jest i jakie powinno być taktowanie. A chodzi tu o pozycje „CPU Clock Measure”.

07072014135311818I-Nex w zakładce CPUID pokazuje dane które są wydobywane za pomocą biblioteki libcpuid. Gdzie oprócz pozycji podającej dokładną informację o taktowaniu pokazuje także szczegółowe dane na temat wspieranych instrukcji jak i parametrach pamięci Cache procesora.

Warto także zagłębić się nieco w komponenty składowe programu I-Nex. Jak wiadomo jest pisany w języku Gambas w wersji 3 oraz w C jak i Bash.

Po instalacji programu mamy także dostęp bezpośredni do jego komponentów:

  1. i-nex-cpuid (Pokazuje te same informacje co karta CPUID)
  2. i-nex-cpusage (Pokazuje obciążenie procentowe procesora)
  3. i-nex-edid (Wydobywa informacje o parametrach monitora. Po przez wykonanie xrandr | i-nex-edid -)
  4. i-nex-glinfo (Pokazuje informacje o parametrach GLX. Jest to zawsze nowsza wersja niż systemowa glxinfo)
  5. i-nex-lspci (Pokazuje informacje o pamięci karty graficznej)
  6. i-nex-uname (Pokazuje w formacie JSON te same informacje co uname -a)
  7. i-nex-usage (Pokazuje szczegółowe informacje o wykorzystaniu pamięci RAM oraz SWAP)

Dodatkowo oprócz tych komponentów zawiera także skrypt Pastebinit. który to pozwala wysłać za pomocą I-Nex-a raport na serwisy nopaste, można go także wykorzystać bezpośrednio.

i-nex-cpuid | /usr/share/i-nex/pastebinit/pastebinit –

Jeśli natomiast chcemy wysłać na inny serwis nopaste niż domyślny pastebin.com.

Wykonując: /usr/share/i-nex/pastebinit/pastebinit -l
Otrzymamy listę wspieranych serwisów nopaste:

  • – cxg.de
  • – dpaste.com
  • – fpaste.org
  • – hpaste.org
  • – lpaste.net
  • – p.defau.lt
  • – paste.debian.net
  • – paste.drizzle.org
  • – paste.kde.org
  • – paste.openstack.org
  • – paste.opensuse.org
  • – paste.pocoo.org
  • – paste.pound-python.org
  • – paste.ubuntu.com
  • – paste.ubuntu.org.cn
  • – paste2.org
  • – pastebin.com
  • – pastebin.mate-desktop.org
  • – pastie.org
  • – pb.daviey.com
  • – slexy.org
  • – sprunge.us
  • – susepaste.org
  • – yourpaste.net

Gdzie po przełączniku -b podajemy adres serwisu w taki oto sposób:

i-nex-cpuid | /usr/share/i-nex/pastebinit/pastebinit -b ‚http://pastebin.mate-desktop.org’

Jest jeszcze kilka innych tajników związanych z I-Nex ale o tym kiedyś.

Maj 27th, 2014

Posted In: Cerbero, Uncategorized, Validate

Tagi: , , , ,

Ostatnio opublikowałem na Google+ jak i na Facebooku, dwie grafiki przedstawiające bazę danych procesorów. O co chodzi?, może zacznę od początku, opisując mechanizm programu I-Nex.

Oprzyjmy to na najnowszej wersji 0.6.6 z repozytorium daily.

Otóż, po uruchomieniu programu I-Nex identyfikuje on procesor na 3 dostępne sposoby.

Pierwszy to wydobycie danych z /proc/cpuinfo, po wydobyciu z pliku, kolejnym etapem jest przeszukanie bazy na podstawie /proc/cpuinfo, w celu wyciągnięcia dodatkowych informacji. Baza ta jest bezpośrednio kompilowana z programem, zawiera ona około 1700 różnych procesorów firmy Intel oraz AMD.

W przypadku gdy odnajdzie procesor w bazie, wydobywa on z niej dodatkowe dane jak: TDP, Wspierane pamięci, Proces technologiczny, liczba tranzystorów. Czyli wszystkie dane producenta. Prawie wszystkie, ponieważ reszta jest załatwiona przez kolejny etap, a jest nim wykonanie binarnego pliku: i-nex-cpuid, który to zwraca w formacie JSON dodatkowe informacje.  Jest w nim min. lista wspieranych instrukcji, gdzie przy prawie każdej widnieje adres url do wikipedii, gdzie znajdziemy szczegółowy opis danej instrukcji.

Nie opisałem tu też wielu dodatkowych informacji jakie wyciąga, ale celem jest wytłumaczenie zasad działania programu.

Teraz kiedy wiemy jak to działa, możemy iść dalej. A więc.

Problem z identyfikowaniem procesorów został zauważony w momencie w którym Cerbero pojawiło się online, kiedy pierwsi użytkownicy zaczęli wysyłać raporty. Zaczęły się pojawiać raporty w których I-Nex nie rozpoznawał procesora. Sam procesor tak, ale nie pokazywał jego logo i danych producenta. Z prostego powodu, nie było tego procesora w bazie danych.

Zanim jeszcze Cerbero powstało, był plan aby napisać aplikację dzięki której ręcznie będzie można dodać nowy model procesora. Jednak jest to zbyt uciążliwe dla osoby która miała by to robić. Dlatego też całość została zaimplementowana do Cerbero, które za kilka dni stanie się kolejną bazą procesorów zaraz po cpuworld czy techpoweup. Pod względem tego jak wygląda to na techpowerup, to w Cerbero będzie to znacznie lepiej wyglądać, jednak porównując z cpuworld, baza będzie uboższa, jednak to tylko kwestia czasu, aby całość dopracować i stworzyć coś lepszego.

Ogólnym zamiarem było dać tylko możliwość edycji danych w bazie, a pełnienie przez Cerbero, jako takiego klona cpuworld, zostało załatwione przy okazji.

Jest jeszcze wiele innych fajnych elementów które warto by opisać czy też planów. Jednak o tym zaraz po ukończeniu, i wydaniu wersji z bazą procesorów online.

I-Nex - Cerbero (4) I-Nex - Cerbero (3) I-Nex - Cerbero (2)

Luty 13th, 2014

Posted In: I-Nex, Nowe wersje, Uncategorized

Tagi: , , , , , , , , , , ,

Od kilku dni pracuję nad łatwiejszym sposobem kompilacji I-Nex oraz nad wyodrębnieniem poszczególnych jego składników. Program od zawsze kompilowany był jako jeden program, bez wyodrębniania składników, w kolejnej wersji ma się to jednak zmienić. I-Nex zostanie tak jak dotychczas w jednym pakiecie deb, tylko sposób kompilacji przebiegać będzie w trzech etapach.

I-Nex od początków swego istnienia składał się z dwóch składników, program pisany w gambas oraz pastebinit pisany w python.

Pastebinit służy do wysyłania raportów na serwisy nopaste. I-Nex w ppa posiada zintegrowany w pakiecie, jednak już w repozytoriach suse, jest on jako zależność programu.

Trzecia część to moduły pisane w C, których zadaniem jest zwracanie danych w formacie JSON.

W każdym systemie budowania pakietów, czy to rpm, deb oraz tar.xz w przypadku ArchLinux-a. Każdy z tych systemów posiada swój własny szablon, na którego podstawie system budowania pakietów, wie co ma robić i w jakiej kolejności.

Pakietowanie deb jest to złożenie kilku plików w katalogu ./debian i z mojego punktu widzenia, jest to jeden z najtrudniejszych a za razem najłatwiejszych systemów pakietowania, w rpm jest to plik .spec a w ArchLinux PKGBUILD, są to pojedyncze pliki które odpowiadają za całość, nie tak jak w przypadku deb.

Moim zadaniem jest przygotować system który pozwala na wyodrębnienie składników, pozwolić na instalacje stron man, docs itp, bezpośrednio za pomocą Makefile.

Na tę chwilę, by skompilować I-Nex, potrzeba uruchomić w katalogu cd ./src

./configure, następnie przejść do katalogu nadrzędnego cd .. i wykonać make.

Końcowy etap wyodrębniania składników ma pozwolić na swobodne budowanie i-nex, i-nex-paste oraz i-nex-utils. Tylko na potrzeby pakietowania dla innych dystrybucji.

Tyle na temat standardów.

Kolejna wersja 0.6.4, prawdopodobnie przyniesie zmiany i nowości odnośnie benchmarków. I-Nex będzie w stanie pokazać cpu score względem innych procesorów z bazy, bazy którą trzeba najpierw utworzyć.

Mały zrzut na dziś:

02132014144427855

Luty 4th, 2014

Posted In: Oprogramowanie, Uncategorized

Tagi: , , , , , , ,

Często przeglądam githuba w poszukiwaniu ciekawych programów, bibliotek, nie jeden raz już trafiłem na wiele ciekawych rozwiązań, niektóre z nich nie są już rozwijane, a szkoda. W wielu przypadkach ktoś po prostu zainicjował kod i wrzucił całość na gituba.

Dziś przyszło mi napisać o dosyć ciekawym interfejsie webowym, który pokazuje podstawowe informacje o użyciu pamięci czy obciążeniach procesora oraz o uruchomionych procesach. Skrypt napisany został w PHP z użyciem bootstrap.

Poszczególne moduły napisane zostały w PHP. W zależności od tego gdzie umieściłeś skrypt, po podstawowej instalacji skryptu podejrzeć je można w /var/www/linux-dash/sh/, wykonanie poszczególnego modułu po stronie serwera zwraca dane w popularnym już dziś formacie JSON. Jakiś czas temu kernel.org udostępniło API także w tym formacie.

00000000000000003

Instalacja w Ubuntu:

sudo apt-get install apache2 php5 php5-json git

sudo -i

cd /var/www/

git clone https://github.com/afaqurk/linux-dash.git

 

W przeglądarce wchodzimy na adres http://127.0.0.1/linux-dash/, w zależności od tego gdzie został umieszczony skrypt:)

Strona domowa

Styczeń 30th, 2014

Posted In: I-Nex, Nowe wersje, Uncategorized

Tagi: , , , , , , , , , ,

Dokładnie wczoraj, I-Nex jak i strona domowa zmieniła logo programu, poprzednie logo istniało w programie od prawie dwóch lat. Przyszedł czas w którym jest moda na proste kolory.

Logo programu powinno być w tworzone z  zachowaniem zasady trzech kolorów, i tak też się stało.

Nowe logo jest w stylu ikon Feanza, jeden z najpopularniejszych zestawów ikon dla KDE/GNOME itp.

i-nex

W tej chwili zadaję sobie pytanie co dalej z rozwojem I-Nex. Co można wprowadzić, w miarę możliwości.

I-Nex w pewnym okresie został powiązany z modułami pisanymi w C, moduły te zwracają informacje w formacie JSON, następnie dekodowane są przez program i umieszczane w odpowiednie pola i karty.

Tak stało się z CPUID (i-nex-cpuid), GPU (i-nex-glinfo), Memory (i-nex-usage), Kernel (i-nex-uname).

Wiele pomysłów na rozwój programu zostało porzuconych ze względu na moją niekompetencję w PHP. I-Nex miał wprowadzić namiastkę CPU-Z Validate, lecz jak już wspomniałem, przez moją niekompetencję w PHP, nie jestem w stanie tego zrobić. Nie jestem także odpowiednio młody by zacząć się uczyć tego języka, mam możliwość tworzenia w zakresie mojej obecnej wiedzy.

Wracając do modułów w C, nie są one perfekcyjnym kodem, miałem zaledwie dwa dni by przekalkulować bibliotekę CPUID i na podstawie dokumentacji stworzyć program który zwraca dane w formacie JSON. W zaledwie dwa dni musiałem zapoznać się z C i napisać prawie sześć modułów w tym języku. Musiałem, nie musiałem, to hobby, które nie koniecznie musi nim pozostać.

Styczeń 16th, 2014

Posted In: I-Nex, Nowe wersje, Uncategorized

Tagi: , , , , , , ,

Jakiś tydzień, dwa tygodnie temu, nie jestem w stanie określić kiedy. Ale trafiłem na bibliotekę libcpuid dla Linuksa.
Z początku próbowałem bezpośrednio w Gambas utworzyć do niej odwołania, jednak załatwiłem to w nieco inny sposób.

Napisałem osobny program, który wyrzuca na „konsole”, „std” informacje z CPUID. Czyli producenta, wspierane instrukcje, cache, taktowanie itd.
Ten osobny program napisałem w C, nie znając kompletnie tego języka, ale jakoś sobie poradziłem i rozszyfrowałem, do biblioteki dodałem także wykrywanie procesorów Atom Pineview.
W źródłach program figuruje pod nazwą cpu.c i jest kompilowany statycznie z biblioteką libcpuid11 do inex-cpuid, po instalacji znajduje się w /usr/bin.

01162014121334431

Karta CPU została podzielona na kolejne dwie karty, CPUINFO i CPUID, po nazwach można wywnioskować iż, pierwsza korzysta z /proc/cpuinfo a druga zaś z inex-cpuid.
inex-cpuid nie „wypluwa” od tak rozproszonych danych, przedstawia je w formacie JSON :), przez co łatwo są one importowane do głównego programu.
Od teraz można się cieszyć tym, że I-Nex przedstawia informacje CPUID w dosyć ładny i łatwy do zrozumienia sposób.

Styczeń 8th, 2014

Posted In: I-Nex, Uncategorized

Tagi: , , , , , , ,

Witam w nowym roku 2014. Powinienem był napisać o jakimś podsumowaniu roku 2013. Możliwe że zrobię to za kilka dni.
Pozwoliłem sobie zrobić urlop. Ale już wracam do pracy nad I-Nex.
Siedzi też w mojej głowie od długiego czasu pomysł na stworzenie kolejnego programu, zastanawiam się tylko do czego miał by on służyć, a chciał bym stworzyć kolejną alternatywę.
Jako że najlepiej radzę sobie w tworzeniu alternatyw i trzymaniu się standardów, myślałem nad czymś ala CCleaner na linuksa, oczywiście jest już coś takiego jak BleachBit, jeśli dobrze napisałem nazwę.

Ostatnio także zabrałem się za program który wchodzi w skład programu I-Nex, służy on do prostego budowania bazy danych JSON.
I-Nex w bazie przechowuje informacje o 1080 procesorach, zdarzyło się już kilka razy, że nie pokazał informacji o procesorze, bo po prostu nie istnieje on w bazie.
Mam pomysł więc aby napisać małe GUI do dodawania procesorów do bazy danych, dla każdego. Jednak istnieje obawa że dane dodane do bazy mogą nie zgadzać się z rzeczywistymi parametrami.
Więc nad dodawaniem procesorów do bazy musiały by sprawować pieczę osoby które naprawdę się na tym znają, aby wyeliminować niepoprawne dane.

Jest tego wielki mankament także, im więcej procesorów w bazie, tym dłuższe uruchamianie się programu. Ostatnio załatwiłem to w sposób dosyć prosty.
Jeśli wykryje procesor firmy Intel, to używa bazy danych z procesorami Intel i analogicznie dla AMD, zrobiłem też osobno dla procesorów Intel Atom, z racji tego że są to dosyć słabe procesory a uruchamianie I-Nex naprawdę trwało zbyt długo na tych procesorach.

Obecnie baza danych z procesorami Intel Atom zawiera 37 modeli.

Miałem także możliwość i nadal mam, aby zakładka Mobo wyświetlała więcej informacji o płycie, wiązało by się to z utworzeniem bazy danych, takiej samej jak w przypadku procesorów, jednak tylko Intel oferuje do tego API Odata. Wiec zastanawiam się czy to ma sens, czy ma sens pisanie tego tylko dla płyt głównych Intela.
Na rynku mamy setki płyt głównych i tysiące które już wyszły ze sprzedaży a jeszcze są używane, nie wiem czy nie porwał bym się z motyką na słońce tworząc bazę z informacjami o płytach głównych, z czasem mogła by ona zawierać kilka milionów wpisów, a sam program zawierał by dosyć dużo miejsca, 10MB to jest już dużo jak na tego typu program.

Założeniem programu przecież jest że ma wyświetlać informacje o podzespołach w szybki i nie koniecznie łatwy do zrozumienia sposób, oparty na zakładkach i combobox-ach. Przy czym ma wymagać jak najmniej zależności, ma być stosunkowo szybki w instalacji oraz nie wymagać praw administratora (root).

Mam jeszcze pomysł na to by I-Nex pozwalał na wydrukowanie informacji z danej zakładki, aby dane do wydrukowania pozwalały na stworzenie opisu komputera w przypadku, w którym chcemy go sprzedać i stworzyć szybki opis. Oczywiście opis będzie obejmował tylko informacje o modelu procesora, płycie, karcie graficznej, sieciowej itp. Bez opisu „Mam do sprzedania komputer… blah blah blah, jest on wyśmienity i pachnie lawendą…”.

Listopad 28th, 2013

Posted In: Nowe wersje, Uncategorized

Tagi: , , , , ,

inex058

 

I-Nex pomimo szybkiego rozwoju, posiada także wiele zaniedbanych funkcjonalności jak i funkcjonalności dublujących się w kodzie programu.

Jedną z nich jest, możliwość generowania raportów. Dlatego też w kolejnej wersji programu, która zostanie oznaczona numerem 0.5.8, postaram się wnieść możliwość generowania większej ilości raportów, a także zaprogramować interfejs dla chcących dodawać dodatkowe moduły.

Interfejs do dodawania dodatkowych modułów będzie związany wyłącznie z generowaniem raportów, moim zamiarem jest udostępnić szablon w formacie JSON, który będzie zrozumiały dla każdego, kto chce pomóc w rozwoju projektu, niezależnie od tego jakiej dystrybucji używa.

Obecnie mam kilka wizji tego, jak ta funkcja ma wyglądać. Na tę chwilę raporty są tworzone w dosyć problematyczny sposób, który uniemożliwia mi jego dalszy rozwój.

Jednakże nie do końca tak jest, nie chcę pisać czegoś, co za moment zastąpię innym mechanizmem.

I-Nex sam w sobie nie posiada kodu który odpowiada za wysyłanie raportów na serwisy nopaste. Korzysta on z projektu pastebinit, który jest odrębnym projektem, nie związanym w żaden sposób z I-Nex. Chcę przez to powiedzieć że, developerzy pastebinit nie wiedzą pewnie że jakaś aplikacja dołączyła kod ich programu do swojego. Oczywiście zamiast dołączenia kodu pastebinit, mogłem ustawić zależności tak, aby przy instalacji pastebinit był pobierany osobno, ale po co? Im mniej zależności, tym szybsza instalacja.

 

Wersja 0.5.8 zostanie wydana przed świętami a ja też zajmę się okresem świątecznym po jej wydaniu.

PS: Co sądzicie o tym by wprowadzić benchmarki do I-Nex?

 

 

 

Najnowsze komentarze

Reklama

OSSPlanet

Close