lauantai 31. joulukuuta 2016

Miten jakaa Google Drive dokumentti ilman editointia

Siis miten jakaa dokumentti niin että katselija näkee pelkän dokumentin sisällön ilman editoria. 

Tämä olisi monesti tarpeellista, esim. silloin kun omilla verkkosivuilla halutaan ilmoittaa jotakin ja nopeasti ilman että koko sivustoa täytyy ladata uudelleen palvelimelle. Dokumentti voidaan näyttää HTML iframe tagissa. Blogissa tämä onnistuu myös iframe käyttäen. Tämä on erittäin nopeaa ja helppoa, ja parhaimman hyödyn saa verkkosivut.

Mutta tämä ei taida onnistua pelkästään dokumentin jakamisasetuksia muuttamalla, täytyy siis löytää se linkki, joka upotetaan.

Siksi editorissa avataan kohta - Tiedosto - Julkaise internetiin... ja sieltä kohta Upotus ja kopioidaan litania, joka voi olla jotain tällaista.

<iframe src="https://docs.google.com/document/d/1aWKJSPLAdKssrkx9g_2_caV1cLBr4OBMMvI9X4sF38/pub?embedded=true"></iframe>

Ja muista myös raksi ruutuun - Julkaise uudelleen automaattisesti, kun muutoksia tehdään.
Tämä sitten omille sivuille tavalla tai toisella... Ja tässä sitten kaikki, kun dokumenttia muokataan, se näkyy lähes välittömästi sivuilla.

(iframe voi tarvita myös height ja width arvot esim. height="300px" width="600px")


Alla laatikossa on Google dokumentti joka on  Google Drive:ssä ja jota muokataan sieltä käsin

lauantai 3. joulukuuta 2016

Blogi muuttaa

Taas kerran

www.moduli.info   -vanha osoite uudelleen käyttöön

blog.fotoskini.com
www.nollalaite.tk -
www.moduli.info



tiistai 25. lokakuuta 2016

Facebook comments count - javascript


Jos omille web-sivuille on lisätty Facebook kommentointi  ... Facebook Comments Plugin.
https://developers.facebook.com/docs/plugins/comments/

 Laskuri joka näyttää kyseisen sivun kommenttien määrä, HTML koodiin on silloin tämän näköinen.
<span class="fb-comments-count" data-href="http://example.com/"></span>
awesome comments 
Näyttää tuloksen vaikka näin:
69391 awesome comments
Mutta miten hakea tämä tieto javascript:llä? Yllä mainitusta linkistä löytyy tähän esimerkki:

https://graph.facebook.com/v2.4/?fields=share{comment_count}&amp;id=<YOUR_URL>

Ikävä kyllä, tapa ei tällä hetkellä toimi, joten poistetaan turhat edellisestä, ja kokeillaan montako kommenttia esim. google.com on saanut:

https://graph.facebook.com/https://google.com

Kopioidaan selaimen osoiteriviin kyseinen rivi, ja selain palauttaa tämän näköisen sivun:

{
   "og_object": {
      "id": "400854551051",
      "description": "Search the world's information, including webpages, images, videos and more. Google has many special features to help you find exactly what you're looking for.",
      "title": "Google",
      "type": "website",
      "updated_time": "2016-10-25T09:55:30+0000"
   },
   "share": {
      "comment_count": 0,
      "share_count": 4123025
   },
   "id": "https://google.com"

}

Ei yhtään kommenttia, mutta share_count näyttää lukemaa 4123025.

Me siis joudutaan omassa koodissa poimimaan erikseen "comment_count" tai "share_count" arvot.
Sinänsä tämä on yksinkertaista. Esimerkkinä JQuery AJAX metodi.
  $.ajax({
        url: 'https://graph.facebook.com/https://graph.facebook.com/?id=https://www.mypage.com
  dataType: "jsonp",        success:  function(data) {            
             alert( data.share.comment_count )  }         
 });
Kaikki voi mennä hienosti, mutta jos tulee ongelmia, niitten jäljittämiseen muutetaan koodia
success: function(data) {
     console.log(data);
}

Ja voimme ehkä nähdä jotain tällaista:   message: "Application request limit reached"

Sovelluksen pyynnön raja saavutettu.

sunnuntai 24. heinäkuuta 2016

Nvidia Logo, miten estää.

Jos tietokoneessa (Linux) on Nvidian näyttösovitin, niin yleensä sen on tapana vilauttaa omaa logoa konetta käynnistettäessä.

Tämän pois saaminen vaatii muutaman rivin kirjoittamisen .conf tiedostoon.
Vanha tapa on lisätä tiedostoon /etc/X11/xorg.conf  rivi

