Taras Bunyk

Revision checklist from Technical Writing OnePublished: 2021-01-28 Tags: notes, on writing

Google has nice course on technical writing. It's text itself is example on how to apply advice you will learn there. I finished first part twice, because first time I just did exercises and not made any notes. Before starting second part I noticed that I forgot almost everything, so I retook it with also taking some notes.

End of the course gives short summary, but here I'll give you mine checklist, which is a nice addition to revision checklist from Academic and Business Writing.

Evergreen notesPublished: 2021-01-27 Tags: notes, on writing

Here are my notes of the notes about "evergreen notes". I find concept interesting, as it reminds me of how I already tried to do knowledge management in the past, while editing Wikipedia, or keeping notes for myself.

Evergreen notes are notes made across projects which are expected to evolve and accumulate. "Evergreen" here means functional, live & useful for a long time.

To split or not to split? What are microservices and should you use them.Published: 2021-01-08 Tags: notes

Notes from reading early 2nd edition release of book Building Microservices by Sam Newman.

Academic and Business Writing course notesPublished: 2021-01-01 Tags: MOOC, notes, on writing

This post will contain my notes and assignments from the edX course Academic and Business Writing.

I would rearrange notes in order that seems more logical for the writing process, not in the order information was provided in course.

In general writing process could be organized in following steps:

  1. Reading. To be a good writer you need to be active reader.
  2. Prewriting. All the stuff you do before you get down to actual writing.
  3. Writing draft, trying to use correct vocabulary.
  4. Revision of that draft to produce next draft with fixed writing problems.
  5. Repeating step 4 again for more low-level improvements of text (editing).

This steps and ways to get better at them will be detailed in sections below.

Machine Translation course notesPublished: 2020-12-04 Tags: MOOC, notes

Recently finished Coursera course on Machine Translation. That was mostly overwiew course without any programming practice, but with a lot of links to scientific papers. So it is somewhat theoretical, but I would probably recommend if you want to dive into that field from research point of view.

So for example you get quizzed with questions like: One important difference between phrase-based MT and n-gram based MT is:

  1. N-gram based MT has a fixed segmentation into units.
  2. ..

But you will not be taught how to implement any of those. Instead you will get links to MOSES & GIZA projects. But probably course will help to understand that project.

I'm not at all a researcher, have no skill of reading the papers, and to get most of that course, tried to just write down notes. I have couple of promising areas into which I should dive deeper and experiment, to help me with my job of automating content creation for multilingual e-commerce site. And just on listening lectures, writing down notes and doing quizzes took me 14 hours measured in pomodoros to complete (already more than SICP, I should return back to it eventually). Then I'll probably try some hands-on experimentation with TensorFlow.

So, here are typed notes made of my handwritten notes. They probably will not make much sense for you, especially because I'm to lazy to digitize hand-drawn diagrams, but maybe will help you to figure out what is inside the course and if you need to enroll into it yourself.

Thoughs on typingPublished: 2020-09-23 Tags: ideas

I was searching for something related to SICP, found this post, and noticed another article on that blog, about typing speed.

That article argues that even though typing speed usually is considered to not be a bottleneck in the developer's productivity, it really is. Because, even if we agree that typing code is a small fraction of all the work that software developer is doing, developers type a lot, and it's mostly communication: chats, Jira, emails, documentation, etc.

SICP 2.5.1 Generic arithmetic operationsPublished: 2020-09-02 Tags: SICP

In previous post I have used wrong StackOverflow answer. :) Or, to be more precise, right answer for that section, but useless here, as we want to store in table functions for multiple arguments.

Correct answer that supports lists looks like this:

(define *op-table* (make-hash-table))

(define (put op type proc)
  (hash-table/put! *op-table* (list op type) proc))

(define (get op type)
  (hash-table/get *op-table* (list op type) #f))
SICP 2.4 Multiple representations for abstract dataPublished: 2020-08-26 Tags: SICP

I went on vacation and lost cadence on this project. Need to get back on track, remember how to lauch interpreter, etc. :)

Link to the chapter

In this chapter we will need get and put functions which could be implemented by similar system functions.

Found this on StackOverflow, of course.

(define put 2d-put!)
(define (get a b)
    ;(display "get ") (display a) (display b) (newline)
    (2d-get a b)
SICP 2.3.4 Huffman encodingPublished: 2020-08-02 Tags: SICP

Exercises to use sets and trees in practice. This topic reminds me of project in Scala course by Martin Odersky.

SICP 2.3.3 Representing setsPublished: 2020-07-28 Tags: SICP

This was more boring in comparison to previous section, probably because it required writing less code, and just writing more explanations. Writing is thinking, so I tried to do that. Or maybe it was boring because sets are not as exciting as symbolic differentiation. At least when you have high level language.


© 2021 Bunyk Taras. Built with Material UI & Next.js