10. May 2021 |

Requirements

Lately I have found my self thinking how could a customer – when buying software development services – determine in “requirements” part that the end result should not be ugly. I belive there is no standard for describing this.

For me it has been common sense that I simply do not deliver (preferrably don’t even build in the first pace) ugly things. And there is no need to specify it in the requirements that “users should not get lost” or “users should not hurt themselves”.

From my experience I see it does not seem to be very common in the industry.

Extreme programming believes in
‘it is better to do a simple thing today and pay a little more tomorrow to change it’ than ‘to do a more complicated thing today that may never be used anyway’. But simple here by in no way means mean broken, malfunctioning or ugly.

TBC

2. Mar 2021 |

Õppimisest – õppematerjalid ja kodus õppimine

Koolis ei peaks olema ühtegi PowerPointi.

Õppematerjalid – kirjalikud

Kõikide ainete õppematerjalid PEAKSID olema sellised nagu Bootstrapi dokumentatsioon. Pythoni õppematerjal täpselt nii ongi. Koolis ega ülikoolis ei peaks olema mitte ühtegi PowerPointi slideshow’d. Hetkel üsna suur osa ajast kulub sellele, et ma vormistan kõik slaidid palju kompaktsemateks ja paremini loetavateks Markdowni failideks. Kui vaja, siis saab ekraanil seda dokumenti kerida. Ma olen üsna kindel, et tudengitel ei ole ootust slaidide järgi vaid info järgi. Sel semestril on mõne aine slaidid ka täielik rongiõnnetus 😀

Vaata ka: Koolis käimine ja keskkond

Mõelge, kui kogu õpikukirjastuse tööstus disruptida ja algkoolist alates kõik füüsika, matemaatika ja keemia õppematerjalid ja ülesanded oleks vormistatud korralikult ja ligipääsetavalt sellises dokumentatsiooni formaadis + alati ligipääsetavalt (ja seadmesõbralikult!) oleks Youtube’is loenguvideod. Ei oleks mingit õpikute tassimist, laenutamist, ostmist vms. Üks korralik repo, kõik muudatused läbi pull requestide. Võimalik, et koolilastel (ja nende vanematel) ei ole ootust õpikute järgi, vaid ligipääsetava info järgi.

Õpilased saaksid raskusastme järgi ülesandeid ette võtta (vajadusel lahendusega), õpetajad üle ülesannete kogu vastava raskusastmega kontrolltöid automaatselt genereerida jne. Koolis meil kogu aeg räägitakse, et kui sulle tundub, et kirjutad sama (või väga sarnast) koodi juba mitmendat korda, siis mõtle võimalusele teha üldisem lahendus (abstraktsioon) 🙂

Õppematerjalid – videod

Pean tunnistama, et TalTechis on kõik 5+ videote osas. Echo360’st  (mis on halb) saab videod arvutisse salvestada ja ümber laadida Youtube’i. Aga, tore oleks, kui timestamp’itud loenguvideod oleks kohe seal 🙂 Näiteks nii nagu minu reedeste loengute playlist.

Kuidas ma kodus õpin

Elu on vahepeal edasi läinud. Mul on nüüd pidevas kasutuses 2 arvutit ja kaks 24″ monitori. Kohe selgitan.

Minu töölaud. Märts 2021. Korraga on enamasti kasutuses kaks arvutit, kummagi küljes 24″ monitor. Telefonis on lahti Focusmeter ja Toggl rakendused (loe siit). Telefoni kõrval on tennise käepael, mida kasutan selleks, et hiire käe ranne ei valutaks. See viltune juhtme otsas rippuv asi arvuti all  (paremal) on Sandisk Extreme Portable 1TB SSD (link), et Win10 ja Ubuntu vahet toimetades oleks nt loenguslaidid jms olemas mõlemas.

1. monitoril (pildil vasakul)

Loenguvideo täisekraanil ja seda mängib minu vana arvuti (Dell XPS 13, mille ostsin 2011). Video jookseb eranditult Youtube’ist, sest seal on klaviatuuri otseteed. Paus, kiiruse muutmine, tagasikerimine, timestampide tegemine – kõik funktsionaalsused on olemas. Lisaks tegin JavaScriptis bookmarkidena (juhend siin) kuni 4x kiirendusega vaatamise.

Echo360 laguneb aktiivse kasutuse ajal kohe ära – see tähendab, et edasi-tagasi kerides kaob mingil hetkel heli ära (või läheb pildiga nihkesse) või kiilub üldse kõik kinni (vajab refreshi). Kiiruse muutmine on menüüde sisse peidetud (otseteid ei ole). Kiiruse muutmist on päriselt VAJA, sest:

  • kui on vaja tähelepanelikult konspekteerida, siis on hea kiiresti näiteks 0.75x kiiruse peale lülitada.
  • kui on mingi osa, mida juba valdad või kus õppejõud jääb mingit oma lugu rääkima, saad 4x kiirendusega sellest üle minna. 2x kiirus jääb mõne õppejõu puhul ka väheseks, sest kõne on lihtsalt meeletult aeglane 😀

