Lepsze wrogiem dobrego

Na dobre nastał Ms Office 2013. Funkcjonalność nowych wersji zgubiłem gdzieś w okolicach 2007, ale z tym da się żyć. Rozumiem też, że nowe wersje są konieczne z wielu powodów, głównie finansowych. Nie zmienia się jedynie procent wykorzystania możliwości kolejnych Officów przez „standardowego użytkownika”, który od wersji 95 oscyluje w granicach 1.
Nie o tym jednak jest ten wpis.
Cały czas staram się wskazywać klientom, że rozwiązania IT takie jak Ms Office to nie tylko edytor do napisania listu motywacyjnego, ale cały ekosystem, który odpowiednio użyty potrafi drastycznie zwiększyć wydajność każdej instytucji. Cały czas też spotykam się z tzw. „barierą Crtl-C/Crtl-V” – która jasno pokazuje, że te dwa skróty klawiszowe są maksymalnym pułapem wykorzystania funkcjonalności najlepszego programu biurowego poprzez „zwykłego użytkownika”. Fakt, że w roku 2014 wykorzystanie śledzenia zmian przy pracy nad dokumentem wciąż jest ewenementem wywołuje myśli samobójcze w działach IT i nie tylko ale też nie jest tematem tego wpisu.
Do rzeczy zatem. Na nic moje starania, gdy odbijam się od wściekłego użytkownika, który nie może pracować, bo „pan informatyk zainstalował nowe i zepsuł”  Potwierdzone, co prawda jedynie moim przeczuciem statystyki awaryjności Offic’a 2013 a ZWŁASZCZA Outlooka z ostatniego pół roku, które dotknęły wszystkich – od domowych użytkowników wersji „zgodny z oryginalną” po korporacje z domeną i tych z Officem 365 mówią jedno – coś poszło nie tak.
Zwiechy przy ładowaniu, przycinanie się, aż po całkowitą niemożność załadowania profilu wszystko po zainstalowaniu Office’a 2013. Dotyczy nie tylko Outlooka, ale także pozostałych programów.
Zanim dotrą łatki, rozwiązanie które działało w ok 95% przypadków.

Disable hardware acceleration

1. Run regedit (Win + R ; „regedit”)
2. Browse to HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Common
3. Create a New Key and name it „Graphics”
4. Select Graphics, right-click on the right panel and create a New DWORD (32-bit) Value and name it DisableHardwareAcceleration.
5. Enter Value data as 1

Nie mam bladego pojęcia, co robi ten wpis w rejestrze, ale działa.

obsługa błędów w PS

obsługa błędów jest niezmiernie istotna – nie tylko ze względu za komunikaty na ekranie [choć i to jest często ważne] ale bardziej na zastosowanie konkretnej akcji zależnie od tego co się dzieje. najczęściej oczywiście stosuje się try/catch, z pewnymi niuansami, o których trzeba pamiętać i o czym już pisałem. są niemniej przypadki, w których obsługa błędów nie jest taka trywialna zwłaszcza, jeśli korzysta się wewnątrz skryptu z zewnętrznych narzędzi/aplikacji. dla tego też zawsze bronię się rękami i nogami przed niekoszernymi rozwiązaniami, czasem nadpisując wiele linii kodu, byle tylko nie korzystać z zewnętrznych aplikacji. bywa jednak, że nie ma wyjścia.

takim przypadkiem jest scenariusz, w którym trzeba podmapować rejestr użytkownika aby wykonać jakieś operacje. gdzieś tam udało mi się dogrzebać do artu, w którym ktoś wykonywał ciężkie akrobacje programistyczne, aby obsłużyć to 'natywnie’ – czyli bez 'reg.exe’, to już jednak za dużo. nie ma więc wyjścia – trzeba skorzystać z 'reg load’. problem polega na tym, że reg load nie zwraca konkretnego błędu/informacji. próbowałem przypisywać jako zmienną, przekierowywać do pliq… pustka.

