…meie igapäevast IT’d anna meile igapäev…

2014-04-24

Eesti-inglise sõnastiku uusversioon

Sain valmis uue versiooni ome Eesti-inglise sõnastikust – idee poolest siis juba v4.0 (v2, v3). Muuhulgas uuenes ka aadress – dukelupus.com/dict asemel on dukelupus.net/dict. Vana versioon jääb esialgu samuti alles, kuivõrd uus versioon ei pruugi vanade brauseritega koostööd teha.

image

Eesmärkideks uue versiooni loomisel olid mobiilseadmete-sõbralikkus ja kiirus. Viimasel juhul eelkõige lehe laadimise aeg – ehk mahu ja päringute arvu vähendamine, ehkki ka otsing läks veerandi võrra kiiremaks. Tulemus – Google PageSpeed Insights annab nii mobiili- kui ka desktopi-lehele sada punkti sajast.

Võrdluseks väike tabel (GA on Google Analytics’ skript; suurus on reaalne võrgus liigutatavate andmete maht, mis tänu GZIP’imisele on väiksem kui suurus brauseris).

  dukelupus.com/dict dukelupus.net/dict dukelupus.net/dict/m
Lehe laadimine (suurus) 101.1KB (15.4KB GA) 43.2KB (10KB GA) 13.1KB (10KB GA)
Lehe laadimine 1.94s 1.68s 964ms
Lehe taaslaadimine (suurus) 15KB 4.6KB 2.1KB
Lehe taaslaadimine (aeg) 839ms 196ms 190ms
Otsingu tulemus (suurus) 1.4KB 777B 565B
Otsingu aeg 305ms 240ms 224ms

Mis on muutunud?

  • Mobiiliversioonist loe allpoolt
  • HTML5, CSS3.
  • Sõnastik ise pole enam tõlgitav
  • Veelgi minimalistlikum kasutajaliides. Suuna vahetuse raadionuppude asemel on nüüd kaks otsingunuppu.  Suunda saab endiselt TAB-klahvi abil muuta.
  • Serveripoolse otsingu aja asemel näidatakse koguaega, st. lisanduvad võrgu latentsus jm.
  • JSONP’i pole enam (loe selle lisamisest eelmisele versioonile). Seda ei kasutatud – kui aga keegi peaks soovima, siis saab lihtsalt nii CORS kui ka JSONP toe lisada.
  • jQuery UI autocomplete asemel on HTML5 <datalist> element. Kahjuks käitub see aga eri brauseritel täiesti erinevalt, ning võimalik et olen sunnitud jQuery UI peale tagasi minema.
  • Sõnapaare on veidi puhastatud, samuti natuke termineid lisatud.

Mobiiliversioon

image

Mobiili või pihuarvutit kasutavad sõnastiku kasutajad suunatakse automaatselt väiksema resolutsiooniga seadmete lehele, kuid võimalik on kasutada ka otseteed – http://dukelupus.net/dict/m.

Play Store’s on nüüdseks vist pea kümneid eesti-inglise sõnastikke – miks ma siis spetsiaalse mobiiliversiooni peale aega raiskasin?

Esiteks, need kõik võtavad su seadmes ruumi – pahatihti 10+ MB. Online-versioon aga ei võta ruumi, ei eelda paigaldamist ega uuendamist, ei näita reklaame, ei paigalda pahavara jne.

Teiseks, pea kõik neist kasutavad Eesti Keele Instituudi avalikku sõnakogu, mis on aga väga piiratud. Minu sõnastikus on aga hetkel 185605 eesti-inglise ja 198319 inglise-eesti vastet.

Küll aga eeldab online-sõnastik iseenesest mõistetavalt võrgu olemasolu. Kuivõrd tegin sõnastiku mobiiliversiooni tehniliselt äärmiselt minimalistliku (ei ühtegi skripti, välja arvatud GA – lehe esmalaadimine on 3 HTTP requesti, taaslaadimine vaid 1) – ehk teisisõnu, isegi Edge ühenduse korral on sõnastik kasutatav.

