Autor Wątek: "Jest oskryptowane"  (Przeczytany 7732 razy)

Offline Xender

  • Użytkownik

# Grudzień 17, 2014, 01:13:56


A co Wy macie oskryptowane/zautomatyzowane?

Ja mam:
- Aliasy do często używanych komend Gita.
- Trochę innych aliasów w drugim pliku.
- Vimperator - dodatek do Firefoxa, który ułatwia obsługę klawiaturą, pozwala modyfikować keybindy i m.in. pozwala na edytowanie zawartości pól <textarea> na stronach w zewnętrznym edytorze tekstu (wbrew nazwie nie jestem za dobrym użytkownikiem Vima i często się tam gubię, mimo to z Vimperatorem problemów nie mam).

Z innych poprawiających używalność, chociaż nie wpadających w skryptowanie:
- Tree Style Tab - drzewiaste karty w Firefoxie.
« Ostatnia zmiana: Grudzień 17, 2014, 01:16:32 wysłana przez Xender »

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline Xion

  • Redaktor
    • xion.log

  • +1
# Grudzień 17, 2014, 02:38:15
Cytuj
alias skype='echo Nope.'
;>

Offline Krzysiek K.

  • Redaktor
    • DevKK.net

# Grudzień 17, 2014, 09:55:47
Cytuj
A co Wy macie oskryptowane/zautomatyzowane?
Wszystko co się da. :)

W szczególności z ciekawszych rzeczy:
- budowanie projektów na BlackBerry spod Visual Studio (jednym kliknięciem kompilacja+upload+start),
- budowanie projektów na Androida spod Visual Studio (jak wyżej),
- przetwarzanie map z Tiled (+Paint) na Atari 2600 (włącznie z pathfindingiem z kolizjami napisanym w AWK z pomocą ImageMagick)
- generowanie ikonek na homepage (ImageMagick),
- generowanie CSS na homepage (własny tool w C++ - pozwala np. na pociągnięcie koloru z obrazka i wpisanie do CSS, czy przeliczanie współzależności rozmiarów w pikselach),
- przetwarzanie wideo z monitoringu (ffmpeg),
- zmieniony układ niektórych klawiszy w laptopie (AutoHotkey)

Pewnie jeszcze trochę tu pominąłem. :)

alias skype='echo Nope.'
;>
No to do pełnej wydajności musisz jeszcze tylko dać sobie sam bana na Warsztacie. ;)

Offline Xender

  • Użytkownik

# Grudzień 17, 2014, 21:45:10
@Xion - A, to. To była część większego setupu - jak byłem przez pewien czas zmuszony Skype'a używać, to robiłem to przez skrypt, który odpalał go z osobnego usera (coby Skype nie buszował po plikach, średnio mu ufam - alufolia, te sprawy :P ).

Skrypt był nazwany nieco inaczej, a do aliasów zsh i ~/bin poszły zaślepki na wypadek, jakbym się pomylił i odpalił binarkę bezpośrednio zamiast skryptu.

Ale w sumie zostaje jako nawiązania to Stallmana. ;)

@Krzysiek K. - Wrzucisz gdzieś / podlinkujesz skrypty, o których mówisz? Szczególnie te związane z homepage.

Z moich to zapomniałem o jednym - skryptalias zsh do inicjalizowania nowych projektów.

Offline Xion

  • Redaktor
    • xion.log

# Grudzień 17, 2014, 23:09:09
@Xion - A, to. To była część większego setupu - jak byłem przez pewien czas zmuszony Skype'a używać, to robiłem to przez skrypt, który odpalał go z osobnego usera (coby Skype nie buszował po plikach, średnio mu ufam - alufolia, te sprawy :P ).
Odpalaj w kontenerze? Albo może nawet w VMce, jeśli Dockerowi/LMCTFY/etc. nie ufasz :)

Cytuj
Z moich to zapomniałem o jednym - skryptalias zsh do inicjalizowania nowych projektów.
Wygląda jak uboższa wersja Yeomana bez wsparcia community ;)

Offline goshki

  • Użytkownik
    • Vigeo Games

  • +2
# Grudzień 18, 2014, 11:28:34
- przetwarzanie map z Tiled (+Paint) na Atari 2600 (włącznie z pathfindingiem z kolizjami napisanym w AWK z pomocą ImageMagick)

Z nagraniem na kartridż? ;-)

Offline Krzysiek K.

  • Redaktor
    • DevKK.net

# Grudzień 18, 2014, 13:42:12
Cytuj
@Krzysiek K. - Wrzucisz gdzieś / podlinkujesz skrypty, o których mówisz? Szczególnie te związane z homepage.
Ciężko by było, bo jak coś się już udostępnia, to zwykle czytelnicy oczekują minimum wytłumaczenia czy dokumentacji. A tej ostatniej oczywiście brak. :)

