Friday, May 27, 2022
Thursday, May 26, 2022
Wednesday, May 25, 2022
Monday, April 11, 2022
Friday, March 18, 2022
Thursday, March 17, 2022
Friday, March 11, 2022
Thursday, March 10, 2022
Friday, March 04, 2022
Tuesday, March 01, 2022
Tuesday, January 04, 2022
OOP The Easy Way
It made me feel good, and gave the promise of a worthy pursuit to me who was wallowing in indulgence, guilt and post-operative invalidity.
Why OOP ? I used to read articles titled "OOP is a horrible disaster that must end " and nod my head all along and wait for civilisation to come crashing down due to OOP so that I could say "ah ! I told you so".
The hour is late and the time is nigh and the industry has consumed OOP with great delight and absolutely no sign of letting up and mostly, all the jobs paying my salary has been on this.
So maybe I am turning into the skid.
Or maybe I am digging my grave a foot deeper .
Time will tell.
Who is Tim Rentsch ?
https://www.academia.edu/34882629/We_need_to_Small_talk_object-oriented_programming_with_graphical_code_browsers
https://dl.acm.org/doi/10.1145/947955.947961
OOP was meant to be easy enough for children
Part 1 of the book is deconstruction of OOP
Objects receive messages and locate methods corresponding to those messages and invoke them.
Flip this and you get Objects decide what to do with messages.
The CMU Mach system . No tight coupling - send messages over a port.
Compare with opening para of the ZeroMQ book (written by the creator)
Micro-services sounds like OOP. A micro-service is an independent entity communication over stateless wire formats with other parts of the system. = object.
Brad Cox founded Objective C and built a company to exploit it .
"... so that OOP becomes an “alternative” to functional programming, in which the big problem is decomposed according to the operations used in its solution. "
More stuff to read ,this time on functions/functional
https://dl.acm.org/doi/10.1145/3193776
Haskell is a functional language with facility for handling state (oh no , monads !!)
------------------
In his textbook “A Touch of Class” from 2009, in Section 2.3 “What is an object?”, Bertrand Meyer uses the following definition:
An object is a software machine allowing programs to access and modify a collection of data.
This is in exact opposition to the usual goals of "encapsulation" or "data hiding" that we have heard about, in which we try to forbid programs from accessing and modifying our data!
------------------
very much a huh ? moment there .. doesn't an object encapsulating data and providing methods for their manipulation satisfy both ?
ooh ooh ooh - a paper by the biggies ! also note, they refer to Tom DeMarco in the, well, references !!!
Kent Beck and Ward Cunningham published a paper on UI patterns before the GoF got theirs out.
http://c2.com/doc/oopsla87.html
The paper has 5 UI patterns
Kent Beck is one my favourite software heroes - the c2 wiki is apparently made from 4 or 5 lines of code.
Similar to the PHP founder's comments
Patterns failed, why should we care ?
https://www.deconstructconf.com/2017/brian-marick-patterns-failed-why-should-we-care
All GoF patterns are implementation patterns, unlike Christopher Alexander
Larry Wall's TimToady = TIMTOWTDI = there is more than one way to do it
---- building objects
smalltalk ideas of bytecode, live editor, image etc
- the image is both personal and universal !
is gnu smalltalk a smalltalk ?
no building step .
live objects !
" The worldview that lends us words like “toolchain” or “pipeline” is one of sequential activities, where a program may end up “in production” but certainly doesn’t start there. People using the programs happens at the end, when the fun is over. "
We feels deeply about this. And I agree. The fun is tinkering and seeing magic happen. In todays world they don't care about this, they care about you shipping magic regularly, in a horrible clanking setup and no fun.
The point that the using and making of software should go hand in hand is a doctrine that lies unadopted ,but is probably the only way to have fun in creating software.
I am close to ending part -one - the antithesis
OOP is independent agents interacting through messages. There. What I do at work in Java is not OOP.
one problem with random object structures coming over the wire is that JSON de-marshalling creates piles of doo-doo like lists and maps containing lists and maps , even for simple objects.
------
Friday, December 31, 2021
Saturday, December 25, 2021
the Twelmot formula
Thursday, November 04, 2021
I thought we were living in a computer simulation.
However, last night, I created some decryption software that would crack ANY encryption on the planet, called up my CIA contact and updated him, then burnt it into a usb drive disguised as a mid-10th century Mesopotamian dagger
What tripped my alarms was the fact that I never had a CIA contact, so who did I call ? And of course, at midnight, a figure all dressed in black, climbed over the balcony sill, sneaked into my study and tried to make away with the dagger.
We aren't living in a computer simulation. We are living inside a spy movie !!
bits and pieces of Thief of time has been coming back to me in many many ways.
God's debris too, is magical too !!
what if there are no particles, only a particle, and it expresses itself in multiple ways, and each pattern is a mind
Death is beyond time. he can go to any moment, as though it were a place
what is this was the reality of the universe , that it was a stretch of moments stretched across to infinity , a divine japa mala ?
what if it was just one mind ,divided among itself, traversing each bead of a mind, planting sensory input like how I assume a matrix process would run ...
the big bang would be the breakup of the single universe(al consciousness- both are one) into a free agent and the rest
what if the single particle manifests, and one after the other
David Deida has come up again, only because the landscape he paints fits things as I see them
ba duan jin too
Tuesday, October 12, 2021
When two people meet, there are actually six people meeting.
This line is by William James. Didn't expect to be in such good company.
Are these the id, ego and super-ego ? or should I say, do these correspond to the id, ego and super-ego ?
In the annals of human psychology, no beast retains so much power or influence, as does the pink elephant.
All variations of human interaction and discourse start and end with one single aim - to install the right pink elephant.
Monday, October 04, 2021
revisiting The Matrix in 2021. When Elrond moonlights as an AI program
Nowadays they are just programs.
Comparing Columbo to Monk can help you see the speed, but also comparing Charlie Chan to Columbo .
The oracle is a woman baking cookies in a kitchen, holding vast powers of wisdom and prophecy. A very interesting picture that.But we already knew , that our women in our kitchens knew more about the life and the purpose of the universe than we could even dream of. Yeah, but they won't tell us. We men are pawns in their grand game. Again, Alice in wonderland.
Monday, September 27, 2021
John Ousterhout - Philosophy of Design - talk at google - notes
https://www.youtube.com/watch?v=bmSAYlu0NcY
Design is the most important. Yet it is not taught . Can it be taught ?
Most important aspect of design = problem decomposition
CS190 at Stanford - iterative - write, get feedback, write
1. Students build largest system they can think of in 3 weeks ~ 3k lines
2. Code reviews
3. Write some more code , repeat
|_ one of 2 most important papers
Classes should be deep
"classes and methods should be small " leads to 'classitis'. abstraction is important not length
unix file IO . the complete interface = 5 functions.
Define errors out of existence
Define semantics so that there are no errors there, limit places where exceptions are handled
three examples -
a) Tk - unset a non existing variable - fail silently
b) Not allowing delete when writing going on - correct answer - unix - delete from directory entry, but keep contents so that working process finish, then when last fd is closed throw away file
Worst solution - remove the file when deleted, so now all other processes will have to handle an exception of what to in the middle of their write (what DO you do? how DO you code for such a possibility other than throw an error saying "i have no idea what to do, it's so wtf ,so exiting")
*) is it okay to crash - ans OOM errors - sure
Tactical vs Strategic programming
make classes more generic, wham! you get deep classes
Q&A
** secrets, principles no recipes FULL LIST **
- working code isn't enough, must minimise complexity
- complexity comes from dependencies and obscurity
- strategic vs tactical programming
- classes should be deep
- general purpose classes are deeper
- new layer, new abstraction
- comments for things not obvious
- define errors out of existence
- pull complexity downwards
Sunday, September 19, 2021
when i first watched the matrix
folks only had desktop computers, and that too only the rich
laptops were fiction
nobody had anything to do with cellphones
I used to call home occasionally over a land line
We used to read book for information, and the movers-and-shakers would read magazines to stay up to date, and we would hang out in places and talk and make fun of each other as a way to pass the time.
Space was infinite, and walking to the gate from the hostel took a long time.
the idea of an immersive digital world replacing reality was extreme, far out fiction, and hence utterly delicious
Gibson said "we live in a mediated world, everything's mediated"
As Tofler said, space has shrunk
today the matrix (Wachowski ,not Gibson) is a reality, except that it's not the internet or the technology, rather torrent of information pouring out of copper wires, optic fibre and over the ether rendering minuscule our direct experience of reality and the consequent meaning/context/structure-of-the-world formation.
Hot technologies (McLuhan) have taken over and we are hollow shells .we obey, we consume, we go through the motions, most of us imbibing legal enhancer-drugs ( caffeine, nicotine ) and downers (alcohol) while others go 'beyond', imbibing the illegal ones - charlie, molly, ludes
the monks could drop out, but now meditation has made the list of legal enhancers, so it's impossible to know in a retreat if you're breaking through to the real, or just consuming more manufactured 'real'.
Notes : Understanding Media by Marshall McLuhan
Chapter 1
"In a culture like ours, long accustomed to splitting and dividing all things as a means of control, it is sometimes a bit of a shock to be reminded that in operational and practical fact, the medium is the message."
the evil starts with Descartes.