Blackboard Computing Adventures πŸ’‘
9 subscribers
786 photos
73 videos
61 files
262 links
Welcome to BCA ⚑⚑ our Virtual Learning Space. Mostly Blackboard snapshots, sometimes with explanatory/exploratory and analytical notes. Open teaching efforts by Fut. Prof. JWL at his BC gate on 1st Cwa Road and HQ research dissemination.
Download Telegram
Blackboard Computing Adventures πŸ’‘
Final-Signature_for_Contract_9781041317654_-_Transf (1).pdf
Greetings to readers of the first edition... Please keep checking in 2026 for the final physical copy. We'll let you know once it's ready and available internationally βœ“
Introducing TDT TEA DATA TEMPLATES

-------------{~}Β°

With TEA v1.2.4, we have introduced an example standard program that shows how to generate random dynamic datasets based on data schema templates in a format we are calling TDT (TEA DATA TEMPLATES). You can generate datasets in formats such as JSON, CSV, YAML, Excel, TODO-Lists, etc.

https://youtu.be/D3dy_wvZPRM

Go to the TEA WEB IDE and checkout how this works plus examples already made available as part of the TEA Standard Programs. πŸ΅πŸƒβœ¨πŸ‘†πŸΌ

{Name: "<p!:5|z*:|t!.:>", Age: <n!:101>, Gender: "<p!:1:1:FM>"},[5]

And that would generate random data such as...

[
{Name: "Tnayd", Age: 54, Gender: "F"},
{Name: "Brux", Age: 66, Gender: "M"},
{Name: "Essyj", Age: 77, Gender: "M"},
{Name: "Skhfu", Age: 71, Gender: "M"},
{Name: "Tai L", Age: 92, Gender: "F"},]

#datascience #stochasticdatasets #datatemplates #miniprograms #dataengineering
Blackboard Computing Adventures πŸ’‘
Video
What the associated TEA CODE looks like?

#########################################
# STRUCTURED DYNAMIC DATA GENERATOR v.1
#----------------------------------------
# Can parse TEA Data Templates(TDT)
# and generate random data based on
# specification and embedded TEA code.
# Details on TDT syntax in the TEA TAZ Book
#########################################

#----| Sample Data Specification |------
#in case no explicit data was provided, use TDT template...
i:{ [{ "Name": "<p!:8|t!.:|z*:>", "Age": "<n:26:8>" "Description": "<p!:|s:|s:|z:>" },][5] }

#----| CONSTANTS |------
v:vOP_LT:{<}
v:vOP_INCR:{+1}

#----| PRE-PROCESS |----
v:vSCHEMA #store the data schema

#extract the core schema object only...
d:\[\d+\] | d:[\[\]] | v:vSCHEMA_TEMPLATE

#extract the number of objects to generate..
y:vSCHEMA | d!:\[\d+\] | d:[\[\]] | v:vN_RECORDS

#initialize empty output dataset..
v:vDATA_OUTPUT:{}

#init counter of records created thus far
v:vN_ITER:0

#----| DATA-GENERATION-PROCESS |----
l:lSTART_GEN

#test if we already reached limit, so we finish...
g*:{}:vN_ITER:vOP_LT:vN_RECORDS | r.: | f:^false$:lFINISHED_GEN

#process record to be added to list..
y:vSCHEMA_TEMPLATE | v:vGEN_RECORD

#######| PROCESS a RECORD |#####
l:lPROCESS_RECORD
y:vGEN_RECORD

#----| inject dynamic values... |----
#first, get all dynamic expressions
d!:<[^<>]*> | v:vDYN_EXPRESSIONS

y:vDYN_EXPRESSIONS
#if empty, move on...
f:^$:lDONE_PROCESS_RECORD

#extract only the first one...
d:><.* | d:< | d:> | v:vTEA_EXP

#evaluate it and store result
e*:vTEA_EXP | v:vTEA_EXP_VAL
#override dynamic field in template with computed value
y:vTEA_EXP | x:< | x!:> | v:vTEA_EXP | r*:vGEN_RECORD:vTEA_EXP:vTEA_EXP_VAL

#store final generated record
v:vGEN_RECORD

#process the remaining expressions too...
j:lPROCESS_RECORD

#done processing record template
l:lDONE_PROCESS_RECORD

#add it to the list...
g*:{
}:vDATA_OUTPUT:vGEN_RECORD | v:vDATA_OUTPUT

#increment record gen counter
g*:{}:vN_ITER:vOP_INCR | r.: | v:vN_ITER

#loop
j:lSTART_GEN

