Ostatnio wyrzucałem gazety z mojego biurka i trafiłem na starego PCWorlda. Znalazłem w nim informacje o Wuali - grupowym wirtualnym dysku. Wuala udostępnia zarejestrowanemu użytkownikowi miejsce na wirtualnych dyska oraz umożliwia automatyczną synchronizację plików między komputerem użytkownika a jego wirtualnym dyskiem.
W podstawowej wersji mamy do dyspozycji 1G, ale dodatkowe miejsce i usługi (automatyczna kopia zapasowa, wersjonowanie plików) można zyskać stając się pro. Aby otrzymać taki status należy udostępniać swoje miejsce na dysku bądź kupić minimalnie 10 GB za 15€ za rok. Nie trzeba także się obawiać o bezpieczeństwo swoich danych, pliki jeszcze przed wysłaniem są szyfrowane 128-bitowym kluczem AES. Pewnie bym się nie skusił na skorzystanie z tego, gdybym nie przeczytał, że jest napisana w Javie i działa równie dobrze pod Linuksem jak pod Windowsem. A to, że nie jest ona OpenSource rekompensuje mi dostęp do swoich ważnych danych w każdym miejscu.
Znalazłem na Hard Core Security Lab artykuł o tworzenie superbezpiecznych haseł i to tylko przy użyciu żółtej karteczki. Niestety ciężko jest stworzyć sensowną żółtą karteczkę, dlatego napisałem program, który pomógłby mi w tym. Jednak przed wgłębianiem się dalej w mój wpis proponuję przeczytać HCSL - Superbezpieczne hasła zapisane na żółtej karteczce.
Pewnie artykuł się spodobał, ale mam kilka uwag, część jest w komentarzach innych użytkowników portalu. Po pierwsze lepiej stosować karteczkę, np. 10x10. Wtedy można stosować już jakąś lepszą metodą, kwadrat, prostokąt, lub kształt jakiejś literki, ruchy z szachów itd. Po drugie wygenerowane hasło pierwsze przepisywałbym z karteczki, a później nauczyłbym się na pamięć i karteczkę wywalił.
A jeśli komuś już się nie chce tak strasznie wymyślać znaków, jakie mógłby wpisać na tą karteczkę, to proponuję skompilować to:
Wyszła wersja 0.1 mojego programu do nauki słówek. Narazie posiada tylko tryb tekstowy. Udało mi się spełnić kilka punktów z listy TODO:
Uporządkowałem i zwiększyłem przejrzystość kodu
W większości nazwy zmiennych, funkcji, klas pozmieniałem na angielskie
Średniozaawansowana obsługa błędów
Dodane wyszukiwanie słówek
Dodane wczytywanie słówek z pliku
Dodałem plik Makefile
Oprócz tego zlikwidowałem wiele błędów. Program się rozwija i pewnie zaniedługo ujrzycie jego kolejną o wiele lepszą wersję.
Pobierz Konkord 0.1(kod źródłowy)
Zamierzam napisać o programie do nauki słówek np. z języka angielskiego, który stowrzyłem. Nazwałem go "konkord", chyba dlatego, że wpadłem na pomysł stworzenia tego programu, gdy grałem w gierkę, gdzie jeździ gokardami. Na chwilę obecną ten program jest jeszcze w wersji alfa, więc proszę się liczyć z tym, że korzystanie z niego może przyprawić o ból głowy.
Idea
Uczęszczam do 3 klasy gimnazjum, dla niezoreintowanych, w tej klasie pisze się egzamin gimnazjalny, to oznacza, że jest masa do nauki, do przedmiotów, z których wiedza wymagana przy zdawaniu poszczególnych części tego egzaminu. I tak się składa, że mój rocznik, jako pierwszy pisze test gimnzjalny z języka obcego(ja z angielskiego). Nauczyciel z angielskiego się uwziął i jest masa słówek do wykucia, na próbnym egzaminie nie umknęło moje uwadze, że wymagane są duże zasoby słownictwa. Stwierdziłem też, że metoda, zakrywania dłonią angielskich odpowiedników lub polskich i odpytywanie się choć była wcześniej efektywna, teraz jest nieefektywna, gdyż masę czasu tracę na przepytywanie się ze słówek, które już umię. Więc postanowiłem stworzyć program z mechanizmem, który na podstawie wyników poprzednich przepytywań określałby w jakim stopniu dane słowo umiem, i po jakim czasie je zapomnę, i który przepytywałby mnie z tych słów najmniej opanowanych. A że ja często pomysły wcielam w życie, to więc i ten wcieliłem; po napisaniu 400 linijek silnika nie mogłem się wycofać.
Licencja
Program jest dostępny na licencjiGNU GPL(wersja 3). Zdecydowałem się wybrać tą licencję, ponieważ całkowicie obcja jest mi idea licencji zamkniętych oraz jestem zbyt przywiązany do tego programy, aby go udostępnić na licencji BSD.
Funkcje
Program jest narazie w czesnym stadium rozwoju, określiłbym ten stan jako pre-alpha. Na dziś stworzony jest silnik bez zaawansowanej obsługi błędów, nakładka tekstowa na silnik.
Silnik potrafi:
tworzyć, zapisywać kurs do pliku oraz wczytywać z pliku,
przepytywać ze słówek oraz uczyć nowych słówek,
określać w jakim stopniu umi się dane słowa.
Nakładka tekstowa:
potrafi obsługiwać kilka kursów naraz,
ma rozbudowane menu,
nie ma skrotów klawiszowych.
Konkursy się skończyły(zaniedługo pochwalę się wynikami), będę miał więcej czasu, więc udoskonalę program.
Plany
Ogólnie:
uporządkować kod,
nazwy zmiennych pozmieniać na angielskie,
zwiększyć przejrzystość kodu,
dodać więcej komentarzy
Silnik:
dodać ustawienia programu,
dodać osblugę wielu języków,
dodać zaawansowaną obsługę błędów,
dodać wyszukiwanie słówek po nazwie,
dodać dodawanie słówek z pliku.
Nakładka:
dodać obsługę skrótów klawiszowych,
przenieść nakładkę na bibliotekę ncurses,
dodać ustawienia nakładki.
Pobierz program
Kompiluje się poleceniem: "g++ main.cpp kurs.cpp -o konkord".