#$ntuserdatPath wskazuje na położenie ntuser.dat np. \\comp\c$\users\user\ntuser.dat
$err=reg load "HKLM\__temp" "$ntuserdatPath"
echo $err #pustka
reg load "HKLM\__temp" "$ntuserdatPath"|out-file err.log
gc err.log #pustka

chwilkę mi zajęło, zanim przypomniałem sobie jak to się robiło za króla świeczka – i ta metoda działa tak samo obecnie. a chodzi konkretnie o to, że 'reg’ wrzuca wszystko na standardowy strumień błędów, więc żeby go przechwycić, trzeba go przekierować na standardowy strumień wyjścia:

#$ntuserdatPath wskazuje na położenie ntuser.dat np. \\comp\c$\users\user\ntuser.dat
$err=reg load "HKLM\__temp" "$ntuserdatPath" 2>&1
echo $err.exception

#w PS2.o jest to źle obsługiwane i trzeba robić tak:
[string]$err=reg load "HKLM\__temp" "$ntuserdatPath" 2>&1
echo $err

jak widać cała tajemnica tkwi w „2>&1”. więcej szczegółów a propos oznaczeń strumieni można przeczytać w about_redirection.

eN.

 

 

 

Odrobina kultury

8 Marca miało miejsce coroczne rozdanie nagród branży reklamowej w jednym z najważniejszych polskich konkursów – KTR: http://www.ktr.org.pl/nagrody-ktr/

Jest to wydarzenie stricte branżowe, ale wpis o nim na w-files pojawia się z dwóch powodów:

1. Najwyższe wyróżnienie, tzw Grand Prix zostało przyznanie nie za wypasiony film reklamowy , czy elektryzującą kampanie, ale za akcje związaną tylko z internetem.Pomijając tą ciekawostkę, pomysł, który wygrał był naprawdę zajebisty, WARTO przeczytać wywiad z nagrodzonymi (fajne chłopaki btw):
http://nowymarketing.pl/a/3297,alek-frydrych-i-mateusz-zdanko-zdobywcy-grand-prix-ktr-2014-nic-na-sile-wykopowicze-sa-wyjatkowo-wyczuleni-na-tandete

2. Wśród wielu kategorii/podkategorii w których przyznawane są nagrody  takich jak film, radio, druk, desing, mamy specjalizacje związane np. tylko z reklamami w grach, w mediach społecznościowych czy ilustracje webowe. Jest to o tyle istotne że jeszcze kilka lat temu nikt o tym nie myslał, a 10 lat temu reklama to była tylko telewizja, prasa i outdoor.
Ot taki kolejny element, który pokazuje, że cyfryzacja nie dotyczy tylko obiegu dokumentów, ale całego naszego życia. I stawiam wydajność nowego GTX Titan przeciwko CPU z pegasusa że jeszcze bedąc w pełni sił witalnych, dożyjemy tak wyczekiwanej, nie tylko przez Nexora ery posthumanizmu…

 

jeszcze lepszy dowcip

spróbuję przebić Daro z dowcipem.

migrujemy userów. dzwoni jeden i mówi, że dostał komunikat migracyjny na dziś, żeby zostawić stację włączoną na noc, bo komputer będzie przenoszony. i ten pan dzwoni się dowiedzieć, czy jak weźmie komputer do domu, ale zostawi stację doqjącą, to czy to wystarczy…

i przy okazji stara historia helpdeskowa od chłopaków: dzwoni pani bardzo poruszona i zgłasza, że … nie działa jej ta wysuwana podstawka na kawę…

ehhhh… średniowiecze.

eN.

Need Backup?

Chmura. Teraz wszystko w chmurze backup też. Pomijając kwestie że sam sprzedaje taki produkt, to jest drogie.

Było

Kilka tygodni temu wyszedł dropbox dla firm:
https://www.dropbox.com/business/pricing

Polecam sie zapoznac i w szczególności zwrócić uwagę na trzy opcje:

  • Nieograniczone odzyskiwanie plików
  • Nielimitowane historia wersji wszystkich plików
  • Miejsce: tyle ile potrzebujesz

