Jeżeli chcesz pisać w wordzie czy openoffice bo je znasz, lub jesteś humanistą i boisz sie że nie ogarniesz niczego ponad worda, to tkwisz w błędzie. Polecam wszystkim ścisłym humanistom i humanistycznym ścisłowcom pisać jakie kolwiek formy prac dyplomowych w LaTeX'u (to nie wymawia sie lateks, tylko latech od greckiej litery CHI). Najprościej (jeżeli uczelnia go nie oferuje) dorwać jakiś szablon na podstawie którego szybko idzie zrozumieć filozofię całego systemu i skupić się wyłącznie na treści pracy, tym samym będąc odciążonym od reszty upierdliwych edytorskich czynności takich jak rozmiary czcionek. Spis treści, rysunków, tabel, równań robi się sam, a ty pisząc magisterkę jesteś tak zachwycony że rozważasz napisanie doktoratu.
Popularność facebooka wzrosła do tego stopnia, że sporo blogów można by rzec straciło sens bycia, skoro każdy w spósob dziecinnie prosty może sobie pozwolić na własny kątek w sieci o funkcjonalności zbliżonej do bloga i w dodatku z gwarantowanymi odwiedzinami 100 znajomych dziennie... Myślę w ten sposób czasami, i choć ostatnio piszę tu tyle co nic, to wciąż jakoś bardziej temu miejscu ufam jako bardziej pseudo 'prywatnym' niż Facebook. Żeby było śmieszniej stany melancholijne mnie tu sprowadzają i nakłaniają do pisania najczęściej, tak jakbym tu coś zgubił...
Taki oto film powstał na potrzebę pracy magisterskiej kolegi i koleżanki pt ''Dźwięk w produkcjach filmowych". Powstała wersja z dźwiękiem 5.1. Poniżej filmik w wersji stereo. Ja odgrywam rolę kierowcy Fiata i Leona Zawodowca :)
Płaszczyznę wyznaczają dowolne 3 nieliniowe punkty w przestrzeni. Co jeżeli chcemy mieć 4 ? Będzie to wtedy płat przestrzenny. Przed takim problemem stają sterowniki zapłonu w silnikach benzynowych gdy mają mape zapłonów z rozdzielczością powiedzmy co 1000 obr/min, a zależy nam na płynnym, a nie skokowym przejściu między powiedzmy 1000 a 2000 obr/min.
Z pomocą przychodzi interpolacja trójwymiarowa. Celem jest wyznaczenie płata który interpoluje 4 punkty na płaszczyźnie dwuwymiarowej, tworzące kwadrat. Podszedłem do zagadnienia w sposób następujący
Niech punkty nazywają się a1 a2 a3 a4, numerując po obwodzie kwadratu w dowolną stronę
Temat jest z grubsza stary jak świat, ale podzielę się kilkoma pomysłami i doświadczeniami. Po 1 jak szybko z konsoli jednym ruchem ręki skompilować i wgrać do pamięci EPROM nasz program. Ja załatwiam to takim skryptem. Nazwałem plik po prostu 'avr' :
Tak wygląda to w przypadku powszechnie znanego programatora usbasp oraz układu Atmega32.
zakładając że nasz program mieści się w pliku timer2.c użycie będzie wyglądać następująco :
kapec cpp # ./avr timer2
In file included from timer2.c:3:
/usr/lib/gcc/avr/4.1.2/../../../../avr/include/avr/signal.h:36:2: warning: #warning "This header file is obsolete. Use ."
timer2.c: In function 'main':
timer2.c:99: warning: passing argument 1 of 'lcd_puts' makes pointer from integer without a cast
timer2.c:104: warning: passing argument 1 of 'lcd_puts' makes pointer from integer without a cast
timer2.c:113: warning: passing argument 1 of 'lcd_puts' makes pointer from integer without a cast
timer2.c:133: warning: passing argument 1 of 'lcd_puts' makes pointer from integer without a cast
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.01s
avrdude: Device signature = 0x1e9502
avrdude: NOTE: FLASH memory has been specified, an erase cycle will be performed
To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file "timer2.hex"
avrdude: input file timer2.hex auto detected as Intel Hex
avrdude: writing flash (3594 bytes):
Writing | ################################################## | 100% 1.98s
avrdude: 3594 bytes of flash written
avrdude: verifying flash memory against timer2.hex:
avrdude: load data flash data from input file timer2.hex:
avrdude: input file timer2.hex auto detected as Intel Hex
avrdude: input file timer2.hex contains 3594 bytes
avrdude: reading on-chip flash data:
Reading | ################################################## | 100% 1.07s
avrdude: verifying ...
avrdude: 3594 bytes of flash verified
avrdude: safemode: Fuses OK
avrdude done. Thank you.
kapec cpp #
Może być tak, że mimo posiadania wszystkiego co wydaje się że jest potrzebne jeżeli chodzi o pakiet avr-libc, zamiast kompilacji otrzymamy komunikat :
Error: Cannot open linker script file ldscripts/avr5.x: No such file or directory
Niezbędny będzie jeden 'myk' z dowiązaniem symbolicznym. U mnie na gentoo takie coś załatwiło sprawę na amen :
Nic w zasadzie odkrywczego ale podziele się ze światem tym, jaki jestem mądry. Fluxbox jak wiadomo jest małożernym środowiskiem graficznym linuxa. Z tej całej małożerności wynika toporność pewnych rozwiązań, które na windowsie rozwiązuje się zwykle dwuklikiem. Postaram się tu opisać swoje rozwiązanie, jak dwuklikiem, w troche mniej topornym menedżerze plików, jakim jest gnome-commander, rozwiązać kwestię pt. 'ustawienie tapety', tak aby uruchamiała się za każdym następnym startem systemu. Jak może już wiadomo, fluxbox odpala podczas swojego startu wszystko co znajduje się w jego pliku
~/.fluxbox/startup
Tam zwykle mieściły się wpisy na kształt
fbsetbg -c tapeta.jpeg &
co ustalało nam tapetę. Teraz powyższy wpis zastąpimy takim oto
sh ~/.fluxbox/wallpaper.sh
Samego pliku wallpaper.sh nie ruszamy, gdyż będzie się to działo samo. Ha!
Tworzymy za to drugi plik, który ja osobiście wymyśliłem sobie, aby nazywał się:
$1 jest tu zmienną która jest argumentem skryptu tapeta.sh, a konkretniej ścieżką do obrazka, który ma być tapetą.
Pierwsza linijka wysyła to co w cudzysłowiach do pliku wallpaper.sh, który wywoływany jest na każdym starcie fluxboxa, dzieki czemu tapeta będzie ustawiana za każdym następnym startem. Żeby jednak nie czekać na następny start, a już teraz zobaczyć efekty zmiany tapety, druga linijka ustawia ją w także w tej chwili. Teraz tylko wystarczy w swoim menedżerze plików skojarzyć akcję ustawiania tapety z typem obrazków, a konkretnie jej polecenie wyglądać będzie tak:
~/.fluxbox/tapeta.sh
Domyślnie po ścieżce do programu argumentem jest ścieżka do obrazka więc jakby dodać 2+2 to okazuje się, że wszystko jest jasne i super logiczne, i oczywiste. Tym samym można sobie już zmieniać beztrosko tapety. Rozwiązanie to nie toleruje spacji w nazwach plików, więc posiadania takich nie polecam.
Po roku gadania zamiast robienia zacząłem robić zamiast gadać. Prawie uciałem fleksą przewody paliwowe a samemu sobie ręke, ale w końcu wszystko zostało posadzone na swoim miejscu. Zadziałało z pierwszego kopa! Drugi fiat 125p w mieście (o którym wiem) ze wspomaganiem kierownicy.