cs99cjb
cs99cjb@hachyderm.io
Posts
-
View post
Skill Issue #cprogramming #cprogramminglanguage
-
View post
Fun with array and function decay. #cprogramming #cprogramminglanguage
-
View post
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. Everyon...
- View post
-
View post
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.
-
View post
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 bur...
-
View post
The vivid colours in this Ron Embleton painting from the closing credits of #captainscarletandthemysterons suit the limited palette of the #bbcmicro
-
View post
#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
-
View post
#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
-
View post
#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
-
View post
#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%&...
-
View post
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