FreeFEM software: ready for summer! DIY heat

Reading Time: 2 minutes

Energy saving, cooling a house, Passive housing

I’m a total noobie what comes to construction technology. However, my mind is curious one, and I’m open to experimenting.

In this series, we’re going to:

  • get familiar with FreeFEM modeling
  • understand the physics of heat in housing
  • model a house in FreeFEM
  • start measuring actual temperature readings
  • see how changes in ventilation, opening or closing windows changes the inside temperature
  • draw conclusions as to how efficient passive energy houses can be in terms of convenience and energy use

Today I thought: why couldn’t I just start testing around and observing, what happens if I tweak a little bit of here and there. I installed FreeFEM, a finite element modeling toolpack. FreeFEM is a free software, available to all your usual suspect platforms (Windows, Mac, Linux). FreeFEM allows me to first define the structure of a house; then
simulate the heat transfers happening within.

My goal is to

  • first understand how heat behaves in our house
  • second, understand how the temperature can be
    adjusted using passive means; not A/C, but some
    alternative methods
  • third, how much can these passive adjustment
    control the temperature, in, say during heat of the summer!

Simulating the Sun as heat source?

One of the biggest heat sources is the Sun. It behaves
in a way that is dependent on 3 things, basically:

  • surface material, which the sunshine hits
  • time of day
  • time of year

Sunshine hits surfaces, and this surface heat is
transferred mainly via conductive transfer deeper
towards the inner elements of the house. Sunshine through
windows is also a great contributor to heat inside the
house. In both cases there are two factors at play

  • surface material
  • incidence angle of the sun

The energy from sun is approximately 1300 watts per
square meter. 1300 watts is quite a lot! Think of it
this way: microwave oven, at full throttle, gives about
900-1500 watts. A sauna is 4000 – 5000 watts. So you
could say Sun is like a mini, always-ON microwave oven.

Sunshine is approximately “uniform” heat source, however
the incidence angle depends on your place on Earth. On equator,
sunshine is direct, and heats a lot. On poles of the Earth (north and south),
sunshine hits in a very oblique angle, and thus its power
is diminished.

The sun’s behavior as an energy source is well-known, tabulated;
but it’s just that you need to plug it to FreeFEM somehow —
as a function, or use tabulated data.

Next part, let’s get going with modeling a house in FreeFEM!

Facebook Comments

Business: LBO memo

Reading Time: < 1 minute

Interview rounds in Finance, M&A (mergers and acquisitions)

LBO questions

  • define Leveraged buyout
  • who are the legal parties in a LBO deal?
  • what are the benefits of doing LBO?
  • why LBOs are done?
  • walk through a basic LBO model

Mention a few notable LBOs in 2010s around the world.

Explain the vision in these deals.

Were these deals anticipated or did they come as a surprise for the public?

Theory of Leveraged Buyouts

  • LBO models
  • case studies
  • modeling of future merged company

Basics of a LBO, terminology on the process

LBO finance terminology

  • leverage
  • debt
  • mezzanine loan
  • equity
  • return on a LBO deal
  • enterprise value (EV) of a corporation
  • senior note
  • subordinate note
  • seed
  • capital
  • money-on-money (MoM)
  • multiples

Next part, we’re looking at a few continuation intros; the Clear Channel M&A deal and also think about the role of interest (i) in LBO metrics.

Facebook Comments

Firefox! Pätkä virtuaalimaailman historiaa

Reading Time: 2 minutes

Firefox (eli ‘tulikettu’) lienee tuttu monille tietokoneenkäyttäjille. Selain on tunnettu avoimuudestaan, sekä valtavasta määrästä lisäosia eli add-on:eja.

Firefox erotettiin “kevyeksi” itsenäiseksi selaimeksi, vastapainoksi Mozillan raskaammalle ja useampia toimintoja sisältävälle internet-kommunikaatiopaketille. Firefox syntyi näin vuonna 2004. Sen markkina-osuus verkkoselaimista on nykyään noin 25%. Firefox on Internet Explorerin jälkeen kakkosena suosituimmuustilastoissa.