Z nagraniem na kartridż? ;-)
Nie, chociaż można by było. Tum bardziej że jedno swoje Atari 2600 przerobiłem tak, by można było uploadować na nie binarki przez kabel USB (odpalając po prostu "vcs mygame.bin"). :)

Offline Xender

  • Użytkownik

# Grudzień 18, 2014, 21:33:30
Odpalaj w kontenerze? Albo może nawet w VMce, jeśli Dockerowi/LMCTFY/etc. nie ufasz :)
Aż tak mi się nie chciało. No i obecnie odpalać w ogóle nie muszę, co jest najlepszą opcją. ;)

Wygląda jak uboższa wersja Yeomana bez wsparcia community ;)
Chodzi Ci o to: http://yeoman.io/?

Z tego co widzę, to jest dla webappek, i chyba byłoby strzelaniem z armaty do komara.
A to community wygląda coś dziwnie...

bootstrap.zsh nie ma nic wspólnego z Twitterowym CSS ani webappkami w ogóle, tak samo jak kickstart.zsh nie miałoby nic wspólnego z crowdfundingiem. ;)

Ma utworzyć folder, skopiować plik lub kilka i opcjonalnie zainicjalizować repo gita. W sumie w wypadku szablonów jednoplikowych dorobię jeszcze opcję do otworzenia pliku przez $EDITOR.

Ciężko by było, bo jak coś się już udostępnia, to zwykle czytelnicy oczekują minimum wytłumaczenia czy dokumentacji. A tej ostatniej oczywiście brak. :)
Możesz dopisać dla przyszłego siebie, albo wrzucić na zasadzie Linusowego backupu. :)

Offline kubx

  • Użytkownik
    • Kanał YT

# Grudzień 18, 2014, 23:23:49
Nie, chociaż można by było. Tum bardziej że jedno swoje Atari 2600 przerobiłem tak, by można było uploadować na nie binarki przez kabel USB (odpalając po prostu "vcs mygame.bin"). :)

Napisz coś więcej na ten temat. Harmony czy jakiś własny sprzęt?
BTW Twoje demka na VCS wymiatają.

Offline Krzysiek K.

  • Redaktor
    • DevKK.net

# Grudzień 19, 2014, 15:38:12
Cytuj
Możesz dopisać dla przyszłego siebie, albo wrzucić na zasadzie Linusowego backupu. :)
Tyle że mój obecny ja wnioskuje, że skoro potrafi zrozumieć kod napisany przez mojego przeszłego ja, to i mój przyszły ja zrozumie kod napisany przez mojego obecnego ja.

W każdym bądź razie napisanie dokumentacji "dla siebie" to słaby argument, bo zrozumienie swojego kodu po latach i tak trwa krócej, niż napisanie porządnej dokumentacji teraz.

Cytuj
Napisz coś więcej na ten temat. Harmony czy jakiś własny sprzęt?
Harmony mam, ale nie miałem jakoś szczęścia z uruchomieniem trybu developerskiego (upload przez USB). Poza tym cart nie jest w stanie fizycznie zresetować konsoli (no, chyba że zrobić zwarcie na zasilaniu). Posadziłem więc płytkę STM32F3 Discovery (SoC ARM Cortex-M3 72MHz 256kB Flash 40kB RAM) na płytce uniwersalnej i zamontowałem do Atari. Całość podpina się od spodu w port kartridża plus dodatkowo jeden kabelek do układu resetu (żeby Discovery) mogło resetować konsolkę kiedy tylko chce. Na owej płytce uniwersalnej znajduje się trochę diod i rezystorów, co by ograniczyć prądy i napięcia (konsolka to 5V NMOS, a ARM jest zasilany 3.3V i nie wszystkie porty tolerują 5V). Do tego trochę kodowania w assemblerze ARM co by się wyrobić z emulacją kartridża i gotowe. :)

Offline kubx

  • Użytkownik
    • Kanał YT

# Grudzień 19, 2014, 18:27:14
Posadziłem więc płytkę STM32F3 Discovery (SoC ARM Cortex-M3 72MHz 256kB Flash 40kB RAM) na płytce uniwersalnej i zamontowałem do Atari. (...)
Ciekawa sprawa, sam na wakacjach odkurzyłem mojego klona 2600, zamontowałem mu normalne wyjście kompozytowe A/V (a było z tym dużo problemów, bo dokumentacji brak).
Mimo iż konsola ma wypalone kilkadziesiąt gier na mask romie to i tak chciałem zrobić symulator eproma na ARMie jak Ty. Nie wiedziałem jednak czy ARM poradzi sobie z takim zadaniem, szczególnie gdy musi emulować jakiś mapper, a FPGA czy CPLD nigdy nie ruszałem.
Całość jest napisana z użyciem cycle countingu czy może wykorzystałeś w jakiś sprytny sposób wbudowane DMA i przerwania?
Fajnie byłoby gdybyś podzielił się kodem (no chyba że jest już na jakimś Githubie).
« Ostatnia zmiana: Grudzień 19, 2014, 18:29:38 wysłana przez kubx »

