2022-01-11
Jeśli do przetworzenia jest dużo danych tekstowych i trzeba je np przefiltrować (coś w stylu polecenia grep). W takim przypadku przetwarzanie pliku przez Import-CSV albo Get-Content może być nieoptymalne, wolelibyśmy przetwarzać plik linia po linijce i … z pomocą mogą przyjść metody .NET
Poniższy przykład pochodzi z Reading And Writing To Files · Powerstart to Powershell reference book (dewin.me)
$path = "c:\d\myfile.txt"
$stream = [System.IO.StreamReader]::new($path)
while( -not $stream.EndOfStream) {
$value = [int]($stream.ReadLine())
if (($value%10000) -eq 0) {
write-host $value
}
}
$stream.close()
Korzystając z klasy System.IO.StreamReader otwieramy plik, następnie przetwarzamy go aż do osiągnięcia końca pliku (while not end of stream) i przy każdym wykonaniu pobieramy jedną linijkę tekstu przez ReadLine(). Jeśli trzeba by było pobierać więcej danych w każdym kroku – można to zmienić.
Plik jest fizycznie odczytywany linia po linii z dysku, więc użycie pamięci przez program będzie zoptymalizowane.
2022-01-09
Jeśli znalazł się ktoś miły i zasponsorował Ci dostęp do subskrypcji Azure, wysyłając Ci tzw. Azure Pass, to możesz chcieć zweryfikować ile kasy zostało jeszcze w tej subskrypcji. Zrobisz to łatwo wchodząc na stronę:
https://www.microsoftazuresponsorships.com/Usage
Stronka pozwoli wybrać subskrypcję (jeśli jesteś naciągaczem i masz ich kilka),

a potem na ładnym grafie pokaże jak bardzo jesteś rozrzutny/a