Timestampimist ja kommentaare Echo360’s ei ole. Aga peatükkide ja teemade sisu kiiremaks leidmiseks on sellest väga abi (näiteks selliselt).

2. monitoril

Tavaliselt IDE, kus on avatud programm ja konspekt (Markdowni dokument). Lisaks loengu slaidid ja Youtube’i video muutmise aken, kuhu kirjutan timestamp’e.

Ma ausõna ei kujuta ette, kuidas peaks päriselt toimival koduõppel toimetama mõni puudust kannatav mitmelapseline pere. Ma ei taha minna ühtegi keskkonda ega pikalt viibida üheski keskkonnas, kus mul selliseid tingimusi töötamiseks ei ole. Ja ma teadvustan endale täielikult, kui priviligeeritud ma olen.

24. Feb 2021 |

I always forget to turn Toggle off

And it is so annoying.

This is overview of my last week’s coding activity. My own projects, escapades and experiments are not included. School only.

On the right is my last week in Focusmeter app. Blue area is time spent doing Distributed Systems, yellow is JavaScript. On the left is my effort to use Toggl and Focusmeter together (using split screen) so that I would not forget to turn Toggl off.

I would really like to use Toggl for time tracking as a part of my workflow but I always forget it running. Also my productivity is so much better with (which ever) pomodoro timer that arranges my time into logical work and break units. But the problem with pomodoro is that pomodoro is not for tracking but just time management. So at the moment there is no good solution for me 🙂

Update

It looks better with Goodtime app for pomodoro functionalities.

By using Samsung split screen I can run 2 apps at the same time. Above is Goodtime pomodoro app and below I have Toggl. It was a good discovery for me that for project whole pink box is actually clickable for starting (no need to tap the small play button).

19. Feb 2021 |

Using SSH with Atom ftp-remote-edit

It also works similarly in Filezilla. If you have questions, please leave comments 🙂

Atom ftp-remote-edit started to break my files occasionally due to the issue that this Atom package uses ftp in passive mode by default which tries to open too many ports at once. For example if I had large css file then it uploaded only half of it and gave me following 451 and timeout errors:

  • 451-Error during read from data connection 451 Transfer aborted
  • Timeout (control socket)
Atom errors

Suggestion from my webhosting provider was to use SSH instead of FTP but configuring it is kind of difficult for the first time. So here it is:

Atom SSH config
  • Hostname is your hostname
  • username is your username (username@hostname.ee)
  • If you have not configured password then you can just leave it empty.
  • key is private key (not *.pub (public) but the other file) – I wasted some time here.
  • Initial directory path I got from my webhosting service provider. Without the path to initial directory you will probably get to the root from where it is not possible to navigate anywhere.

I think most difficult in Windows was to find the private key file (and initially to create one). But there are enough tutorials available on how to generate SSH keys. My own notes (which I use quite often) are here.

In Ubuntu the key file is located in …

What I use it for

I have gotten used to using Atom for small edits that need to be done here and there. For example my school dashboard – if I need to add something there then I open the folder in Atom ftp-remote-edit, do the edits, ctrl+s and it is live without having any files in my computer.

Also, when I need to work with data in Excel and need to upload it as csv file to the server then instead of saving csv on my computer I do textjoin in excel and copy-paste the content to csv file on server through ftp-remote-edit.

11. Feb 2021 |

Bitwarden browser autofill shortcut not working (solution)

I switched from 1Password password manager to Bitwarden about year ago. Simply because Bitwarden is free while the cost of 1Password was 72 dollars per year (Family version).

Recently browser autofill shortcut stopped working. Today I figured out how to get it work again.

On Chrome open chrome://extensions/shortcuts on your browser and fill the shortcut yourself.

Edge

If you use Edge browser then open edge://extensions/shortcuts and fill the shortcut yourself.

Firefox

If you use Firefox then go to about:addons → Extensions → from the settings icon you can get to manage extension shortcuts.

It is very convenient to autofill logins with ctrl + shift + L. If you have multiple accounts on some webservices (for example you have several Twitter accounts) then you can rotate between these by repeating the shortcut.

9. Feb 2021 |

Notes for myself: Videos of lectures – how I watch

On fridays I have up to 9 hours of lecture videos to watch. It is split into 3 x 3h videos. Each “video” on Echo360 is actually 3 files: audio file, video of computer screen (presentation) and view from camera to blackboard.

I download screen and audio files from Echo. In order to get video with audio as one file I join them with:

ffmpeg -i video.m4s -i audio.m4s -c:v copy -c:a aac output.mp4

As 3 videos per every friday over 16 weeks would make 48 videos I try to join videos of every week by using:

ffmpeg -f concat -safe 0 -i list.txt -c copy output.mp4

So I have 16 videos on my Youtube for these subjects. List.txt is list of files structured like:

file '00-video.mp4'
file '01-video.mp4'

In order to skim through the video first I use opportunity to speed up the video. I mark down important parts and the work through the material.

Trim 

ffmpeg -ss 00:01:00 -i input.mp4 -to 00:02:00 -c copy output.mp4