#----| DATA-GENERATION-COMPLETE |----
l:lFINISHED_GEN

#post-process data... enclose into JSON array...
y:vDATA_OUTPUT | x:{[} | x!:{]} | v:vDATA_OUTPUT

y:vDATA_OUTPUT #present final dataset and quit


#teacode #transformingexecutablealphabet #standardapplications #examples #dataengineering
Blackboard Computing Adventures πŸ’‘
Video
Go and START TDT Immediately:

https://tea.nuchwezi.com/?i=Your%2BTDT%2BTEMPLATE%2B%3Cn!%3A%0A%3E%2BHERE%5B5%5D&fc=https://gist.githubusercontent.com/mcnemesis/67a4ed5c72540384298c2d798de8d730/raw/generating_random_data_from_TEA_DATA_SCHEMA_specifications.tea

Sample Use-Case: Generate QR-CODE-like ASCII-ART via TEA Data Templates?

Try this TDT Model as the Input:

<p!:4:{⬜}:{β¬œβ¬›}>[5]

That, when executed against v1 of TDT shall produce outputs such as these:


[
β¬›β¬œβ¬›β¬œβ¬›β¬œβ¬œ
β¬›β¬œβ¬›β¬œβ¬›β¬œβ¬œ
β¬›β¬œβ¬›β¬œβ¬œβ¬œβ¬›
β¬›β¬œβ¬›β¬œβ¬›β¬œβ¬œ
β¬œβ¬œβ¬›β¬œβ¬›β¬œβ¬›]

[
β¬›β¬œβ¬œβ¬œβ¬›β¬œβ¬›
β¬›β¬œβ¬›β¬œβ¬›β¬œβ¬œ
β¬›β¬œβ¬œβ¬œβ¬›β¬œβ¬›
⬜⬜⬜⬜⬜⬜⬜
β¬›β¬œβ¬›β¬œβ¬›β¬œβ¬œ]



[
β¬œβ¬œβ¬œβ¬œβ¬›β¬œβ¬›
β¬›β¬œβ¬›β¬œβ¬›β¬œβ¬›
β¬›β¬œβ¬›β¬œβ¬›β¬œβ¬›
β¬›β¬œβ¬›β¬œβ¬œβ¬œβ¬œ
⬜⬜⬜⬜⬜⬜⬜]


Thus stuff is crazy! This makes TEA able to generate rich digital art using a route/technique normally used for just data engineering, data simulation and perhaps quantitative modeling --- so now stochastic datasets are not only transient data that might later be visualised, but can also be the visualizations themselves!

So many doors to incredible TEA applications now open. Please go try this stuff out and give us some feedback.


⬜⬜⬜⬜✨⬜✨
βœ¨β¬œβœ¨β¬œβœ¨β¬œβ¬›
⬜⬜✨⬜✨⬜✨
⬜⬜✨⬜⬜⬜✨
β¬›β¬œβœ¨β¬œβœ¨β¬œβ¬›