Mozilla Foundation joka kehittää Firefoxia on Yhdysvaltalainen ns. 503-c non profit organisaatio, eli se ei ole perinteinen yritys. Tosin Foundationin rinnalla toimii myös normaali yritys. Netscapen kiinnostavasta tarinasta IT-buumin aikaan on tehty tosi kiehtova video Youtubessa:

Mozillan logo, kaverien kesken ‘mascot’, on punainen tassutteleva dinosaurus. Firefox kantaa logonaan nimensä mukaisesti tulikettua, eli maapallon ympärille kietoutunutta, pehmoisesti piirrettyä kettua.

Mascot (Mozilla)

Firefoxin tekniikasta vastaa pitkälti Gecko, joka on HTML-kieltä tulkitseva piirtorunko. Se siis ottaa webin lähdekoodia, ja piirtää sivut näiden ohjeiden mukaan. HTML-kieli on W3C-organisaation standardoima.

Yritys (säätiö!) ottaa mielellään vastaan avustuksia koodin, rahan, ajan, ideoiden tai vaikka pehmolelujen muodossa. Firefox on koettu usein erityisesti käyttäjälähtöiseksi kehitysmuodossaan. Sitä ei kehitä iso korporaatio pakollisena sivutuotteena, vaan käyttäjät toisilleen.

Firefoxin aikoinaan tuomia uudistuksia olivat välilehdet. Nykyään sama toiminto löytyy monista muista selaimista myös. Välilehtien avulla on helppo selailla useita eri saitteja, avaamatta varsinaisesti ohjelmasta uutta ikkunaa. Ennen välilehtiä usean saitin selailun jäljiltä tietokoneen käyttöjärjestelmän työpöytä oli “roskainen”, täynnä ikkunoita.

Webin monipuolistuessa yhä useampien tekniikoiden pitää toimia saumattomasti web-selainten kanssa. Tämä on ollut eräänlainen ongelma jo www:n alkuajoista saakka; vuonna 1991 julkaistu ensimmäinen HTML-kuvauskieli ei sisältänyt vielä mitään ulkoisen median merkintää. Eli sillä ei voinut näyttää kuvia, soittaa musiikkia tai muuta vastaavaa.

HTML2.0 laajensi tarjontaa; tästä eteenpäin yhä useampi multimedian muoto (kuva, animaatio, 3D-grafiikka; äänet, musiikki, videot) ovat tulleet selaimen kautta saataviksi. Mutta kuten sanottu, selaimet eivät useista syistä aina suoraan tukeneet kaikkia elementtejä. Standardisodat ajoivat eri versiovalmistajia eri suuntiin; oli kilpailevia standardisoimattomia elementtejä.

sphere globe GIF by devindixon4597

Netscape ja Microsoftin selain kilpailivat kaikkein kovimmin keskenään. Toisaalta ohjelmointikehitys ei pysynyt kelkassa aina mukana. Tihemmillään uusia elementtejä saattoi tulla useita viikossa. Myös patenttiriidoista johtuen tuki saattoi olla puuttellinen. Mitä monipuolisemmaksi ja hienommaksi tekniikka muuttui, sitä useampi kokki vaadittiin.

Web kasvoi myös interaktiiviseksi. Käyttäjä saattoi vaikuttaa webin sisältöön, ja uudentyyppiset hyötysaitit kasvoivat kun www:ssä oli tuki täytettäville lomakkeille.

Aivan uuden tason kilpailu alkoi Google-yrityksen alettua maalailla visiota täysin selaimeen perustuvasta käyttöjärjestelmästä. Se oli pedannut strategiaansa jo tuomalla markkinoille GMail-sähköpostipalvelun ja kymmeniä mielenkiintoisia selaimella käytettäviä muita palveluita. Perinteinen työpöytä ja erityisesti käyttöjärjestelmä oli menettämässä vaikutustaan. Microsoft koki Googlen uhkana olemassaololleen.

