Tervetuloa

21.11.2024 | etusivu

Kiva kun löysit tänne. Kirjoitan täällä henkilökohtaisten tuntemuksieni ja näkemyksieni kautta elämäni mietteistä ja tunteista ja saatan myös ajoittain julkaista ohjelmointiin liittyviä tärkeitä muistiinpanoja, juttuja ja koodeja. Kirjoitan, ajantasaistan ja tarkennan juttuja näillä sivuilla kun siltä tuntuu joten artikkelien tekstit ja muut kohdat eivät välttämättä pysy samana. Artikkeleissa on päivämäärä mikä päivittyy muutoksen yhteydessä. Artikkelin päivämäärästä huomaa koska artikkelia on viimeksi päivitetty. Jos lainaat tekstiä näiltä nettisivuilta niin linkkaathan myös tämän nettisivun lähteeksi. Kiitos.

Tässä on lista kaikista serveristä mitä hostaan tällä hetkellä. Tervetuloa mukaan pelaamaan pelejä. Matrixi serveri on "invite only" koska en halua vielä alkaa erityisesti moderoimaan sitä. Matrix serverille en ota tällä hetkellä mukaan käyttäjiä. Ehdotuksia uusista peliservereistä ja teknisistä ongelmista voi laittaa sähköpostilla. Sähköposti löytyy aina tämän nettisivun alhaalta.

Nimi
IP
Mikä tää on
Zandronum Doom 2 CO-OP Community Chest 4
:10666
Löytyy nimellä Kaaos Doomseekeristä. Cooperative CO-OP. CLUSTERFUCK 4.3.1 + patch v2. Community Chest 4.
Zandronum Doom 2 GOLF
:10667
Löytyy nimellä Kaaos Doomseekeristä. Golffia Doomissa. Hellshots Golf v1.1.
Zandronum Doom 2 CO-OP Master of Puppets + Chillax
:10668
Löytyy nimellä Kaaos Doomseekeristä. Master of Puppets + Chillax.
Matrix Synapse
matrix.akiuru.fi
Synapse Matrix serveri.
Element
element.akiuru.fi
Element client Matrixille.

Herkkyys äänille tekee osaltaan musiikista tärkeää. Kuuntelen paljon musiikkia. Monenlaista musiikkia on tullut vuosien aikoina kuunneltua. Musiikki mitä tykkää kuunnella vaihtuu aina mielen mukaan. Välillä se on metallia ja välillä japanilaista poppia. Kaikille eri musiikeille mitä olen kuunnellut on aina oma tunnelmansa mihin ne uppoutuu ja auttaa pitämään mieltä korkealla.

Äänet voi olla erittäin koskettavia. Tietynlaiset äänet voi olla sen takia erittäin häiritseviä tai hyvä puhe voi olla todella rohkiseva myös sen takia miten puhuja käyttää ääntään rohkaisevan painokkaasti. Kovat ja äkkinäiset äänet tai huudot ovat usein erittäin vaikuttavia tai häiritseviä. Hyvä musiikki auttaa myös selvittämään mielen mutkia. Hyvä musiikki on osa elämää kun mietiskelee, kirjoittelee näitä tekstejä, pelaa pelajä ja ohjelmoi.

Tietokoneohjelmista REAPER on hyvä ohjelma VoiceMeeter ohjelman kanssa säätämään ääniä livenä mitä tietokoneelta kuuluu. Väliin tarvitsee myös muutama virtuaalikaapeli. Virtual Audio Cable (VAC) -virtuaalikaapelit toimii tosi hyvin. Olen käyttänyt tätä ohjelmayhdistelmää jo vuosia ja se on säästänyt minut monelta ikävältä kovan äänen säikähdykseltä erilaisissa videoissa YouTubessa. Videoita voi viimein katsoa ja kuunnella huoletta kun löysin REAPERin.

Minulla on joitain harrastuksia. En juuri käy ulkona sosiaalisten haasteitteni takia. Jos joku pyytää ulos niin toki koitan mennä sitten ja mietin että siitä tulee varmasti hauskaa. Pärjään kyllä sosiaalisissa suhteissa sillä tavoin kun ne lähtee aidosti. Toki voi aina sanoa että minulla on harrastuksia kuten esimerkiksi ohjelmointi, tämä nettisivujen ylläpito mikä vaatii paljon aikaa ja syvä taiteellinen mietiskely elämästä ja elämässä hyvän suhtautumisen ja oman otteen säilyttäminen. Siis elämässä aina kasvua henkisesti mitä elämä tuokaan tullessaan. Harrastan myös jonkinverran maalausta, väreillä, pensselillä kankaalle.