Option "NoLogo"

Mutta nykyään välttämättä koko xorg.conf tiedostoa edes ole tai sitä ei käytetä.

Toinen tapa, joka jopa toimii on luoda
/etc/X11/xorg.conf.d/nosplash.conf 
Siis sekä hakemisto että tiedosto luodaan, ja tiedostoon kirjoitetaan rivit.

Section "Device"
Identifier "Nvidia Card"
Driver "nvidia"
VendorName "NVIDIA Corporation"
Option "NoLogo" "True"
EndSection

Kokeilin tätä Linux Mint 18 Cinnamon distroon, ja toimii.

maanantai 27. kesäkuuta 2016

Python Editorit


Kun kirjoitetaan Python koodia, on tärkeätä että sisennykset koodissa on oikein, koska Pythonissa ei juuri käytetä sulkeita, vaan koodilohkot sisennetään.

if x == 1:
   return 1
else:
   return 0

Yllä , kaksoispisteen jälkeinen  return  on sisempänä kuin if :

Jos käytetään sisennykseen tabulaattoria, tämä voi tuottaa ongelmia, koska tabulaattorin sisennys voidaan määrätä siinä editorissa jolla koodaamme.
Vakiona pidetään yleensä 8:n, mutta se voidaan määrätä vaikka 4:si, ja joissan tapauksissa, koodissa kaikki näyttää olevan oikein mutta itse Python joka koodin lopulta ajaa, ilmoittaa tästä virheestä.

Olen itse tähän törmänyt, luulisi että tabulaattori on vain tietty määrä välilyöntejä, ja jos se on vaikka 4 ja painamamme yhden kerran tabulaattoria se on silloin 4 välilyönti, ja se on silloin ruudulla 4 välilyöntiä, ja kaikki on OK.
Mutta joskus tämä ei mene näin , esim pitkissä riveissä joka jakautuu näytöllä kahteen osaan, voi tämä ongelma tulla, sisennykset ei ole oikein vaikka editorissa ne näyttää olevan oikein.

Suositus on ettei tabulaattoria käytetä, mutta se kyllä nopeutta koodaamista.
Itse sain bluefish editorissa tämän korjattua yksinkertaisesti määrittelemällä asetuksissa tabulaattorin arvoksi 8.

 

lauantai 16. huhtikuuta 2016

Blender Hyrrä (whirligig)





Physically Based Rendering, eli PBR ... ei ihme että monet pitää tästä.
Tosin tietyt materiaalit on vaikeita, kuten vesi ... tai sitten en vain osaa :)




tiistai 23. helmikuuta 2016

Jonkinlainen tyyny



Alunperin ei ollut tarkoitus tehdä tyynyä, vaan jotain ihan muuta ... olkoon sitten tyyny.

sunnuntai 21. helmikuuta 2016

Vokoscreen vs Kazam - screencast videot



Otsikossa mainitut on ruudunkaappaus  ohjelmia.  Kun olen tehnyt Blender videoita YouTubeen, jouduin sotkeutumaan myös näihin ohjelmiin.
Toki Blenderissä itsessä on screencast mahdollisuus, mutta ainakin minulla se toimii 10:n kertaisella nopeudella ? Ja mitkään säädöt ei auta.

On tietenkin olemassa muitakin ohjelmia Linux ympäristöön, esim. Record My Desktop ja Simple Screen Recorder. 

Lisäksi voidaan suoraan konsolissa käynnistää avcon tai ffmpeg käskyllä esim.
avconv -f x11grab -r 30 -s 1920x1080 -i :0.0 -c:v libx264 video.mp4
Ctrl c lopettaa

Vokoscreen on tällä hetkellä suosikki ... siitä yksinkertaisesta syystä että sen ottamissa videossa hiiren kursori toimii rauhallisesti, muissa se ottaa hirveitä spurtteja .... ja katselija voi pahoin.

lauantai 20. helmikuuta 2016

Saumaton looppi - Blender



Helppoa, tehdään kaksi täsmälleen samanlaista Partikkeli-animaatiota, molemmat vaikka 150 framea. Laitetaan ne peräkkäin, otetaan toisen lopusta 75 ja toisen alusta 75 framea, jolloin saadaan 150 kehystä pitkä video.
Samaa videota voi liittää peräkkäin saumattomasti.

torstai 4. helmikuuta 2016

Blenchmark Blender nopeustesti


Kun vertaillaan näyttösovittimien ja prosessorien tehoja Blender renderoinnissa, niin
näiltä http://blenchmark.com/ sivuilta saamme valmiin benchmarkin tähän, ja koska testin aihio on kaikille sama tulos on vertailukelpoinen, siksi se myös voidaan lähettää noille sivuille takaisin vertailtavaksi.