Wygląda to na usługe BEZ LIMITU pojemności. za około 250 zł netto miesiecznie – to minimalna stawka: 15$ dla 5 użytkowników.
Co imho oznacza na chwile obecną zabicie rynku. Jeśli macie lepsze oferty. Kontrargumenty – jestem ciekaw.
Na chwilę obecną nie ma możliwości stania się reselerem w EU, pożyjemy, zobaczymy.

 

konQrs WGUiSW

zgodnie z zapowiedziami – po 3ciej części mini-serii dotyczącej PowerShell na WGUiSW rozpoczyna się konqrs, w którym do wygrania będzie na szczurach pędzona woda ognista (12to letni chivas). zasady konkursu są proste:

  • celem jest napisanie funkcji efektów dla silnika PowerPresentation czyli:
    • trochę zabawy nad niekonieczną rzeczą
    • dobry powód do nadrobienia zaległości z PS albo pouczenia się trochę
  • oceniane będą:
    • poprawność – czy funkcja napisana jest poprawnie, czyli ma odpowiednie deklaracje, opisy itd
    • fajność – czyli czy efekt robi wrażenie
    • kompatybilność – będzie wymagał możliwie mało zmian w kodzie głównym *[dalej napiszę o co cho]
  • oceniał będę ja, czyli nExoR, na podstawie subiektywnej oceny.
  • kod PP wraz z prezentacjami WGUiSW jako przykłady można zassać stąd.
  • efekty należy tworzyć jako oddzielne pliki zawierające funkcje efektów z podwójnym rozszerzeniem – .ppe.ps1 . takie pliki są automatycznie dot-soursowane przez PP
  • kod można przesyłać na mój adres nexorek[at]gmail.com do końca maja
  • wyniki zostaną podane na kolejnym WGUiSW – o3.o6.2o14

PowerPresentation to skrypt, który wyświetla prezentacje w hoście PS – ci, którzy uczestniczyli we WGUiSWach mieli okazję go zobaczyć w działaniu. na napisanie go nie poświęciłem jakoś specjalnie dużo czasu – chodzi o zabawę, więc proszę się nie czepiać kodu. nie pisałem modułu, ponieważ wymagało by to instalacji czy innych wynalazków a chodzi o to, żeby prezentację można było łatwo uruchomić na dowolnym kompie z PS np. z pendrive’a.

PP wykorzystuje prosty plik XML jako wsad prezentacyjny. opis podstawowych tagów znajduje się helpie do funkcji – są to tak nieskomplikowane rzeczy, że nie chce mi się tego opisywać w szczegółach. w razie co zawsze można napisać do mnie maila do wyjaśnię.

domyślam się, że ze względu na prymitywizm kodu niektóre pomysły mogą być nierealizowalne lub wymagałyby potwornej akrobatyki. dla tego dozwolona jest modyfikacja kodu PP ale:

  • zmiany powinny być możliwie niewielkie
  • cała reszta musi działać nawet po zmianach – czyli albo nie mogą one wpłynąć na działanie standardowych funkcji albo trzeba je również poprawić.

wszystkie działające efekty zostaną opublikowane (:

zapis sesji WGUiSW dostępny jest na http://wiki.wguisw.org/ w ramach spotkań 59-61.

DOBREJ ZABAWY! =^.^’=

eN.

 

WTF is OFS?

takie drobne ciekawostki w PowerShell… weźmy prosty operator join:

$array="W","T","F"
$str=$array -join ''
$str
#output: WTF

okazuje się, że można prościej:

$str=[string]$array

druga ciekawostka, to tajemnicza zmienna $ofs:

$ofs='-'
$str=[string]$array
$str
#output: W-T-F

ciekawe, co? ofs to Output Field Separator – globalna zmienna, która definiuje znak stosowany właśnie przy konwersjach tablicy do stringa. zmienna jest trwała dla całej sesji, czyli każda następna zmiana będzie z niej korzystać.

eN.