Minulla oli henkisesti hyvin hankala lapsuus. Kouluajat menivät huonosti koska minua kiusattiin paljon ja ne ajat ovat jättäneet suuria vaikeuksia minkä kanssa edelleen aikuisiällä on ollut hyvin vaikeaa. Muutin Etelä-Suomesta Lappiin koska olen aina tykännyt Lapista enempi kuin eteläisen Suomen vilskeestä ja kiireestä. Tunnen että Lappi on minulle parempi paikka koska kaikki muu jäi etelään eikä se vanha ole enää mukana elämässäni. Vanha on vain mukana siltä osin miten se on hyvä, mutta ei yhtään enempää. Kerron lisää "Menneisyydestäni ja sosiaalisen elämän haasteista" -artikkelissa.

Mieli toki pyörittelee toisinaan edelleen kaikenlaisia menneitä huolia ja murheita mielessä yhä uudelleen ja uudelleen mutta silloin kun niin on, niin niitä tarvitsee miettiä järjellä. Istua alas ja alkaa kääntää noita surullista mieltä ja huolia tuottavia ajatuksia taas oikeinpäin ajatuksissa. Yksi asia tai kokonaisuus kerrallaan. Istua alas ja mietiskellä itsekseen hetki ja niin pitkään kuin tarvitsee jotta mieli voi taas löytää oikeat raiteensa mennä eteenpäin eikä myllertää enää menneessä. Helpompaa sanoa kuin tehdä. Takeltelen itsekseni näiden kohtien kanssa edelleen hyvin paljon ja vertaistuki on aina auttava vaikute.

  Tähdet

01.01.2025 | ohjelmointi

Nettisivujen taustan tähtien javascript koodi.

CSS:

#background-canvas {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: -1000;
}

Javascript:

var canvas = document.createElement("canvas");
canvas.setAttribute("id", "background-canvas");
document.body.appendChild(canvas);
var ctx = canvas.getContext("2d");

function set_canvas() {
	canvas.width = window.innerWidth;
	canvas.height = window.innerHeight;
	var ax = 0;
	var ay = 0;
	var bx = canvas.width/2;
	var by = canvas.height/2;
	canvas.corner_distance = Math.sqrt((ax - bx) * (ax - bx) + (ay - by) * (ay - by));
}
window.addEventListener("resize", set_canvas, false);
set_canvas();

document.addEventListener("contextmenu", function(e) {});


var stars = [];

for (var i = 0; i < 333; i++) {
	stars.push({index: i+1, value_a: 3000*(i+1)});
}


setInterval(function () {
    ctx.beginPath();
    ctx.fillStyle = "#000";
    ctx.fillRect(0, 0, canvas.width, canvas.height);
    ctx.closePath();

	if (canvas.width != window.innerWidth || canvas.height != window.innerHeight) {
		set_canvas();
	}
    
    for (var i = 0; i < stars.length; i++) {
    
    	var x = canvas.width/2;
    	var y = canvas.height/2;
        
        var time_now = Date.now() - (stars[i].index*100);
        
        var angle = Math.floor(time_now / stars[i].value_a);
        var passed_time = (angle - (time_now / stars[i].value_a)) * -1;
        var distance = passed_time * canvas.corner_distance;
        
    	x += Math.cos(angle) * distance;
    	y += Math.sin(angle) * distance;
        
        // Angle kohtia käytetään tässä myös väreinä tähdille.
        var angle2 = Math.floor(time_now / stars[(i<stars.length-1)?i+1:0].value_a);
        var angle3 = Math.floor(time_now / stars[(i+1<stars.length-1)?i+2:1].value_a);
        
        angle = Math.sin(angle) * 255;
        angle2 = Math.sin(angle2) * 255;
        angle3 = Math.sin(angle3) * 255;
        
        var r = Math.round(angle);
        var g = Math.round(angle2);
        var b = Math.round(angle3);
        
        if (r < 0) r *= -1;
        if (g < 0) g *= -1;
        if (b < 0) b *= -1;
        
        if (r < 100) r = 100;
        if (g < 100) g = 100;
        if (b < 100) b = 100;
        
        var star_size = passed_time * 0.5;
        
        ctx.beginPath();
        ctx.fillStyle = `rgba(${r}, 0, 0, 0.5)`;
        ctx.fillRect(x-1, y-1, 10*star_size, 10*star_size);
        ctx.closePath();
        
        ctx.beginPath();
        ctx.fillStyle = `rgba(0, ${g}, 0, 0.5)`;
        ctx.fillRect(x, y, 10*star_size, 10*star_size);
        ctx.closePath();
        
        ctx.beginPath();
        ctx.fillStyle = `rgba(0, 0, ${b}, 0.5)`;
        ctx.fillRect(x+1, y+1, 10*star_size, 10*star_size);
        ctx.closePath();
    }
    
}, 1000 / 60);
00004617