#thephds #universityofoxford #nuchweziresearch #profjwl
Forwarded from 266 TV
Blackboard Computing Adventures πŸ’‘
Arch L ft. MENSA ICE – The TEA TAZ
A special jam from NML stars for all those reading TEA code these days, as well as those investing effort into understanding what TEA CODE is all about, as well as how to grok both the TEA living tome; The TAZ (https://bit.ly/tazfile) and its TEA utilities (https://tea.nuchwezi.com) | β˜•βš‘
Forwarded from 266 TV
Blackboard Computing Adventures πŸ’‘
Arch L ft. MENSA ICE – The TEA TAZ
Arch L --- The TEA TAZ ft. MENSA ICE (2025) [Official Audio]

[VA] https://youtu.be/yYRc9n6rx-k
[A] https://t.me/tv266/1312

πŸ‘†πŸΌπŸŽ§ Is a special jam from NML stars for all those reading TEA code these days, as well as those investing effort into understanding what TEA CODE is all about, as well as how to grok both the TEA living tome; The TAZ (https://bit.ly/tazfile) and its TEA utilities (https://tea.nuchwezi.com) | β˜•βš‘

#ughiphop #archl #mensaice #tealanguage #alphabet

πŸŒΏπŸƒπŸŽ™οΈπŸŽ€πŸ₯πŸ§ŠπŸ§ŠπŸ§ŠπŸ«–πŸš¨πŸš¨β˜•

Arch L --- The TEA TAZ ft. MENSA ICE (2025) [Official Lyric]


---[INTRO]

It's 1, 2, 3..
Let's Go!

(TEA TAZ is for CODE | WE Move With God)

---[CHORUS: Mensa ICE]:

It's 26 Ways To Take Over Now..
Just 26 Ways To Get To The State

---[Bridge]

It's 1, 2, 3..
Let's Go!

---[The TAZ: Arch L]

A is for Anagrams: We Reshuffle the State

B is for Basify: Your Directions to the Base

C will get us all Cleared: Hoping that is Clear

D is about Deletion, You Can Filter The Mess: Use Symbols and Guns, Whatever can Work

E shall get Evaluation of The Code We Wrote

F and Forks Can Branch, See Diversions on Roads

G is about Glue: that's A Clue You Need

H can Hew A Problem: Divide and Conquer Them

I Interact: You Interact, You Exist,: Everything You Input Transform The Output

J is for Jumping Queues: So We Work On Other Things

K and Keep is about "KAMPALA for Keeps"

L is for CODE Labels, We'll Come Back to That

M is for Mirror OPs, not Military Mask: You Can Read Arabic from Left to Right If You Like

N is for Numbers: N' Reading The Mind of God

Order Yes That's In Order, U Apply The O

P is for Permutate a Relative of A: A 100 names of The Spirit that gave me Peace

Q is for JUST Quitting: You Smoke No More

R if you Read it, then Replace The Patterns

S and Salt are One: We Shall Need It In War

T is for Transform: Never Stay The Same: Some People get TripHop but not TikTok

U Can Unify Things by Uniqueing Them: Stats and Various Measures We Need to Count

V is for Vaulting: For Everything You Vote

We on the INTERNET, That Means We WEB: IP Addresses, So We Network Things

X is for Xenograft: You Prefix Affix

Y is for Yank: When You Need To Read Vaults

Zee Will Get US All Zapped: That's Magic In TEA: 26 Ways To Bring a Transformer to Life.

Now Who's Left?

That's Your Right Admin.



---[CHORUS: Mensa ICE]:

It's 26 Ways To Take Over Now..
Just 26 Ways To Get To The State

---[Bridge]

It's 1, 2, 3..
Let's Go!

---[Outro]:

It's 26 Ways To Take Over Now..
Just 26 Ways To Get To The State
Forwarded from UGANDA
https://www.academia.edu/download/119519404/NIM_UGANDAs_own_APP_STORE_proposal_draft.pdf

πŸ‘†πŸΌπŸ€“ Earlier this year.. and in 2024.. we (at Nuchwezi Research) made a proposal to the government of Uganda (via Makerere, RIF), to design a digital marketplace for Uganda's software & digital products as shown in some of these attachments and the linked academic paper/proposal. No, it never got their attention.. yet UGANDANS continue building useful software every other day, but it has no national home on the Internet, nor any meaningful means to monetize our work! Hmmm.. kale UGANDA, mbu we have leaders that care about the people's needs and problems... Mbu we have a legit president and ministers of ICT and National Guidance? πŸ€”πŸ˜πŸ˜Ά

#noprogress #nodevelopments #nationalproblems #ictinnovations & efforts [still] being wasted!
TODAY we have invested more into STATISTICAL ANALYSIS using TEA. In particular, consider the case of wanting to visualize a dataset using a basic frequency bar-chart. We might for example have a dataset such as:


12,24,95,18,85,27,97,39,80,20,65,24,93,82,85,81,52,62,20,89


Which, when processed by the following TEA program:

A Bar-GRAPH Generator
i:{12, 24, 95, 18, 85, 27, 97, 39, 80, 20, 65, 24, 93, 82, 85, 81, 52, 62, 20, 89} #some sample data
v:vSEQUENCE #stash comma-del sequence
#count the values...
d:[ ] | d!:{,}| v: | v!: | x!:{+1} | r.: | v:vNSEQ

#get the word MSS
y:vSEQUENCE | h:, | d:, | u: | v:vSEQ_MSS
#but we would rather present a graph with items sorted based on order
#thus, override MSS with sorted one
#y:vSEQ_MSS | o: | v:vSEQ_MSS

#initialize graph structure as empty graph
v:vGRAPH:{}

#-----| For each item in the MSS, obtain its frequency |---
l:lBUILD_GRAPH
y:vSEQ_MSS
d:[ ].*$ | v:vITEM #first, get the item
#build a lookup pattern [,]?N[,]?
y:vITEM | x:{[,]?} | x!:{[,]?} | v:vITEM_REGEX
#use it to reduce original sequence to only instances of item..
y:vSEQUENCE | d*!:vITEM_REGEX
#remove extraneous commas
r!:[,]+:, | d:^, | d:,$
#count instances of item then..
d!:{,}| v: | v!: | x!:{+1} | r.: | v:vNITEM
#build the visual for item for the graph structure
#N:--...N-times
v:vGRAPH_ELEMENT:{-}
v:vGRAPH_ITEM:{} | x*!:vGRAPH_ITEM:vITEM | x!:{:} | v:vGRAPH_ITEM
v:vN_ITEM_GRAPH_LEN:{0}
l:lSTART_ITEM_GRAPH
x*!:vGRAPH_ELEMENT:vGRAPH_ITEM | v:vGRAPH_ITEM
y:vN_ITEM_GRAPH_LEN | x!:{+1} | r.: | v:vN_ITEM_GRAPH_LEN
#build and run test...
y:vN_ITEM_GRAPH_LEN | x!:{==} | x*!:vNITEM | r.: | f:true:lDONE_ITEM_GRAPH:lSTART_ITEM_GRAPH
l:lDONE_ITEM_GRAPH
#add item graph to main graph...
y:vGRAPH | x!:{
}|x*!:vGRAPH_ITEM | v:vGRAPH #update graph
#remove this item from the MSS, and then loop...
y:vSEQ_MSS
d!:[ ].*$ | t!.: | v:vSEQ_MSS #first, get the item
#if mss empty, finish, otherwise loop..
f:^$:lGRAPH_READY:lBUILD_GRAPH
l:lGRAPH_READY
y:vGRAPH #present final graph :)


Would give us a graph such as:


:-
24:--
85:--
20:--
12:-
95:-
18:-
27:-
97:-
39:-
80:-
65:-
93:-
82:-
81:-
52:-
62:-
89:-


So, with that foundation, we might build more sophisticated statistical analysis tools as we shall soon come to see! That's it for now. #statistics #analysis #descriptivestatistics #teaapplications
Blackboard Computing Adventures πŸ’‘
TODAY we have invested more into STATISTICAL ANALYSIS using TEA. In particular, consider the case of wanting to visualize a dataset using a basic frequency bar-chart. We might for example have a dataset such as: 12,24,95,18,85,27,97,39,80,20,65,24,93,82…
The v1 of our STATISTICAL Analysis Tool (SAT) is now accessible online.

Some sample outputs are of the kind shown here...

The DATA ANALYSIS:
====================
RANGE:12-97 | MODE:24 | MEDIAN: | MEAN:57.5 | VARIANCE:922.85 | STANDARD DEVIATION:30.378446306550966 | MODAL SEQUENCE:24 85 20 12 95 18 27 97 39 80 65 93 82 81 52 62 89
====================
The DATA:
====================
12,24,95,18,85,27,97,39,80,20,65,24,93,82,85,81,52,62,20,89
====================
Finished summarizing the data using measures and statistics.

And for drawing graphs...

The DATA ANALYSIS:
====================
0:-----
1:----
2:----
3:-----
4:-
5:--
6:---
7:----------
8:-------
9:-
10:-------
====================
The DATA:
====================
7,5,6,7,8,10,3,8,1,7,3,10,7,0,3,2,7,8,2,10,8,8,10,8,10,1,3,7,2,7,1,4,0,5,8,1,3,10,0,9,7,6,7,8,0,10,6,2,7,0
====================
Finished summarizing the data visually.

Go online and try it out with your own dataset: https://tea.nuchwezi.com

#statistics #analysis
Blackboard Computing Adventures πŸ’‘
The v1 of our STATISTICAL Analysis Tool (SAT) is now accessible online. Some sample outputs are of the kind shown here... The DATA ANALYSIS: ==================== RANGE:12-97 | MODE:24 | MEDIAN: | MEAN:57.5 | VARIANCE:922.85 | STANDARD DEVIATION:30.378446306550966…
Final (well.. v.2) of our very generally useful Statistical Analysis Tool (SAT) implemented using TEA (Transforming Executable Alphabet) language, and which program one can run on any operating system with TEA installed, is as such:

SAT v2
#########################################
# STATISTICAL ANALYSIS TOOL (SAT) v.2
#---------------------------------------
# An interactive program for analyzing
# numeric data using 3 analysis modes:
# descriptive/visual, exploratory and predictive.
#########################################

#first, pick any user/externally provided data...
v:vDATA

#====| CONSTANTS |====
v:vHLINE:{
--------------------
}
v:vHHLINE:{
====================
}
v:vPROMPT_METHOD:{Select Analysis Method: [1] Descriptive | [2] Exploratory | [3] Predictive
}
v:vANALYSIS_MSG:{No Analysis Done Yet!} | y:vANALYSIS_MSG | v:vRESULT
z.:PLATFORM | v:vPLATFORM #store underlying platform/environment...

#in case no data was presented, use hardcoded dataset...
y:vDATA
i:{12,24,95,18,85,27,97,39,80,20,65,24,93,82,85,81,52,62,20,89} | v:vDATA
j:lPREPROCESS_DATA

#prompt for data...
l:lPROMPT_FOR_DATA
i!:{Please Enter [qQ] to Quit, otherwise a [space or] comma-delimited sequence of numbers:} | i*: | v:vDATA

#----| should we quit? |---
f:^[qQ]$:lQUIT

#----| pre-process and clean data |---
l:lPREPROCESS_DATA
g: #eliminate white-space
r:,]$:] #fix final comma from some TDT generators
d!:[\d ,] #apply filter
g:,:[ ] | r!:,,*:, #enforce strict , delimiter
v:vDATA_CLEAN #for presentation
x:,|x!:, #to ease lookups
v:vDATA #override

