Running Blazor Web App

My web site is running on Linux/Apache server. So, I wanted Blazor Web App to run on that server too.

Developing Blazor app was quite easy and straight forward process but writing the right .htaccess file was not so easy. I searched the internet and found sample on Microsoft web pages (https://docs.microsoft.com/en-us/aspnet/core/blazor/host-and-deploy/?view=aspnetcore-6.0&tabs=visual-studio), but provided .htaccess file sample was not enough.

I think that running Blazor on Apache is interesting for others too, so here is .htaccess file I am using in production (just update string ‘sub-directory’ (2x) with correct directory path of your app on Apache file system).

Link to GitHub gist: Apache .htaccess file for running Blazor Web App (github.com)

<IfModule mod_headers.c>
    # Serve brotli compressed files if they exist and the client accepts brotli.
    RewriteCond "%{HTTP:Accept-encoding}" "br"
    RewriteCond "%{REQUEST_FILENAME}\.br" "-s"
    RewriteRule "^(.*)\.(js|json|css|dll|dat|blat|wasm)$" "$1\.$2\.br" [QSA]

    # Serve gzip compressed files if they exist and the client accepts gzip.
    RewriteCond "%{HTTP:Accept-encoding}" "gz"
    RewriteCond "%{REQUEST_FILENAME}\.gz" "-s"
    RewriteRule "^(.*)\.(js|json|css|dll|dat|blat|wasm)$" "$1\.$2\.gz" [QSA]
    
    # Serve correct content types, and prevent double compression.
    RewriteRule "\.css\.br$" "-" [T=text/css,E=no-brotli:1]
    RewriteRule "\.js\.br$"  "-" [T=text/javascript,E=no-brotli:1]
    RewriteRule "\.json\.br$"  "-" [T=application/json,E=no-brotli:1]
    RewriteRule "\.dll\.br$"  "-" [T=T=application/octet-stream,E=no-brotli:1]  
    RewriteRule "\.dat\.br$"  "-" [T=application/octet-stream,E=no-brotli:1]  
    RewriteRule "\.blat\.br$"  "-" [T=application/octet-stream,E=no-brotli:1]  
    RewriteRule "\.wasm\.br$"  "-" [T=application/wasm,E=no-brotli:1]  
    
    # Serve correct content types, and prevent double compression.
    RewriteRule "\.css\.gz$" "-" [T=text/css,E=no-gzip:1]
    RewriteRule "\.js\.gz$"  "-" [T=text/javascript,E=no-gzip:1]
    RewriteRule "\.json\.gz$"  "-" [T=application/json,E=no-gzip:1]
    RewriteRule "\.dll\.gz$"  "-" [T=T=application/octet-stream,E=no-gzip:1]  
    RewriteRule "\.dat\.gz$"  "-" [T=application/octet-stream,E=no-gzip:1]  
    RewriteRule "\.blat\.gz$"  "-" [T=application/octet-stream,E=no-gzip:1]  
    RewriteRule "\.wasm\.gz$"  "-" [T=application/wasm,E=no-gzip:1]  
    
    <FilesMatch "(\.js\.br|\.css\.br|\.json\.br|\.dll\.br|\.dat\.br|\.blat\.br|\.wasm\.br)$">
      # Serve correct encoding type.
      Header set Content-Encoding br
      # Force proxies to cache brotli & non-brotli
      Header append Vary Accept-Encoding
    </FilesMatch>
    
    <FilesMatch "(\.js\.gz|\.css\.gz|\.json\.gz|\.dll\.gz|\.dat\.gz|\.blat\.gz|\.wasm\.gz)$">
      # Serve correct encoding type.
      Header set Content-Encoding gzip
      # Force proxies to cache gzipped & non-gzipped
      Header append Vary Accept-Encoding
    </FilesMatch>
</IfModule>

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /sub-directory/
  RewriteRule ^index\.html$ - [L]
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule . /sub-directory/index.html [L]
</IfModule>

Elektronsko glasovanje

Včeraj sem se spet ujel v zanko elektronskih volitev in spet sem bil strogo proti in spet sem želel razložiti zakaj pa je to težko v par stavkih.

A navkljub vsemu bom v današnji kolumni poskušal zares na kratko in zares preprosto razložiti, zakaj smo računalničarji proti elektronskim volitvam. Pri razlagi ne bom uporabil nobenega strokovnega termina, temveč bom pisal z besedami, ki jih razume vsakdo. Ob tem pa bom veliko težav preprosto izpustil. Torej, težav je še mnogo več in tukaj bom izpostavil samo nekatere, ki pa so že dovolj, da sem strogo proti elektronskim volitvam.

Glasovanje od doma

Takoj lahko izločimo glasovanje od doma, iz domačega naslonjača, iz domačega računalnika. Glasovanje bi šlo iz mojega računalnika – preko interneta – na centralni strežnik. Glede na število vlomov in možnosti prestrezanja je ta opcija najslabša.

Protiargument so vedno – banke! Vsi že poslujemo z bankami preko interneta in vse je OK.

To je res. Vendar banka VE, kdo sem, in VE, kaj počnem. Pri glasovanju pa bi moral nekdo vedeti:

  • Da sem jaz in ne kdo drug (to bi šlo)
  • Da sem glasoval največ enkrat (to bi še šlo)
  • Kaj sem glasoval – no, tega pa ne sme vedeti – tega SPLOH ne sme vedeti (to pa ne gre več)

Glasovanje na volišču

Torej pridem na volišče in tam je računalnik, ki sprejme moj glas:

  • Kako naj vem, kakšna programska koda teče na tem računalniku?
    • Ja, odprtokodna, lahko jo pogledam – Super(!)
    • Kdo mi zagotavlja, da je na TEM računalniku programska oprema, ki sem jo jaz pogledal in sem z njo zadovoljen?
    • Vem, kar je digitalno podpisana in ima neko »HASH kodo«… Kaj pa je to? Rekel sem da ne bom uporabil strokovnih izrazov. Moja mama, ki glasuje, ve, kaj je to HASH koda?
  • Če sem zadovoljen s programsko kodo, kaj pa strojna oprema? Kaj, če programska koda sicer deluje OK in je ni nihče »popravljal«. Kdo mi zagotavlja, da se tisto, kar zapiše programska koda, potem res tudi zapiše na disk, in to NESPREMENJENO(!)?
    • Protiargument je list, ki ga dobim v roke in ga natisne računalnik. Ah, na listku je lahko napisano karkoli, računalnik lahko gor nariše sličico, pa sledenje še vedno ne pomeni, da je to res zapisal tudi na disk.

Tu se bom raje ustavil, saj bo stvar sicer predolga in je ne bo nihče bral.

Sedaj lahko imate še 100 protiargumentov. Pri vsakem protiargumentu pa se vedno vprašajte, koliko znanja bi moral imeti vsakdo, ki bi nadziral takšne volitve – VSAKDO!

Pri glasovanju z lističi pa imamo listke, zapečatene glasovalne skrinjice, predstavnike več političnih strank v ISTEM prostoru, in to je to. Temu lahko VSAKDO zaupa. In če mogoče ne zaupa nekemu konkretnemu volišču, je volišč po Sloveniji več 3000 in nekdo, ki goljufa, mora goljufati na 3000 voliščih z 10.000 udeleženimi ljudmi, ki razumejo glasovanje in vidijo lističe ter glasovalne skrinjice.

Ne hvala. Ostanimo pri listkih in 10.000 udeleženih ljudeh – takšnim volitvam najbolj zaupam, elektronskim volitvam ne bom zaupal nikoli, saj imam preveč znanja.

Gmail koledar zna pošiljati SMS-e

Danes me je opomnik koledarja spet zmotil. Seveda sem ga prekinil in potem pa nanj pozabil. Malce sem razmišljal, da bi mi zelo ustrezalo, če bi namesto klasičnega opomnika dobil raje SMS.

Ne bodi len! Seveda sem se takoj zagnal na internet in pogledal, katera aplikacija mi zna za opomnik poslati SMS. Malce iščem med aplikacijami in njihovimi cenami/zmožnostmi… nakar opazim omembo Google koledarja 🙂

In res! Google koledar lahko – med vsemi ostalimi možnostmi – kot opomnik pošlje tudi SMS in to seveda zastonj.

Kako vključiti SMS pošiljanje opomnikov?

  1. Zaženete aplikacijo Google koledar in v gornjem desnem kotu Nastavitve.
    gmail_sms1
  2. Med nastavitvami koledarja boste našli tudi ‘Mobilne nastavitve’
    gmail_sms2
  3. Tu izberete državo in vpišete vašo telefonsko številko ter zahtevate varnostno kodo
    gmail_sms3
  4. Google vam po SMS-u pošlje varnostno kodo, ki jo vpišete v spodnje polje in to je to.
  5. Sedaj lahko kot opomnike uporabljate tudi SMS-e
    gmail_sms4

Skupinsko delo ali pomoč na daljavo

Po daljši odsotnosti, vam bom v današnjem prispevku predstavil dve zelo uporabni spletni storitvi, ki vam lahko pomagata pri skupinskem delu in/ali delu na daljavo.

Osebno obe orodji uporabljam, kadar pomagam uporabnikom na daljavo oz. kadar se pogovarjamo po telefonu pa je potrebno zraven še kaj narisati in/ali napisati.

Skupinsko pisanje – MoPad

V kolikor se znajdete v situaciji, ko je potrebno nekaj zapisati, uporabniki pa so raztreseni po pisarnah ali celo mestih (državah 😉 ) lahko uporabite orodje MoPad (https://etherpad.mozilla.org/)

Uporaba orodja (spletne strani) je skrajno preprosta. Ko pridete na omenjeno spletno stran imate na izbiro dva gumba. Z enim odprete javno beležko z drugim pa lahko stvari še malce bolj omejite oz. ustvarite delovno skupino.

Ko torej odprete novo beležko, s tem dobite edinstven spletni naslov (URL), ki seveda vsebuje osnovno ime spletne strani, ter avtomatično generirano ime vaše beležke (npr: https://etherpad.mozilla.org/bxYEgcJ3RU)

Vse kar morate narediti je da uporabnikom oz. sodelavcem posredujete omenjen spletni naslov in vsi bodo takoj videli vašo beležko in lahko pisali vanjo.

skupinsko_delo_1

Kot lahko hitro vidite je zaslon razdeljen na 4 dele:

  1. Zgoraj imate orodja za preprosto urejanje besedila
  2. Večji del zaseda beležka, kamor lahko pišete
  3. Desno zgoraj lahko vsak uporabnik zapiše svoje ime in s tem dobi svojo barvo
  4. Desno spodaj pa lahko uporabniki tudi govorite »chatate«, ne da bi pri tem pokvarili besedilo v beležki

Skupinsko risanje – WhiteBoard Fox

Arhitekturno enakovredno orodje za risanje pa se imenuje WhiteBoardFox in domuje na naslovu (http://whiteboardfox.com/). Ideja je povsem enakovredna že predstavljeni, le da v tem primeru uporabniki ne vpisujemo teksta (no seveda ga tuli lahko), temveč skupaj rišemo.

Tudi uporaba je enakovredna. Odprete novo risalno ploščo (delavno tablo) in njen naslov posredujete ostalim. S tem se lahko tudi ostali pridružijo skupini in skupaj ustvarite skico.

skupinsko_delo_2

In še najlepše…

Ker vse deluje v spletnem brskalniku lahko orodji uporabljate tako na računalniku, kot tablicah, telefonih in ostalih napravah, ki so povezane v splet in imajo spletne brskalnike.

Spet DropBox

Že skoraj tri leta je minilo odkar sem opisal, tedaj še ne tako zelo znano, spletno storitev Dropbox. Ker je prispevek še vedno popularen (glede na statistko obiska) vam bom danes pokazal še kako iz, že teko zelo dobre storitve, mogoče iztisniti še več.

Ko si torej začnete uporabljati DropBox, slej ali prej želite kakšno sliko, datoteko, film… deliti tudi s kom drugim. Tedaj v DropBox-u izberete opcijo ‘Copy public link’ in storitev vam pove preko katere javne povezave bodo lahko tudi drugi uporabniki prišli do vaše datoteke.

V mojem primeru sem na splet dal sliko konja in v kolikor zahtevam povezavo, mi DropBox vrne tole: https://www.dropbox.com/s/oxg08i5gz04wnxp/horse.jpg?dl=0. Kot vidite je to navadna spletna povezava in če kliknete nanjo boste v brkljalnik naložili sliko konja.

Obstaja pa še ena opcija in sicer, da na konec povezave dodate ?dl=1, v tem primeru brkljalnik ne bo poskušal odpreti datoteke, temveč jo bo uporabniku vedno kar naložil (“dovnlovdal”; kot temu pravimo dandanes)

https://www.dropbox.com/s/oxg08i5gz04wnxp/horse.jpg?dl=1

 

Nov zakon o spletnih piškotkih

S  15. junijem je stopil v veljavo spremenjeni Zakon o elektronskih komunikacijah (ZEKom-1), ki zaostruje pravila glede uporabe spletnih piškotkov.

Spletni piškotki so majhne datoteke, ki se shranijo na računalnik obiskovalca spletne strani. Skrbijo za boljšo uporabniško izkušnjo, spremljanje statistik, napredno spletno oglaševanje in še marsikaj.

Po novem zakonu smo upravljalci spletnih strani dolžni opozoriti obiskovalca o piškotkih, ki jih nalagamo na vašo napravo, s katero se povezujete na splet.

Spletišče Matjazev.NET sestavljajo štirje sklopi:

  • Osnovno spletišče Matjazev.NET, s splošnimi informacijami o podjetju, nasveti, zastonj in plačljivo programsko opremo, knjigami….
  • Blog, ki ga trenutno berete
  • Forum, kjer najdete brezplačno pomoč pri uporabi MS Pisarne
  • Spletišče MEXCEL.biz, kjer najdete brezplačne dodatke za vaš MS Excel.

Nekoč smo na omenjenih spletiščih uporabljali programsko opremo Google Analytics, ki nam je omogočila spremljati koliko obiskovalcev se ustavi na naših spletnih straneh ter tudi, kaj vas najbolj zanima.

Z uveljavitvijo tega zakona je omenjena storitev postala brezpredmetna, saj jo ima vsak obiskovalec možnost izključiti in tako postanejo njeni rezultati napačni oz. nenatančni in nimajo več smisla.

S tem razlogom na spletišču ne uporabljamo Google Analytics programske opreme in tudi nobene druge programske opreme s pomočjo katere bi vas kakorkoli spremljali.

Piškotki, ki jih na naših spletnih straneh uporabljamo

MExcel.BIZ

Na spletišču Mexcel.biz uporabljamo dva piškotka, ki sta za delovanje strani nujno potrebna, zato sta dovoljena tudi v novem zakonu o elektronskih komunikacijah:

  • PHPSESSID je piškotek, ki nam omogoča vzdrževanje seje in je standarden PHP piškotek
  • lang je piškotek, s katerim si zapomnimo vašo izbrano jezikovno različico in z njegovo pomočjo se na stran vedno vrnete v izbranem jeziku.

Ker sta oba piškotka dovoljena vas za posebno dovoljenje ne sprašujemo!

Matjazev.NET

  • PHPSESSID je piškotek, ki nam omogoča vzdrževanje seje in je standarden PHP piškotek
  • PREF je piškotek, ki vam omogoča iskanje po spletišču in uporablja google tehnologijo iskanja

Na spletišču pa imate tudi možnost branja in pisanja komentarjev, kar nam zagotavlja tehnologija Disqus, ki pa uporablja lastne piškotke in za uporabo slednjih vas posebej vprašamo.

Matjazev.NET/blog

Na spletišču pa imate možnost deljenja vsebine, kar nam zagotavlja tehnologija ShareThis, ki uporablja lastne piškotke in za uporabo slednjih vas posebej vprašamo.

MExcel.BIZ/forum

Spletišče teče na tehnologiji phpBB3, ki za delovanje potrebuje piškotke, saj brez njih ne more teči, zato vas za uporabo slednjih posebej ne vprašamo.


Skupno delo

Kot že ptički čivkajo je Microsoft v novi različici MS podprl skupinsko delo več uporabnikov na istem dokumentu. Osebno se mi to zdi uporabna možnost in dodatek novi pisarni ki pa ima en velik problem… Vsi ljudje še namreč nimate najnovejše MS pisarne… Pa tudi tako hitro je še ne bodo/boste imeli.

V vmesen času pa lahko podobno – seveda zelo okrnjeno – a vseeno zelo uporabno možnost skupinskega urejanja dokumenta izkusite povsem zastonj in povsem internetno – torej brez potrebe kakršne koli instalacije na lokalni računalnik- kar hkrati pomeni tudi uporabo z različnimi napravami in različnimi operacijskimi sistemi.

Programska oprema se imenuje MoPad in nastaja pod okriljem Mozzila fundacije, dosegljivo pa je na spletni strani https://etherpad.mozilla.org/.

Preizkusite ne bo vam žal…

Iz PDF-a v MS Pisarno

Današnji prispevek bo kratek a uporaben. Mnogo uporabnikov me namreč sprašuje kako lahko določen PDF dokument pretvorijo v Word ali Excel oz. v Word-ovo ali Excel-ovo datoteko.

Sedaj je to preprosto: Free PDF Creation Online je namreč spletna stran, kamor pošljete PDF datoteko in po pošti vam vrnejo Excelovo ali Wordovo datoteko in to zastonj :)..

Seveda pa se morate zavedati določenih omejitev in problemov z obliko, slovenskimi znaki ipd… A nekaj je le 😉

Skrita kopija e-pisma (SKP, BCC)

Skrita KoPija (SKP) elektronskega pisma (oz. BCC – Blind Carbon Copy), je posebno polje v elektronski izmenjavi podatkov, ki vam omogoča da pošljete elektronsko pošto nekemu naslovniku, ne da bi drugi naslovniki to vedeli.

Pri uporabi elektronske pošte imate tako na voljo 3 polja:

  • Za (To) je najpogosteje uporabljeno in tudi edino mora biti izpolnjeno. Vanj seveda vpišete, komu želite elektronsko pošto poslati.
  • KP (Cc) je polje, kamor naštejete vse ljudi, ki jim želite poslati kopijo tega elektronskega sporočila. Iz praktičnega stališča ni pravzaprav nobene razlike, ali vi elektronsko pošto ljudem pošiljate tako, da jih vse naštejete v polje Za ali pa enega v Za in vse ostale v KP.
  • SKP (Ccc) pa je, kot že omenjeno, posebno polje, saj bodo ljudje, ki so zapisani v polje SKP ravnotako dobili kopijo elektronske pošte, le da ostali prejemniki tega ne bodo vedeli. Ko namreč vi ljudi naštejete v polja (Za ali KP) vsi vidijo, kdo vse je dobil elektronsko pošto.

Zakaj torej uporabljati SKP

Polje je v originalu namenjeno za izmenjavo elektronske pošte, kjer ne želite, da prejemnik ve, da ste to pošto poslali še komu. V praksi se to največkrat uporablja, kadar želite obvestiti tudi nadrejenega o komunikaciji, a ne želite, da prejemnik to ve.

Kje v Outlook-u 2007/2010 pa se to polje nahaja?

🙂 Da; ker je uporaba tega polja v komunikaciji vsaj malo sporna (ni pošteno do naslovnikov!) so ga v Outlooku malce skrili. Prikažete ga tako, da se v traku postavite na zavihek Možnosti in pritisnete gumb Prikaži >>Skp<<.