Język polski w Sentiment Analysis

Ucieszyłem się niedawno, że do Cognitive Services – Text API – Sentiment Analysis dodano obsługę języka polskiego. Preview bo preview, ale pierwsze koty za płoty.

Dzisiaj zrobiłem pierwsze próby wykorzystania, luźno inspirowane artykułem dotyczącym analizy emocjonalnej i klasyfikacji tekstów fabularnych. Continue reading “Język polski w Sentiment Analysis”

Data Lake Store Access – tips’n’tricks

Mam kilka rozgrzebanych wpisów, od wczesnego szkicu po prawie-finalne wersje, ale nie mogę się zebrać za ich wykończenie. Zatem na bezrybiu i rak ryba – krótko o tym jak klikać dostępy do Azure Data Lake Store (klikać – tzn. że robiłem to z Portalu, być może jest jakaś sprytniejsza, sympatyczniejsza opcja, jeszcze nie wnikałem).

Niezależnie czy dostęp chce się nadać “normalnemu” użytkownikowi czy aplikacji w AD (do autoryzacji service-to-service) robi się to tak samo.

Załóżmy, że mamy konto ADLS i w nim przykładową ścieżkę folderów: /pro/wojtek/blog/… Continue reading “Data Lake Store Access – tips’n’tricks”

Oh the irony…

Bloga ogarnęła pewna posucha, za co przepraszam. Przeciwności losu nie dały mi za bardzo dokończyć tego, co miałem zaplanowane. Obiecuję troszkę więcej aktywności w przyszłym tygodniu (community delivers!).

A tymczasem mała, niezbyt azurowa, za to cross-systemowa anegdotka. Postanowiłem zrobić lokalną kopię starego systemu napisanego w PHP i hostowanego gdzieś w Internetach na maszynie z linuksem.

Na początek zaznaczę, że jestem użytkownikiem Windows. Utworzyłem sobie pachnący nowością, pusty folder i rozpocząłem kopiowanie. Wszystko zgodnie z planem, aż do momentu gdy… “Plik o takiej nazwie już istnieje”.

W ciągu parunastu sekund przeszedłem od zaskoczenia, przez załamanie, po śmiech.

Etap 1) Irytacja. Co do licha, jak to istnieje?! Pusty folder!

Etap 2) Oświecenie z załamaniem. Nieeee, to niemożliwe… skrypty o “tej samej” nazwie, tylko dużą albo małą literą. W tym samym folderze. Rewelacja.

Etap 3) Śmiech. No nic, podamy inną nazwę i potem będziemy coś poprawiać. Jak to się tam nazywa? “checkunique.php”

The irony was strong with this one! 🙂

Nauka na przyszłość – nie zabierać się za legacy stuff w piątek 😉

Dziś klasyka – Storage i WebJobs

Tak się akurat złożyło, że ostatnio robiłem jakieś refactorowe zmiany i zwyczajne zmagania z tuningiem Storage i WebJobów wypełniały mi większość dnia. Tym bardziej, skoro jestem na bieżąco, przykuły moją uwagę posty z zasubskrybowanych blogów.

Najpierw Storage:

Super seria trzech artykułów o możliwościach Storage i best practices w programowaniu (ustawienia konkretnych parametrów dla konkretnych przypadków) oraz projektowaniu (np. partycjonowanie we wszystkich usługach Storage). Świetne artykuły, planuję wykorzystać niektóre rady. Continue reading “Dziś klasyka – Storage i WebJobs”

Niespodzianka powiększonej quoty

Na przełomie poprzedniego i bieżącego roku pierwszy raz miałem przyjemność (czy też coś w rodzaju przyjemności) przeprowadzać operację powiększenia quoty na jednej z usług, konkretnie na Notification Hub Namespace.

Ograniczenie stanowiła maksymalna liczba hubów, które można założyć w pojedynczym namespace (w przypadki Tieru Standard – 100). Potrzeba posiadania ponad 100 hubów może się wydać nieco dziwna, ale jednak jest realna. Przy specyficznej działalności wydawniczej w zakresie aplikacji mobilnych, nie jest to szczególnie trudne do osiągnięcia, zwłaszcza dla większych wydawnictw. Continue reading “Niespodzianka powiększonej quoty”

Fun with Functions – tanie schedulowanie

Jest taka usługa w Azure jak Scheduler. Usługa jak usługa – pozwala odpalać pewien zestaw akcji, zasadniczo przewidzianych pod kątem webjobów, via request HTTP (do tych ręcznie wywoływanych) albo via kolejka (do tych continuous) o zadanym czasie. Ma różne opcje i udogodnienia, ale ma też wady – przede wszystkim raczej proste ustawienie cyklu, ogarnia co prawda strefy czasowe, ale czas letni/zimowy już nie, w dodatku w opcji bezpłatnej wykonywać można najczęściej co godzinę. Continue reading “Fun with Functions – tanie schedulowanie”

Azure SQL i wyczerpanie connection pool size

“Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all pooled connections were in use and max pool size was reached.”

Dla bardziej doświadczonych ode mnie programistów pewnie nie ma to żadnej tajemnicy. Wiedzą co może powodować takie zachowanie, potrafią napisać kod, który będzie bezpieczny od takiego “efektu”. Z kolei administratorzy DB wiedzą bez wątpienia jak namierzyć i monitorować takie niebezpieczne sytuacje. Continue reading “Azure SQL i wyczerpanie connection pool size”