#----| ensure data conforms to structure required otherwise flag error |---
f!:^,\d+(,\d+)*,$:lERROR_INVALID_DATA:lVALID_DATA

l:lERROR_INVALID_DATA
i!:{SORRY, but DATA entered was INVALID.} | i*:
j:lPROMPT_FOR_DATA # [re-]prompt for correct data

#we have proper data, might proceed...
l:lVALID_DATA

#----| present clean dataset and prompt for analysis method |---
l:lANALYSIS_PROMPT
y:vDATA_CLEAN | x*:vHHLINE | x:{The DATA:} |x*!:vHHLINE | x*!:vPROMPT_METHOD | v:vPROMPT | i*: | v:vANS


#check if we got meaningful answer, otherwise re-prompt
t!.: | f:^$:lANALYSIS_PROMPT | f!:^[123]$:lANALYSIS_PROMPT

#process response then...
f:1:lPROCESS_ANALYSIS_DESC | f:2:lPROCESS_ANALYSIS_EXPL | f:3:lPROCESS_ANALYSIS_PRED

####| START PROCESSING ANALYTICS |####
v:vANALYSIS_RESULT:{}


#----| perform visual/descriptive analysis |---
l:lPROCESS_ANALYSIS_DESC

y:vDATA
v:vSEQUENCE #stash comma-del sequence
#count the values...
d:[ ] | d!:{,}| v: | v!: | x!:{+1} | r.: | v:vNSEQ