Aluksi pitää ladataan  Benchmark: 
http://blenchmark.com/article/benchmark-your-cpu-or-gpu
Samalta sivulta löytyy myös ohjeet asentamiseen.

Ja sitten kokeilemaan.
Tässä oma tulos, joka sinänsä ei ole kovin hyvä, tämä siis CUDA:lla ja sama koe OpenCl tilassa, niin se oli lähes minuuttia hitaampi. 



Operating System: debian jessie/sid 64bit

Blender Version: 2.76b

Render Time: 0:01:52

Vanhemmalla Blender 2.70 versiolla aika oli 9 sekuntia nopeampi

Sivujen mukaan nopein aika on ollut 0:00:20 , ja se on saavutettu GeForce GTX TITAN Black sovittimella.

Nopeutta saadaan myös lisää asentamalla toinen sovitin toisen rinnalle, jos emolevyllä on vain paikka mihin asentaa.

tiistai 2. helmikuuta 2016

Blender CUDA vs OpenCL



MSI GeForce GTX 960 kortissa on siis  CUDA tai OpenCl tuki, joten molempia voidaan käyttää renderoinnissa.

On kuitenkin sanottu että OpenCl on se hitaampi vaihtoehto Nvidiaa käyttävissä korteissa,  mutta onko asia tosiaan näin ... tämähän piti tietenkin selvittää.

Aluksi on saatava OpenCl vaihtoehto näkyviin Blenderissä, CUDA jo saatiin toimimaan edellisessä jutussa  -- http://blog.fotoskini.com/2016/01/gpu-renderointia-blenderilla.html

Avataan konsoli ja siirrytään siihen hakemistoon jossa Blender (ajettava ohjelma) on, ja
yksinkertaisesti ajetaan konsolissa käsky 

CYCLES_OPENCL_TEST=true ./blender

Linux - edellyttäen että tarvittavat nvidia-openlc paketit on asennettu
Windows - starttaa Blender -- ./blender tilalle  blender.exe

http://www.blenderartists.org/forum/showthread.php?300561-Testing-Cycles-with-OpenCL-on-GNU-Linux-(Intel-nVidia-and-maybe-ATI



Blender avautuu ja sieltä kohta File - UserPreferences - system välilehti ja sieltä pitäisi nyt löytyä kohta jossa voidaan valita joko OpenCl tai CUDA.



Täytyy muistaa, kun OpenCl kokeillaan ensimmäistä kertaa,  OpenCl kernel käännetään, ja tämä ottaa aikaa, joten kannattaa seurata konsolia, mitä siellä tapahtuu.

Seuraavassa jutussa vähän tarkemmin miten testataan ja minkälaisia tuloksia saatiin.

keskiviikko 27. tammikuuta 2016

GPU renderointia Blenderillä

Jos ja kun lopulta halutaan ottaa GPU renderointi Blenderissä käyttöön , täytyy aluksi olla siihen sopiva näyttökortti, CUDA (Nvidia) tai OpenCL (AMD).

Katsotaan aluksi ensimmäistä vaihtoehtoa.

Tästä linkistä selviää, mikä kortti tukee vähintää CUDA 2.0 jota Blender vaatii.
https://developer.nvidia.com/cuda-gpus

Kortti löytyi kaupasta, MSI Geforce GTX 960 4GD5T OC, kortissa 4GB muistia ja GUDA Compute Capability on 5.2


Kortti asentui Ubuntuun helposti, ajurit löytyi Ubuntun pakettihallinnasta suoraan.  
Mutta Blender ei tätä ymmärtänyt, vaan  oli kuin koko korttia ei olisi koneessa ollenkaan ? Siksi pitää asentaa myös paketti nvidia-modprobe ja nvidia-cuda-toolkit, ja näin saadaan kortti näkymään Blenderissä. 




Tässä tietokoneessa renderointi nopeutui 7,7 kertaisesti.

Tärkeää on asettaa paneelin kohdassa "Render" ja valinta "Performance -Tiles"  X ja Y arvot esim. 256 näin saadaan nopeutta lisää, kun taas CPU renderoinnissa pienemmät arvot on parempi, esim. 32 tai 64
    
Tehokkaampi ohjain olisi GTX 980, ja hinta samalla noin 100€ kalliimpi.
Nvidiassa on myös OpenGl ja OpenCl tuki .... ja tästä myöhemmin.

Kortti on aika isokokoinen, kovin pieneen koteloon sitä ei kannata tunkea