HTML5 on myös viimeisin, joskin jo pitkän aikaa vireillä ollut standardiuudistus. Sen perusidea on tuoda sekamelskaan selvyyttä, ja pistää jo valmiiksi standardiin useat multimedian muodot, ilman erillisiä plugineja tai muita virityksiä. HTML5:ttä on kritisoitu massiivisesta rakenteestaan ja hitaasta aikataulustaan.

Facebook Comments

SEO, ranking and search results

Reading Time: 2 minutes

This is a bit of a SEO tips, fused with my realworld case, as Jukkasoft blog founder and sole writer.

Long story short: for a real long time, this blog basically lived its quiet life in the Internet, without much visitors. I kept writing stuff, because I have always loved the trade. There were a couple of times when I felt like keeping the blog was futile,
but I always persisted.

I yearned for community-like activity, guest posters (you are always welcome, ask for a Writer user account), and the usual buzz around a blog.

“Magically, one day…” No! Just kidding. There was no fairy dust.

I was doing 3D with Blender, a really neat graphics software, and came upon a wonderful addon, which brings easily a realistic looking, Openstreetmap data
-based city into life
. I blogged about it. This article became one of the biggest hits in Jukkasoft.

What’s organic search traffic from Google?

“Organic search” means the natural use of search engines by people in Internet. Think: ‘googling’. Organic search traffic to your blog is vital; it is the most genuine traffic you can get.

Google measures the happiness of users who use their search. If they see a pattern, where your blog’s article was clicked through, and user DID not return back to searching more, Google takes it that your content was good. That’s how you will get
more clicks in the future. So Google doesn’t directly necessarily “track” users — in the sense we would think of someone pursuing a person — but instead Google draws conclusions based on which links users click, AND how they behave afterwards.

Relevance of top 10 search result page in Google

Hitting ‘Search’ in Google produces organic search results: the famous list of links. It’s the list where it’s crucial that your site is featured within the first 10 search results.
That’s called the “first page” of search results.

There’s a simple reason: people rarely have the curiosity to click through to the next ten search results. Instead they start banging on #1 link, then through #2, and down
more if they don’t get satisfied by what they find.

Facebook Comments

Tekkikulmaus: web-serverit ohjelmistokehittäjälle

Reading Time: 3 minutes

“Eiks se oo aina Apache?”

-“Siis mikä?!

Express. nginx. Caddy. HTTP/2. IIS. Sertit. CRL. Portti 80. DNS?! localhost:3000

“No mut ku Railsissa on omansa, en mä tiedä miks jotain web-serveriä tarvis laittaa pydeen.”

Sormi suussa? Ällös huolehdi. Tutkitaan, ennenkuin hutkitaan.

Sovelluskehittäjä nykyaikana usein voi “unohtaa” armeliaasti alla olevan teknologian. Ne mallit ja kuviot, joilla webissä palveluja voidaan rakentaa, ovat itse asiassa tietyllä tapaa monimutkaistuneet. Tai sanotaan näin: on paljon tunnettuja vakioratkaisuja, mutta tarvittaessa alustan osaset voidaan rakentaa yhdistämällä eri teknologiatarjoajilta ostettuja palveluja.

Photo by Jordan Harrison on Unsplash

Komponentit on revitty irti toisistaan, ja niitä voi vuokrata SaaS-mallilla, joten näiden palikoiden yhteiskäyttömahdollisuus luo suuremman määrän mahdollisia kombinaatioita (verrattuna siis aikaan, jolloin yritys itse vastasi täysin 100% kaikkien palvelimen raudan ja softan pyörittämisestä).

Pyyntö – vastaus (request/response)

Web-sovellusten kivijalka on edelleen hyvin sama kuin alkuaikoina:

  • web-selain pyytää sivua palvelimelta
  • palvelin vastaa dynaamisesti luodulla sivulla

Pyhä kolminaisuus: client – server – database

Edelliseen 2 toimijan malliin lisätään vielä yksi yksityiskohta palvelimen puolelta: tietokanta. Nyt on client – server – database. Serveri (palvelin) voi keskustella sisäisesti rauhassa tietokannan kanssa, kun sen tarvitsee. Tätä puolta ei välttämättä tarvitse lainkaan näyttää clientille. Eli palvelin näyttää vain julkisen rajapintansa: “täällä olen, kysy sivuja, minä vastaan”.