#get the word MSS
y:vSEQUENCE | h:, | d:, | u: | t.: | v:vSEQ_MSS
#but we would rather present a graph with items sorted based on order
#thus, override MSS with sorted one
y:vSEQ_MSS | o: | v:vSEQ_MSS

#initialize graph structure as empty graph
v:vGRAPH:{}

#-----| For each item in the MSS, obtain its frequency |---
y:vSEQUENCE | r!:{,}:{,,} | v:vLOOKUP_SEQUENCE #for use in graph computations
l:lBUILD_GRAPH
y:vSEQ_MSS
Blackboard Computing Adventures πŸ’‘
The v1 of our STATISTICAL Analysis Tool (SAT) is now accessible online. Some sample outputs are of the kind shown here... The DATA ANALYSIS: ==================== RANGE:12-97 | MODE:24 | MEDIAN: | MEAN:57.5 | VARIANCE:922.85 | STANDARD DEVIATION:30.378446306550966…


d:[ ].*$ | v:vITEM #first, get the item
#build a lookup pattern (,|[^0-9])N(,|[^0-9])
y:vITEM | x:{(,|[^0-9])} | x!:{(,|[^0-9])} | v:vITEM_REGEX
#use it to reduce original sequence to only instances of item..
y:vLOOKUP_SEQUENCE | d*!:vITEM_REGEX
#remove extraneous commas
r!:[,]+:, | d:^, | d:,$
#count instances of item then..
d!:{,}| v: | v!: | x!:{+1} | r.: | v:vNITEM
#build the visual for item for the graph structure
#N:--...N-times
v:vGRAPH_ELEMENT:{-}
v:vGRAPH_ITEM:{} | x*!:vGRAPH_ITEM:vITEM | x!:{:} | v:vGRAPH_ITEM
v:vN_ITEM_GRAPH_LEN:{0}
l:lSTART_ITEM_GRAPH
x*!:vGRAPH_ELEMENT:vGRAPH_ITEM | v:vGRAPH_ITEM
y:vN_ITEM_GRAPH_LEN | x!:{+1} | r.: | v:vN_ITEM_GRAPH_LEN
#build and run test...
y:vN_ITEM_GRAPH_LEN | x!:{==} | x*!:vNITEM | r.: | f:true:lDONE_ITEM_GRAPH:lSTART_ITEM_GRAPH
l:lDONE_ITEM_GRAPH
#add item graph to main graph...
y:vGRAPH | x!:{
}|x*!:vGRAPH_ITEM | v:vGRAPH #update graph
#remove this item from the MSS, and then loop...
y:vSEQ_MSS
d!:[ ].*$ | t!.: | v:vSEQ_MSS #first, get the item
#if mss empty, finish, otherwise loop..
f:^$:lGRAPH_READY:lBUILD_GRAPH
l:lGRAPH_READY
y:vGRAPH #present final graph :)
#affix graph to result
k!:^[ ]*$ #kick-out blank lines
v:vANALYSIS_RESULT