2022-01-01
Objawy:
Bez specjalnego powodu Outlook przestal się uruchamiać. Po kliknięciu ikony pojawia sie ekran „przetwarzanie” i okienko wisi w nieskończoność
Obejście/rozwiązanie:
Podobno w pewnych wersjach tak się może zdarzyć… dlatego docelowym rozwiązaniem powinna być aktualizacja. Jeśli jednak chcesz, żeby po prostu Outlook wystartował, to spróbuj takiej sztuczki:
- Zamknij wszyskie procesy Outlooka (CTRL+Shift+Escape i w zakładce szczegóły pozamykaj wszystkie procesy outlook)
- Na pulpicie utwórz skrót do programu Outlook. We właściwościach skrótu ustaw, aby program startował w zmaksymalizowanym oknie.
- Gotowe – uruchom Outlooka – powinien się tym razem uruchomić 😉
A oto propozycje od Microsoft:
https://docs.microsoft.com/en-US/outlook/troubleshoot/performance/outlook-2016-hangs-at-processing
2021-12-26
Zwykle, kiedy chcemy uruchomić interpreter Pythona, to uruchamiamy komendę
python
Na Ubuntu domyślnie i owszem jest zainstalowany Python, ale nie pod domyślną nazwą „python”. Żeby uruchomić pythona należałoby napisać
python3
Taka konwencja bieże się z tego, że python był domyślnie instalowany na systemach linux jeszcze dawno temu, kiedy jedyną dostępną wersją był python2. Potem pojawił się python 3, ale nazwa „python” była już zajęta. Nowa wersja była więc dostępną pod nazwą python3. No i w sumie dobrze. Można było pracować z pythonem 2 wpisując python lub python2 oraz z pythonem 3 wpisujac python3.
Jeśli choć trochę znasz zasady pracy z Linuxem, to możesz powiedzieć, że żeby python3 byl dostępny pod nazwą python, to wystarczyłoby stworzyć dowiązanie symboliczne o nazwie python wskazujące na plik python3.
Możnaby było, ale… .w Ubuntu mamy do dyspozycji program update-alternatives, który pozwala dokładnie określać jaki program ma się uruchamiać jako odpowiednik pewnej wpisywanej komendy. Można więc spowodować aby po wpisaniu python uruchamiał się python3. Wystarczy do tego jedna komenda:
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 1
A jeśli temat alternatywnych konfiguracji jest dla Ciebie ciekawy, to zajrzyj tu:
How to Use update-alternatives Command on Ubuntu
2021-12-26
No właśnie, czy Linux jest prosty? Podejrzewam, że operacja wyrostka robaczkowego jest prosta, ale tylko dla doświadczonego chirurga. Jeśli bierzesz się za cos po raz pierwszy, to będzie trudno. Spróbuję tu opisać kilka rzeczy, które powinne być proste, a tymczasem… oceń sam/a
Poniższy opis nie jest manualem na temat tego jak w Ubuntu Desktop włączyć tryb hibernacji po zamknięciu klapki laptopa, to po prostu zbiór czynności, które wykonałem u siebie, żeby to wszystko razem w końcu zadziałało, bo na początku nie chciało.
Hibernacja w Linuxie wykorzystuje swap-a. Zgodnie z najnowszymi zaleceniami, jeśli komputer dysponuje dużą ilością pamięci, to swap może być mały. BŁĄÐ. Jeśli chcesz skorzystać z hibernacji, to swap musi pomieścić całą pamięć RAM, więc musi być duży. Na moim systemie mam 8 GB RAM, domyślny swap miał rozmiar 2GB, więc zmieniłem konfigurację na wykorzystanie 10 GB na swap.
Mam również wrażenie, że ów swap nie może być plikiem swap znajdującym się gdzieś w systemie plików, tylko że powinna to być osobna partycja.
Wyłączenie swap-a w pliku:
sudo swapon --all
pokazuje, jaki swap aktualnie jest dostępny (u mnie 2 GB). Jeśli chcesz sprawdzić jaka część swapa jest wykorzystywana obecnie na systemie, to użyj
grep -i swap /proc/meminfo
i życzę wyniku wskazującego, że swap nie jest używany Czytaj dalej »
2021-12-13
Dobrym zwyczajem jest zmieniać hasło od czasu do czasu. Dlatego administratorzy wymuszają na użytkownikach regularne zmiany, np co 30 lub 90 dni. A co jeśli się wybierasz na dłuższy urlop i zastanawiasz sie, czy po powrocie uda ci się zalogować? Wystarczy sprawdzić, kiedy hasło ma wygasnąć:
Jeśli trzeba sprawdzić hasło użytkownika domenowego uruchom polecenie
net user <nazwa_uzytkownika> /domain
jeśli mowa jest o użytkowniku lokalnym wystarczy pominąć opcję /domain:
net user <nazwa_uzytkownika> /domain
W wyniku odszukaj „Password expires”:
...
Password last set 18-10-21 07:57:50
Password expires 18-11-21 07:57:50
Password changeable 19-10-21 07:57:50
Password required Yes
User may change password Yes
...
Last logon 26-07-21 08:35:28
...
2021-12-12
Zainteresowanym polecam udział w przyszłych edycjach konferencji PostgreSQL Build. Ostatnia w jakiej uczestniczyłem to europejska edycja 2021.
https://www.postgresbuild.com/agenda
Jak to na konferencjach bywa, było poruszanych mnóstwo tematów. 2 dni pełne wykładów podzielonych na kilka równoległych ścieżek. Organizatorzy przyjęli koncepcję nagrywania sesji wcześniej i odtwarzania ich w trakcie konferencji. Wielką zaletą konferencji jest to, że po każdej sesji wykładowej odbywała się sesja Q&A, gdzie było można na żywo zadawać do prowadzących pytania. Pomysł nagrywania sesji wcześniej daje też to, że demonstracje są udane. Może trochę brakuje „dreszczyku emocji”, kiedy prowadzący demonstrację musi na bieżąco rozwiązywać problemy, ale… co tam – fajnie, że w konferencji można uczestniczyć z domu i fajnie, że można zadawać pytania do samodzielnie wybranych sesji.
Jedna z sesji spodobała mi się szczególnie. Pełna dynamiki, humoru, pytań i odpowiedzi sesja Haki Benita pod tytułem „Mniej znane funkcjonalności PostgreSQL” (Lesser Known PostgreSQL Features). Zobacz zresztą bloga autora – ile kreatywności wymaga rozwiązanie konkretnych problemów i … koniec końców, jak proste te rozwiązania są:
https://hakibenita.com/postgresql-unknown-features