Selaimen päässä ajettavasta teknologiasta eli frontendistä vastaava kehittäjä tekee käyttäjälle näkyvän teknologian:

  • sivujen ulkonäön
  • teemat, värit, tyylit
  • ikonit
  • menujen rakenteen ja toiminnot

Moderni webin päällä käytettävä palvelu voi itse asiassa suurimman osan ajasta pyöriä itsenäisesti selaimessa, ilman kontaktia palvelimeen. Toisinaan tarvitaan päivitystä dataan, eli frontti lähettää kutsun palvelimelle (backendille), ja saa vastauksena tarvitsemansa datat.

Frontilla on kolme vaihtoehtoa, kun tarve muutokselle (“event”) tulee käyttäjältä:

  • jos muutos voidaan tehdä paikallisesti, ei tarvita verkkokutsua backendiin
  • jos käsittelyyn tarvitaan lisädataa, frontti lähettää kutsun backendille
  • jos käsittely aiheuttaa muutoksen (“kirjoituksen”) dataan, tämä pitää myös viestiä backendille

Jos palvelu on hyvin yksinkertainen, eikä kovin paljoa selailua tapahdu käyttöliittymässä, jokainen sivu voidaan luoda serverillä tarvittaessa. Paljon komponentteja sisältävien palvelujen (esimerkkinä verkkokaupat ja Facebook) kohdalla tällainen alkaa rasittaa palvelinta kohtuuttomasti.

AJAX alkuaikoina

Ensiratkaisuna sivun päivityksen raskauteen oli AJAX. Asynchronous Javascript on suomenettu “asynkroninen kutsu”. Ideana AJAXissa on ladata vain se määrä dataa, kuin tarvitaan – ei koko sivua. AJAX eli valtakautensa menestyksekkäästi, eikä idea sinänsä ole mihinkään hävinnyt.

Lisänopeutusta: VDOM ja React

React:ssa (teknologiassa) tehtiin radikaali keksintö: DOM virtualisoitiin. React laskee datan muutoksen tekemät visuaaliset havaittavat piirteet valmiiksi nopeasti, ennenkuin varsinaisesti pyytää selainta piirtämään ruudun uudestaan. React kutsuu tätä VDOM -nimellä, virtual DOM.

Perinteinen DOM: kuin hätäilevä ja tehoton joulupukki!

Vertauskuvallisesti voisi ajatella, että DOM on kuin hajamielinen Joulupukki:

  • heti kun ensimmäinen lahjapyyntö saapuu joulukuun alkupuolella, Joulupukki lähtee jo liikkeelle!
  • lisäpyyntöjen saapuessa tontut lähtevät pikaisesti toimittamaan näitä Joulupukille, joka joutuu palaamaan takaisin Pajalle hakemaan lahjat
  • hanki on täynnä ristiin rastiin meneviä latuja, ja Joulupukki on melkein kupsahtaa puuskutuksestaan..
lights flicker GIF

Selaimessa tämä “edestakainen Joulukin reen matkustelu” näkyy siis oikeasti räpsyvänä ruudunpäivityksenä. Tätä itse asiassa tapahtui mm. Facebookissa, ennenkuin Facebook alkoi panostaa teknologiaan, jolla saatiin sopiva-aikaisesti päivityksiä tietokannasta, kun käyttäjälle tuli vaikkapa uusi tilapäivitys kaverilta. Syntyi ReactJS.

React ja virtuaalinen selaimen sisältö, VDOM on kuin fiksu Joulupukki, joka ensin pakkaa reen täyteen kaikkien lahjatoiveiden suhteen, ja vasta sitten lähtee tehokkaalle toimitusreissulle täydellä reellä.

Web-serverien rooli sovelluksissa

Kuinka paljon sovelluskehittäjän kannattaa miettiä koko stackkia?