#what did we do?
v:vANALYSIS_MSG:{Finished summarizing the data visually.}

j:lDONE_PROCESSING #goto present results...


#----| perform numerical/exploratory analysis |---
l:lPROCESS_ANALYSIS_EXPL
v:vRANGE:{}
v:vMODE:{}
v:vMEDIAN:{}
v:vMEAN:{}
v:vVARIANCE:{}
v:vSDEVIATION:{}
v:vMSS:{}

y:vDATA
v:vSEQUENCE #stash comma-del sequence
#count the values...
d:[ ] | d!:{,}| v: | v!: | x!:{+1} | r.: | v:vNSEQ

#get the word MSS
y:vSEQUENCE | h:, | d:, | u: | t.: | v:vSEQ_MSS | v:vMSS

#store data sequence we'll use in external functions
y:vSEQUENCE | d:^,:,$ | x:[ | x!:] | v:vARRAY_SEQUENCE

#compute the statistics...

#===| compute RANGE |
#get the word MSS sorted numerically
y:vMSS | o: | v:vMSS_SORTED
y:vMSS_SORTED | d:[ ].*$
v:vITEM_MIN #store smallest value
y:vMSS_SORTED | m: | d:[ ].*$
v:vITEM_MAX #store largest value
y:vITEM_MIN | x!:{-} | x*!:vITEM_MAX | v:vRANGE

#===| compute MODE|
#get the normal word MSS
y:vMSS | d:[ ].*$
v:vMODE #store most frequent value

#===| compute MEDIAN|
y:vPLATFORM
f:WEB:lWEB_MEDIAN:lCLI_MEDIAN
l:lWEB_MEDIAN #to compute median via JavaScript
y:vARRAY_SEQUENCE
v:vCMD:{const median = arr => (sorted => (sorted[sorted.length >> 1] + sorted[(sorted.length - 1) >> 1]) / 2)([...arr].sort((a, b) => a - b));median(JSON.parse(AI));}
z*!:vCMD
j:lMEDIAN_READY

l:lCLI_MEDIAN #to compute median via Python

