MacBook keyboard rage. Copy: Command-C. Bash recall: Control-R. Page up: shift-fn-up. You need hash? Good luck with that.
Notice how shift, caps lock and tab are given unintelligible symbols instead of names; other names are needlessly abbreviated. The layout makes it virtually impossible to orient your fingers by touch or colour. The whole design is a masterclass in obscurantism and overcomplexity.
#bbcmicro
Posts
#bbcmicrobot ë2
ï23,1,0;0;0;0;
Þc%(4,15)
I%=1
ãF%=1¸4
ãC%=0¸15
ï19,C%,0;0;
c%(F%,C%)=7*((C%ƀI%)ƁI%)
í C%
I%=I%*2
íF%
I%=1
X%=1280/2
Y%=1024/2
D%=Y%
ãF%=0¸3
æ1,I%
A=F%*(2*¯/3)/4
ax%=X%+D%*ƛ(A)
ay%=Y%+D%*µ(A)
A=A+(2*¯/3)
bx%=X%+D%*ƛ(A)
by%=Y%+D%*µ(A)
A=A+(2*¯/3)
cx%=X%+D%*ƛ(A)
cy%=Y%+D%*µ(A)
òt(ax%,ay%,bx%,by%,cx%,cy%,0)
I%=I%*2
í
õ
ãF%=1¸4
V$=""
ãC%=0¸15
V$=V$+½19+½C%+½c%(F%,C%)+½0+½0+½0
í
*FX19
ñ;V$;
í
ý£
Ýòt(ax%,ay%,bx%,by%,cx%,cy%,d%)
êdx%,dy%,ex%,ey%,fx%,fy%
d%=d%+1
çd%>5ìax%,ay%:ßbx%,by%:ßcx%,cy%:ßax%,ay%Ƌdx%=(bx%+ax%)/2:dy%=(by%+ay%)/2:ex%=(ax%+cx%)/2:ey%=(ay%+cy%)/2:fx%=(bx%+cx%)/2:fy%=(by%+cy%)/2:òt(ax%,ay%,dx%,dy%,ex%,ey%,d%):òt(dx%,dy%,bx%,by%,fx%,fy%,d%):òt(fx%,fy%,ex%,ey%,cx%,cy%,d%)
á
#bbcmicrobot MODE 2
DIM c%(4,15)
I%=1
FOR F%=1 TO 4
FOR C%=0 TO 15
VDU 19,C%,0;0;
c%(F%,C%)=7*((C% AND I%) DIV I%)
NEXT C%
I%=I%*2
NEXT F%
FOR P%=1 TO 20
I%=1
X%=RND(1280)
Y%=RND(1024)
Z%=16+RND(48)
FOR F%=0 TO 3
GCOL 1, I%
MOVE X%,Y%
R%=Z%*(1+F%)
PLOT 153,0,R%
I%=I%*2
NEXT,
REPEAT
FOR F%=1 TO 4
*FX19
FOR C%=0 TO 15
VDU 19,C%,c%(F%,C%);0;
NEXT,
FOR F%=3 TO 1 STEP -1
*FX19
FOR C%=0 TO 15
VDU 19,C%,c%(F%,C%);0;
NEXT,
UNTIL FALSE
#bbcmicrobot MODE1
FORN%=1TO3:VDU19,N%,11+N%;0;:NEXTN%
*FX9,4
*FX10,4
c%=0
PROCtri(0,0,1280,0,640,1024,0)
END
DEFPROCtri(ax%,ay%,bx%,by%,cx%,cy%,d%)
LOCALdx%,dy%,ex%,ey%,fx%,fy%
d%=d%+1
c%=1+(c%+1)MOD3
IFd%>6GCOL0,c%:MOVEax%,ay%:DRAWbx%,by%:DRAWcx%,cy%:DRAWax%,ay%ELSEdx%=(bx%+ax%)/2:dy%=(by%+ay%)/2:ex%=(ax%+cx%)/2:ey%=(ay%+cy%)/2:fx%=(bx%+cx%)/2:fy%=(by%+cy%)/2:PROCtri(ax%,ay%,dx%,dy%,ex%,ey%,d%):PROCtri(dx%,dy%,bx%,by%,fx%,fy%,d%):PROCtri(fx%,fy%,ex%,ey%,cx%,cy%,d%)
ENDPROC
#bbcmicrobot MODE2
*FX9,4
*FX10,4
c%=0
PROCtri(0,0,1280,0,640,1024,0)
END
DEFPROCtri(ax%,ay%,bx%,by%,cx%,cy%,d%)
LOCALdx%,dy%,ex%,ey%,fx%,fy%
d%=d%+1
c%=8+(c%+1)MOD7
IFd%>6GCOL0,c%:MOVEax%,ay%:DRAWbx%,by%:DRAWcx%,cy%:DRAWax%,ay%ELSEdx%=(bx%+ax%)/2:dy%=(by%+ay%)/2:ex%=(ax%+cx%)/2:ey%=(ay%+cy%)/2:fx%=(bx%+cx%)/2:fy%=(by%+cy%)/2:PROCtri(ax%,ay%,dx%,dy%,ex%,ey%,d%):PROCtri(dx%,dy%,bx%,by%,fx%,fy%,d%):PROCtri(fx%,fy%,ex%,ey%,cx%,cy%,d%)
ENDPROC
The vivid colours in this Ron Embleton painting from the closing credits of #captainscarletandthemysterons suit the limited palette of the #bbcmicro
I have always been very interested in the death of meaning; that's why I joined the C standard committee. An example of semantic death is exemplified by the behaviour of cargo cults, who mimic the rituals of airfields (building towers, waving sticks, lighting fires, etc.) in the hope of eliciting deliveries of cargo. I have only lately become interested in the death of meaning in #thomasthetankengine. In the justly iconic cover painting of the original book, published in 1945, Thomas bursts out of a tunnel in an exciting image. His single headlamp is correctly illustrated to indicate a mineral freight train stopping at intermediate stations. Since then, first the makers of the television series, then countless illustrators who knew nothing about railways (and probably cared less) have slavishly copied that headcode without having the faintest idea what it means. Within a couple of generations, its meaning has died through ignorance and incuriosity. The lamp is now mere decoration, forever fixed in place.
An illustration of the evolution of the ARM instruction set: https://godbolt.org/z/dMoGM3E6f
There are no branches in the ARMv2 routine, which has a single exit; the ARMv9 routine has up to three branches and two exits. It also has about 28% worse code density. Different designs to satisfy different constraints.
Last week, I had a dream about being at a Reform party rally in a dark windowless room like a basement nightclub. The warm-up act was two or three Nigel Farage lookalikes doing circuits of the crowd, one of whom rode a bicycle. An onlooker threw a penny at one of the lookalikes, seemingly aiming for his eye, but the lookalike produced it from his ear with a flourish, like a magician. Then the main act, the real Nigel Farage, arrived. He began to sing a song and do some small dance steps. Everyone sitting in chairs against the walls of the room applauded him. Afterwards, Farage came around and greeted the attendees one by one, shaking everyone's hand and pausing for selfies. When he got to me, I said grudgingly "I didn't know you could dance and sing" and then, daringly, "but I've never forgiven you for Brexit." Farage laughed this off, saying "That's all water under the bridge now", and moved onto the next person.
Fun with array and function decay.
#cprogramming #cprogramminglanguage
Skill Issue
#cprogramming #cprogramminglanguage
Anyone who thinks the #bbcmicro can’t display serious dramatic artwork really isn’t trying. (mode 1, 2bpp, 320x256) #retrospecs @retrospecs@mastodon.social