Ohjelmoijaa helpottaa usein, jos voi joko:

  • vetää rajaviivan oman vastuualueen ja “alustan” välille, tai
  • käyttää tunnettuja ratkaisuja, joiden tiedetään olevan tehokkaita ja ongelmattomia
Photo by René Molenkamp on Unsplash

Aina näin ei voi tehdä. Cutting edge – tiedämme kaikki sen tunteen: surffataan projektissa teknologian kirkkaimman kärjen ytimessä, matkalla kohti suurta ja tuntematonta, samaan aikaan hieman vauhtisokeina, uudesta viehtyneinä, ja adrenaalinia kofeiinin lisäksi suonistossa. Rantaviiva on hieman kuohuva; käydään puolin ja toisin vierahissa.

Millainen on ollut mieleenpainuvin cutting edge rantaviivasi? Pistä kommenttia tänne! Kiitti!

Facebook Comments

david – getting a hammer to solve dependencies

Reading Time: 2 minutes

Are you interested in getting a glimpse of how a minor open source issue get evolved? What happens when projects are developed?

This story is a bit of tongue-in-cheek, yet contains more than a mere whiff of reality.

Like all good stories, we have to back up a bit:

Picture this. 2015, Geek-sniping

Forest of options

I was in a project where suddenly there was all the grassroot
devops’ey stuff coming ahead like a tsunami. LESS (css), Node, npm,
client-server comms between a mobile app and a Java EE server;
learning early Angular 1.5; doing a Jenkins CI pipeline brain surgery; dashboarding the code coverage and other quality issues with SonarQube…

Truly interesting, yet a paralyzing amount of parallel learning that didn’t leave too much room for nitty-gritty deep-diving into individual tools, like npm.

NPM – Quick What, Why and How?

JavaScript world took a huge jump as a viable tech stack in 2012-2014. There was a lot of new open source code available on a daily basis. The problem, however, was: how to get these libraries (packages) easily into use, in your own project?

Npm and libs are a breeze!

npm was the answer. A subtle tool, that since around the turn of 2010-2011 served a ton of developers daily.

Some of the questions begged for an answer. Not so much the towel, but…

Till next part, see you soon.

Facebook Comments

The Lazy (Time-)Traveler from 2001

Reading Time: 2 minutes

I had a ‘Future Visions’ page back some 20 years ago, on my university’s free student homepage. Kind of started blogging there. I wrote these small pieces of essays, very much about societal change and the future. Well! Here we are now!

Dated in 2001, I wrote about ‘The Lazy Traveler’:

The ‘information society’ comes with its downsides, too. First there is the lack of true communication between possible partners; take travel companies for example. You want to go to a holiday. What do you do? Check up the sites of various travel companies, each with their own categorization, “superious offers” et cetera. They have their own club-cards and all the trinkets which make up an equivalence of quite a fascinating adventure game, if that were your interest at the moment (it isn’t; it’s taking a holiday with the least level of hassle that probably interests you).

Travel companies have experts hired there to create adventures for you, but not the kind of adventures just described in the previous text.
How would I ideally want to travel?

This scenario is very selfish, but that’s the way it should be In My Humble Opinion. I manifest that I want to travel from Helsinki airport to Ibiza, and want to stay there for 2 weeks in a three-star hotel, and the travel should have a maximum cost of NNNN credit units. I am willing to expose some of my digital profile to the travel companies (‘sharks’ in this story — I am called the ‘bloody piece of meat’).

The digital profile could be some kind of standard, perhaps XML would do the trick at the moment (name / date-of-birth / address-and-other-contact-info / …) The exposition of every field would be decidable by you.

I throw my flesh into the digital market, and let the sharks do the fighting. They throw offers at me, of which I pick one and optionally let the others know I have turned them down this time.
The baseline of the story is…

I just wouldn’t want another piece of plastic in my wallet to take a holiday trip somewhere, and I wouldn’t like to go through myriad of web pages. The information which I have to enter to various web sites already exists, and I wouldn’t like to type it all over again every time. Yes, I’m very lazy.

Facebook Comments