i!:{python3 -c "import json; AI='}
x*!:vARRAY_SEQUENCE
x!:{'; a=json.loads(AI); print(sorted(a)[len(a)//2] if len(a)%2 else sum(sorted(a)[len(a)//2-1:len(a)//2+1])/2)"}
v:vCMD | z*:vCMD
j:lMEDIAN_READY

l:lMEDIAN_READY
v:vMEDIAN


#===| compute MEAN|
y:vPLATFORM
f:WEB:lWEB_MEAN:lCLI_MEAN
l:lWEB_MEAN #to compute mean via JavaScript
y:vARRAY_SEQUENCE
z:{const mean = arr => arr.reduce((sum, val) => sum + val, 0) / arr.length;
mean(JSON.parse(AI));}
j:lMEAN_READY

l:lCLI_MEAN #to compute mean via Python

i!:{python3 -c "import json; AI='}
x*!:vARRAY_SEQUENCE
x!:{'; a=json.loads(AI); print(sum(a)/len(a))"}
v:vCMD | z*:vCMD
j:lMEAN_READY

l:lMEAN_READY
v:vMEAN


#===| compute population VARIANCE|
y:vPLATFORM
f:WEB:lWEB_VARIANCE:lCLI_VARIANCE
l:lWEB_VARIANCE #to compute variance via JavaScript
y:vARRAY_SEQUENCE
z:{const variance = arr => (m => arr.reduce((s, x) => s + (x - m) ** 2, 0) / arr.length)(arr.reduce((a, b) => a + b, 0) / arr.length);
variance(JSON.parse(AI));}
j:lVARIANCE_READY

l:lCLI_VARIANCE #to compute variance via Python

i!:{python3 -c "import json; AI='}
x*!:vARRAY_SEQUENCE
x!:{'; a=json.loads(AI); m=sum(a)/len(a); print(sum((x - m)**2 for x in a)/len(a))"}
v:vCMD | z*:vCMD
j:lVARIANCE_READY

l:lVARIANCE_READY
v:vVARIANCE


#===| compute STANDARD DEVIATION|
y:vPLATFORM
f:WEB:lWEB_SDEVIATION:lCLI_SDEVIATION
l:lWEB_SDEVIATION #to compute standard deviation via JavaScript
y:vVARIANCE
z:{Math.sqrt(Number(AI));}
j:lSDEVIATION_READY

l:lCLI_SDEVIATION #to compute standard deviation via Python
Blackboard Computing Adventures πŸ’‘
The v1 of our STATISTICAL Analysis Tool (SAT) is now accessible online. Some sample outputs are of the kind shown here... The DATA ANALYSIS: ==================== RANGE:12-97 | MODE:24 | MEDIAN: | MEAN:57.5 | VARIANCE:922.85 | STANDARD DEVIATION:30.378446306550966…


i!:{python3 -c "import math; print(math.sqrt(}
x*!:vVARIANCE | t.:
x!:{))"}
v:vCMD | z*:vCMD
j:lSDEVIATION_READY

l:lSDEVIATION_READY
v:vSDEVIATION


i!:{RANGE:} | x*!:vRANGE | x!:{ | MODE:} | x*!:vMODE | x!:{ | MEDIAN:} | x*!:vMEDIAN | x!:{ | MEAN:} | x*!:vMEAN | x!:{ | VARIANCE:} | x*!:vVARIANCE | x!:{ | STANDARD DEVIATION:} | x*!:vSDEVIATION | x!:{ | MODAL SEQUENCE:} | x*!: vMSS
v:vANALYSIS_RESULT

#what did we do?
v:vANALYSIS_MSG:{Finished summarizing the data using measures and statistics.}
j:lDONE_PROCESSING #goto present results...


#----| perform numerical/predictive analysis |---
l:lPROCESS_ANALYSIS_PRED

y:vDATA
v:vSEQUENCE #stash comma-del sequence

#===| compute probabilistic extrapolation...|
# in our list extrapolation methods here, we are going to
#assume the dataset conforms to a normal distribution
#and so we shall do basic probabilistic prediction of
#the next value past the end of the dataset given
#the nature of the sample (its mean and standard deviation)
y:vSEQUENCE | d:^,:,$ | x:[ | x!:] | v:vARRAY_SEQUENCE

y:vPLATFORM
f:WEB:lWEB_PREDICTION:lCLI_PREDICTION
l:lWEB_PREDICTION
y:vARRAY_SEQUENCE
v:vCMD:{const nextProbable = arr => {
let m = arr.reduce((a, b) => a + b, 0) / arr.length;
let s = Math.sqrt(arr.reduce((a, x) => a + (x - m) ** 2, 0) / arr.length);
return m + s * (Math.random() * 2 - 1);
};nextProbable(JSON.parse(AI));}
z*!:vCMD
j:lPREDICTION_READY

l:lCLI_PREDICTION
i!:{python3 -c "import json, random, math; AI='}
x*!:vARRAY_SEQUENCE
x!:{'; a=json.loads(AI); m=sum(a)/len(a); s=math.sqrt(sum((x-m)**2 for x in a)/len(a)); print(m + s * (random.random()*2 - 1))"}
v:vCMD | z*:vCMD
j:lPREDICTION_READY

l:lPREDICTION_READY
v:vPREDICTION

i!:{Assuming Normal Distribution, NEXT value past end of dataset: } | x*!:vPREDICTION |
v:vANALYSIS_RESULT

#what did we do?
v:vANALYSIS_MSG:{Finished extrapolating the data.}

l:lDONE_PROCESSING
#present results...
y:vANALYSIS_RESULT | x*!:vHHLINE | x!:{The DATA:} | x*!:vHHLINE |
x*!:vDATA_CLEAN | x*:vHHLINE | x:{The DATA ANALYSIS:} |x*!:vHHLINE | x*!:vANALYSIS_MSG | v:vPROMPT | v:vRESULT | i*: | j:lPROMPT_FOR_DATA #not yet finished ;)

################################
#Finally, Quit, gracefully...
################################
l:lQUIT
y:vRESULT


#statisticalanalysis #statistics #calculator #graphing #forecasting @bclectures #nuchweziresearch #thephds
Media is too big
VIEW IN TELEGRAM
Perhaps End of Year Blackboard Adventures... Came from the Community itself! 🀭

Please watch, and react. This is an interesting evidence there's been some serious attentive students all along.βœ“
Best regards from J. Willrich Lutalo Cwa Mukama Rwemera Weira and the band of U curious netizens ✨✨

Merry #Christmas and enjoy memorable, transformative holidays!

i!:{#nuchweziresearch}|d:{#}|h:re
Forwarded from UGANDA
As final, last and important Xmas trivia... Perhaps also a lesson in history concerning Christmas and especially the date 25 DECEMBER; it shall be surprising to some (especially none believers), that one of science and mathematics' greatest minds of all time, Sir Isaac Newton, was actually born on Christmas day! πŸ™ŒπŸ˜†πŸ€£πŸ™πŸŽ‰πŸΎ I discovered this while reading a classic book on The Calculus earlier today. However, also find the details below...


🧠 Isaac Newton was born on:

πŸ“… 4 January 1643 (Gregorian calendar)
πŸŽ„ 25 December 1642 (Julian calendar, used in England at the time)


πŸ—“οΈ Why Two Dates?

England used the Julian calendar until 1752. When the Gregorian calendar was adopted, dates shifted forward by 11 days. So:

- Newton’s birth was recorded as 25 December 1642 (Julian)
- But in modern terms, we recognize it as 4 January 1643 (Gregorian)

---

πŸ“š REFERENCE:
1. Wikipedia – Isaac Newton : https://en.wikipedia.org/wiki/Isaac_Newton

That's all dear netizens! See u in 2026!

πŸ‘‹πŸ˜‰πŸŽ„πŸƒβš‘πŸ₯³πŸŽβœ¨βœ¨
Blackboard Computing Adventures πŸ’‘
i!:{python3 -c "import math; print(math.sqrt(} x*!:vVARIANCE | t.: x!:{))"} v:vCMD | z*:vCMD j:lSDEVIATION_READY l:lSDEVIATION_READY v:vSDEVIATION i!:{RANGE:} | x*!:vRANGE | x!:{ | MODE:} | x*!:vMODE | x!:{ | MEDIAN:} | x*!:vMEDIAN | x!:{ | MEAN:} | x*!:vMEAN…
Today we have advanced TEA programming by such a great deal!

With version 3 of the Statistical Analysis Tool, we are able to...

1. This tool works well on WEB and Commandline.
2. Shall help you summarize your data visually.
3. Shall help you analyze the data via standard statistics.
4. Shall help you extrapolate/predict beyond your data.

And so that, with an example dataset such as...

2, 4, 8, 16

And selecting the predictive analysis method 3 (non-linear regression), our TEA program can then produce the following results..

The DATA ANALYSIS:
====================
Computed Non-Linear Model: y = 0.3333*t^3 + -1.0000*t^2 + 2.6667*t + 0.0000
The predicted value at t = 5 is 30.00, and so that, with a value of r2 = 1.0000, this model explains ~100% of the data.
====================
The DATA:
====================
2,4,8,16
====================
Finished extrapolating the data.

That's soo incredible! The natural next value should have been 32 (2^5). But that's not all.. we can also use linear regression where it makes sense..

The DATA ANALYSIS:
====================
Computed Linear Model: y = 4.6t + -4
The NEXT value at t=5 is 19
The R2 (coefficient of determination) 0.92 means this model explains only ~92% of the data.
====================
The DATA:
====================
2,4,8,16
====================
Finished extrapolating the data.

And if we test it on predicting tricky sequences such as the Fibonacci Numbers, yes, it does perform quite impressively!!

The DATA ANALYSIS:
====================
Computed Non-Linear Model: y = 0.0833*t^3 + -0.3929*t^2 + 1.5238*t + -0.2000
The predicted value at t = 6 is 12.80, and so that, with a value of r2 = 0.9995, this model explains ~100% of the data.
====================
The DATA:
====================
1,2,3,5,8
====================
Finished extrapolating the data.

πŸ₯³βš‘πŸƒπŸ™ŒπŸ˜† Go checkout out the SAT program as part of the standard TEA programs via https://tea.nuchwezi.com

OR directly load and study or modify it via:

http://bit.ly/teasatapp

🎁🍩πŸ”₯πŸ”₯πŸ˜­πŸ‘‹πŸ₯°πŸ€­β˜•πŸ’šπŸ™Œ
Found an interesting historical video about one of the people that made today's tech tools we enjoy possible...