Erinevused tavalehest on järgmised:

  • Mobiilseadmete suurusele/resolutsioonile sobiv kujundus, tumedamate värvidega ekraani akukulu vähendamiseks. Touchscreen-sõbralikkus.
  • Autocomplete puudub, et veelgi vähendada liigutavate andmete mahtu
  • Maksimaalselt 10 vastet, mitte 25
  • Puudub otsingu ajakulu.
  • Otsingut ei panda URL’i/ei alustata URL’ist (so, võrdluseks http://dukelupus.net/dict#&term=s%C3%B5nastik&direction=1).
  • Otsingu suunda ei jäeta meelde cookie abil. Ühe sessiooni piires jäetakse otsingu suund meelde (enteriga otsingute tegemiseks).

Nagu ikka, kui sul on ideid, soovitusi, kommentaare või leiad bugisid, anna nendest palun teada postituse kommentaarides.

2014-02-19

Bright sayings of bright people: programming quotes

Filed under: Programmeerimine — Sander @ 13:56:40
Tags: ,

While the last post had my own sayings, this one has some of my favorite programming quotes from others. Even the first part of the title is from the late Frederik Pohl.

  1. "Don’t just echo the code with comments – make every comment count."
  2. "Make sure comments and code agree."
  3. "Don’t comment bad code – rewrite it."
    "The Elements of Programming Style" by Kernighan and Plauger, 1974
  • "It’s important to communicate what the code should be doing.” – Joe Kunk
  • “It’s hard enough to find an error in your code when you’re looking for it; it’s even harder when you’ve assumed your code is error-free.” - Steve McConnell
  • “If debugging is the process of removing software bugs, then programming must be the process of putting them in. ” – Edsger Dijkstra
  • “Walking on water and developing software from a specification are easy if both are frozen.” - Edward V. Berard
  • “First, solve the problem. Then, write the code.” - John Johnson
  • “Should array indices start at 0 or 1? My compromise of 0.5 was rejected without, I thought, proper consideration.” - Stan Kelly-Bootle
  • “Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live.” – unknown (attributed to John F. Woods, Rick Osborne, Martin Golding)
  • “Any fool can write code that a computer can understand. Good programmers write code that humans can understand.” - Martin Fowler
  • “Programs must be written for people to read, and only incidentally for machines to execute.” – Abelson/Sussman
  • “Computers are good at following instructions, but not at reading your mind. ” – Donald Knuth
  • “Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning.” – Rick Cook, The Wizardry Compiled
  • „Do unto the next developer as you would have them do unto you“ – Joe Kunk

2014-02-14

Quotes on programming

Filed under: Isiklikud,Programmeerimine — Sander @ 14:47:21
Tags: ,
  • There is nothing worse than a programmer who compiles the spec into the code, without asking “could the workflow be better?”, “could this be a bug in spec?” or even “does this make any sense whatsoever?”

  • Bad programmers tend to gravitate towards management. Too often they will become mediocre project managers, then bad department managers and finally horrible CTOs.

  • (on Robert Martin’s “Clean Code”) “Clean Code” doesn’t tell you how to write good code, nor maintainable code. Instead, it teaches you to write consultant code, or “cuckoo code”: you drop a nice shiny egg into the nest and fly away, leaving others to maintain the ugly monster that hatches.

  • Every programmer writes bad code sometimes. But when you have to ask "doesn’t he know better or is he trying to sabotage the project?", you’ve found a truly horrible coder.

  • If you are looking at your own code from two years ago and it looks fine, it doesn’t mean you were a good programmer two years ago. Quite the opposite, it means you haven’t grown as a programmer within these two years. You haven’t learned anything.

  • Code review is like a pair of pants. If you work at home, pants are optional. But if you are in public, you’d better make sure you have pants on, even if no one looks at you.

  • Too often the only reason teams use agile programming is to be able to say that they are using agile programming.

  • But what is there to love about the code? It is the same excitement that a poet gets from writing a poem, or a painter from painting. It is the act of creation, the “develop” part of the word “developer”. We write some lines of text, which abides to the certain rules, and suddenly ex nihilo! we have a website, a video player, a database engine or something else.

  • The point where I’m getting to is that you can be eager and write more code. Or you can be lazy and figure out a way to write less code. Being lazy is a good thing in a programmer. It forces us to find patterns and promotes code reuse. It makes us more effective. It makes us better.

  • A programmer should be smarter than his tools. Don’t expect the compiler to fix your bad code.

  • If the comment does not match the code, it is the comment that is correct and code that is wrong.

***

I’ll post these mostly so I would remember them and re-use when appropriate.

I think these quotes are mine, from various blog posts, presentations and discussions. If I have inadvertently picked up or rephrased someone else’s text, please let me know in the comments.

Järgmine lehekülg »

Theme: Rubric. Get a free blog at WordPress.com

Follow

Get every new post delivered to your Inbox.

Join 81 other followers