Offline Krzysiek K.

  • Redaktor
    • DevKK.net

# Grudzień 19, 2014, 19:59:01
Cytuj
zamontowałem mu normalne wyjście kompozytowe A/V (a było z tym dużo problemów, bo dokumentacji brak).
Fakt, bez oscyloskopu może być ciężko. Sam też miałem nieco przebojów, bo zawziąłem się żeby zrobić A/V moda według własnego pomysłu (na CMOSach, żeby nie musieć usuwać modulatora RF).

Cytuj
Nie wiedziałem jednak czy ARM poradzi sobie z takim zadaniem, szczególnie gdy musi emulować jakiś mapper, a FPGA czy CPLD nigdy nie ruszałem.
Ja wiedziałem o tyle, że mam też Harmony Cart, który robi dokładnie to samo i ma procek ARM 72MHz. Co więcej, emuluje nawet custom chip z Pitfall II, więc się da. :)

Cytuj
Całość jest napisana z użyciem cycle countingu czy może wykorzystałeś w jakiś sprytny sposób wbudowane DMA i przerwania?
Żaden cycle counting. ARM chodzi i w kółko testuje szynę adresową, a jak tylko zobaczy stan wysoki na A12, to podkłada dane (z ewentualnym bank switchingiem). Na potrzeby bank switchingu testuję AND dwóch odczytów linii adresowych, żeby przypadkowe szpilki nie zmieniały banku. No i całość napisana tak, żeby jak najszybciej działała.

Cytuj
Fajnie byłoby gdybyś podzielił się kodem (no chyba że jest już na jakimś Githubie).
Sam kod raczej bez opisu sprzętu itp. będzie mało przydatny.

Offline Krzysiek K.

  • Redaktor
    • DevKK.net

  • +1
# Grudzień 22, 2014, 13:04:41
OK, wydzieliłem offtop do wątku Na jakich systemach prowadzicie development? Przypadek czy wybór?

Oryginalny temat wątku "jest oskryptowane" był zbyt interesujący, żeby zostawić taki hijack. :)

Offline Xender

  • Użytkownik

  • +1
# Grudzień 25, 2014, 13:45:45
Taki oto skrypt, który mam w środowisku graficznym podłączony pod Mod4-Shift-z:
(Mod4 - AKA "klawisz Windows")
firefox "https://en.wiktionary.org/w/index.php?search=$(xsel -o)&title=Special%3ASearch&go=Go"
Gdzie xsel -o wypluwa zawartość zaznaczenia X11 (ten mniej upierdliwy schowek (choć przydają się oba ;) )).

Czyli wyszukanie słowa zaznaczonego w dowolnej aplikacji w Wiktionary.

Na windzie kiedyś popełniłem coś podobnego w AutoIT (chyba, może to był AutoHotKey), po prostu dodatkowym krokiem było na początku zasymulowanie wciśnięcia ctrl-c, a dalej podobnie (tylko, że słownikiem był chyba EDICT).

Offline aphity

  • Użytkownik

# Grudzień 25, 2014, 15:07:11
A ja podpatrzyłem ostatnio w pracy taki skrypt do .bashrc:

Kod: (bash) [Zaznacz]
reset=$(tput sgr0)
red=$(tput setaf 1)
green=$(tput setaf 2)
yellow=$(tput setaf 3)
dark_blue=$(tput setaf 4)
pink=$(tput setaf 5)
cyan=$(tput setaf 6)

function show_repo_type {
  git branch > /dev/null 2> /dev/null && echo '[git]' && return
  svn info > /dev/null 2> /dev/null && echo '[svn]' && return
  echo ''
}

function parse_git_branch {
  git branch --no-color 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/(\1)/'
}

function parse_git_status {
  noupdated=`git status --porcelain 2> /dev/null | grep -E "^ (M|D)" | wc -l`
  nocommitted=`git status --porcelain 2> /dev/null | grep -E "^(M|A|D|R|C)" | wc -l`

  if [[ $noupdated -gt 0 ]]; then echo -n "*"; fi
  if [[ $nocommitted -gt 0 ]]; then echo -n "+"; fi
}

export PS1="$PS1 \[$reset$cyan\]\$(show_repo_type)\[$yellow\]\$(parse_git_branch)\$(parse_git_status)\[$reset\]: "
Wynik: do prompta doklejony jest rodzaj aktualnie otwartego repozytorium (o ile aktualny katalog zawiera repo), a w przypadku gita podaje nazwę gałęzi i status indeksu.