ComputerScientist
174 subscribers
14 photos
3 files
206 links
▜ The Inventor

Stuff that inspire you to create.

See also: ▙ @LitMind
Download Telegram
#TalkingSemicolon

To use all/any, you need to construct a new iterator. You can override their behavior:

def __and__(self, other): return False

which also affects all.

#Python
#TalkingSemicolon
Tools for natural language generation
Either Keras/TensorFlow if going with #Python or TorchNN if going with #Lua.
Nothing else really works.
#TalkingSemicolon
How to insert GUI

One first makes a core logic, then connects a GUI to it, not the other way around.
GUIs are only methods for displaying things; if your GUI controls your logic, your program model is plain wrong.

Your core has to have support for actions made possible in the GUI, if you make the core based on the UI, it will be pure shit.
#TalkingSemicolon
Was Smalltalk an inspiration for Citron's syntax?

Yes, it was.

Was it more?

It was much more than the syntax. The idea of a dynamic dispatch system with pure OO, came from Smalltalk

Have you reinvented or refined Smalltalk?

Not really, Citron is quite different, it has different thoughts behind it, it tried to do things very differently.

#Citron #Smalltalk
#TalkingSemicolon

condition ifTrue: consequence

There's also an ifFalse:, because why waste time not'ing a boolean?

#Citron
Nile's object-oriented philosophy is a combination of class-based and prototype-based programming; it is both and neither.

Class-based
There are classes but there is no inter-class inheritance.

Prototype-based
Classes are themselves objects, but there is no delegation; overriding behavior is done explicitly upon qualifications.
“You don't have to make a functionality for every nice terminology.”
#TheSemicolon
The mind is a self-rewriting computer.
dead variables := written to, but never read again
Swing versus AWT
Every Swing lightweight interface ultimately exists within an AWT heavyweight component because all of the top-level components in Swing (JApplet, JDialog, JFrame, and JWindow) extend an AWT top-level container.

AWT components
• are heavyweight
• are implemented by platform-specific code.
• are rendered and controlled by a native peer component specific to the underlying windowing system.

Swing components
• are lightweight
• are written entirely in Java and therefore are platform-independent.
• do not require allocation of native resources in the OS's windowing toolkit.
• Rendering is provided by Java 2D.
• More powerful and flexible
• More components such as tabbed panel, scroll panes, trees, tables, and lists.
• Customizable look and feel

After Java 6, both Swing and AWT components can co-exist in one GUI without Z-order issues.

#Java

“Fuck both of them, and fuck Java on top of it. But if you must, of course, Swing.”
#TheSemicolon
Complement qualifications
A set of qualifications is defined as the universal set. This means that the children of this universalSet have to be qualifed for at least or exactly one of them.
“Either throw Windows out of the computer or throw the computer out of the window.”
#Richard_Stallman
“The principle of simplicity is the central theme of Ockham’s approach, so much so that this principle has come to be known as "Ockham’s Razor"; Ockham uses the razor to eliminate unnecessary hypotheses.
— Sharon Kaye
“If you have built castles in the air, your work need not be lost; that is where they should be. Now put the foundations under them.”
#Henry_David_Thoreau, advocating top-down design
“When walking in open territory, bother no one. If someone bothers you, ask him to stop. If he does not stop, destroy him.”
#Anton_LaVey, Eleven Satanic Rules of the Earth

also very good advice for an MMORPG.
A strong pilot propels the idea.
Minimum object size is 16 bytes for modern 64-bit JDK since the object has 12-byte header, padded to a multiple of 8 bytes. In 32-bit JDK, the overhead is 8 bytes, padded to a multiple of 4 bytes.

References have a typical size of 4 bytes on 32-bit platforms and on 64-bits platforms with heap boundary less than 32Gb (-Xmx32G), and 8 bytes for this boundary above 32Gb.

#Java

read more
#characters
Arrows
#language #Pharo
Pharo

First appeared: 2008

Features:
• live programming
• purely object-oriented
• dynamically typed
• reflective
• inspired by #Smalltalk
• single inheritance between classes
• traits: groups of methods
"Pharo syntax fits on a single postcard."