Archive for the ‘Announcements’ Category

Mod N Reading System

Tuesday, November 17th, 2009

ModerN Reading System

Gradually I perfected my cooperative multireading technique by combining modular arithmetic with software data structures and algorithms like sets, circular buffers, priority queues and round-robin scheduling. It sounds complicated but in reality the technique is very simple and suited well to everyone who wants to learn everything at once and doesn’t like traditional a book after a book method. All books we want to read are organized in sets (here I give my own arrangements as an example):

  • Commuting sets
  • Home reading set
  • Background office reading sets
  • Lunch reading set

Every set is organized as a circular buffer (mod N). Some buffers are optimized to avoid heavy load while commuting. For example, my commuting set is split into two buffers: one is at home and another is in the office. When I leave to the office I take 2 books from the top of the example queue I have currently at home:

When I arrive to the office I put them at the bottom of the corresponding office book set. When I leave for my home I take 2 books from the top of the office queue and when I arrive at home I put them at the bottom of the depicted queue above. Thus I manage to read 4 different books every day during commuting. Sometimes I don’t have a place to sit on the train or just stand waiting for its arrival. For such cases I have a separate queue of 16 Routledge books (The Basics series). They are small and I read only one of them every day. In total this amounts to 5 different books a day and I read 4 - 12 pages from each. For each commuting direction I have 3 books (2 + 1).

Next I have semi-fixed set of books for lunch reading, usually 5 or 6 of them. I read 6 - 12 pages from each. These books are organized as a priority queue where books with more pages have higher priority. If 2 or 3 books are on the same topic they are put into a circular buffer to read one per day. In addition, I put a few magazines I’m subscribed to in a cyclic buffer too.

In addition to this, I read only one book at the time at home from cover to cover (usually in Russian). At home I mostly write books (instead of reading).

In the office I have different sets for background reading (instead of cigarette breaks I had before I quit smoking). This set of sets is organized as a priority queue with every subset having a circular structure as well if it has more than one book. One long term set with higher priority is The CRC Encyclopedia of Mathematics. Other books I read in the office include software engineering titles and for them I publish notes on this blog.

It can be boring sometimes to read the same 1,000 page books for long periods of time so I also introduce an element of randomness by injecting some recently purchased book or a book from the pool of old unread books.

It is very scalable even if you have only a few hours to read per day. Most important, it also gives a certain satisfactory feeling of having started reading all books you accumulated and provides cross-book idea fertilization and better knowledge acquisition by repetition.

Now I apply the same reading system to my renewed study of foreign languages. Currently it is German where I have 10 basic language level books arranged in a circular buffer.

Another thing to keep in mind is that you need to have a goal: why you read all these books.

- Dmitry Vostokov @ SoftwareGeneralist.com -

Software Generalist Worldview

Monday, September 28th, 2009

I was recently revisiting my old post about model-based definition of software defects in relation to their forthcoming classification. When thinking I recalled a three worlds diagram in Roger Penrose’s The Road to Reality book depicting the Platonic mathematical, the physical and the mental and came up with Software Generalist three worlds: World, Models and Software:

  

- Dmitry Vostokov @ SoftwareGeneralist.com -

Online Debugging Expert Magazine

Wednesday, September 9th, 2009

Because debugging is a part of software construction and software engineering in general I repeat on this blog the announcement of the free online version of Debugged! MZ/PE magazine under the code name DEMO that was launched last night:

Debugging Expert Magazine Online (www.DebuggingExpert.com)

- Dmitry Vostokov @ SoftwareGeneralist.com -

Empires of the Code (Book Inception)

Tuesday, September 1st, 2009

Windows code, Unix code, MSDOS code, BeOS code, Cantor code, PDP code, x86 code, … Every such code has its distinct semantics and pragmatics, converging, evolving and coming to extinction, backed by economic, social and political forces, having its readers and writers. A few years ago I bought and started reading the book “Empires of the Word” by Nicholas Ostler and while thinking today whether I should buy its Folio edition I finally realised that there are also empires of the code intertwined with modern history. As usual, I reserve an ISBN number for this (978-1906717810) yet unwritten book and starting to think about collaborative writing.

- Dmitry Vostokov @ SoftwareGeneralist.com -

State and Event

Thursday, March 5th, 2009

OpenTask plans to publish a philosophical treatise:

State and Event: Categorical Foundations of Being and Time (ISBN: 978-1906717643)

- Dmitry Vostokov @ SoftwareGeneralist.com -

Sociology of Software

Wednesday, March 4th, 2009

This is a new book planned by OpenTask with the some preliminary details:

Sociology of Software: An Anthology and A Dictionary (ISBN: 978-1906717636)

- Dmitry Vostokov @ SoftwareGeneralist.com -

Software Generalism

Wednesday, February 18th, 2009

The class struggle and alienation in software factories brought me to final conclusion that a software generalist is the future classless software creator. Please don’t get me wrong, I’m not a Software Marxist advocating Software Marxism, Socialism or Communism. Believe me or not, Software Generalism is a much brighter future. More on this later.

- Dmitry Vostokov @ SoftwareGeneralist.com -

Redefining Software Generalist

Friday, January 9th, 2009

The subtitle of this blog has changed from “All you need to know to become a successful software engineer” to “Connecting Software with Engineering, Science, Philosophy and Religion” to reflect the shift in content towards the broader spectrum of topics since its foundation almost a year ago. The original idea to provide short independent survey articles about various aspects of software engineering now becomes one of categories of posts on this blog.

- Dmitry Vostokov @ SoftwareGeneralist.com -

The Variety of Software

Friday, January 9th, 2009

This is a new book planned by OpenTask with the some preliminary details:

The Variety of Software: The Richness of Computation (ISBN: 978-1906717544)

- Dmitry Vostokov @ SoftwareGeneralist.com -

Software and Philosophy

Thursday, January 8th, 2009

No reading today, only planning a pocket book as a selection of expanded, edited and commented posts with philosophical inclinations:

Software and Philosophy: An Anthology of Metaphorical Bijections (ISBN: 978-1906717513)

- Dmitry Vostokov @ SoftwareGeneralist.com -