Avatar
R̸̘̰̘̈́͑̚e̶̪̥̲͖̊̽̈́͒d̷̨͉̯̀͌̈́̚a̶͕̖̿́̏̏c̸͖̫̋̆̈́ť̷̛̖̜̼̘̍e̸̳̯͋̀d̸̠̳̖̣̤̋́̈́͝
7210583622172e5cfb82ef7cb3204491a5ac6796439bbbaf4534805a5238c3c1
“That is not dead which can eternal lie, And with strange aeons even death may die.”

“We’re slow, we’re dumb, and we die easy,” Saul says. “We’re bugs.”

Da Shi insists they go on a drive and takes them to the marsh where swarms of cicadas cloud the sky. “People hate bugs, been trying to get rid of them forever,” Da Shi says. “Look around, they’re not going anywhere.”

He pours out some rum “for the bugs” and turns to Saul and Jin. “Let’s get back. We’ve got work to do.”

What field of scientific research do you see having the most positive impact on society 100 years from now?

Wondering what the enshittification of openai may look like. Download and run ollama on your own PC if you want to avoid that. It's Foss.

I don't have the c plus2 myself, but I had an AI recode the ui positioning to theoretically work with the higher res. Paste incoming:

#initially published as of block height #845774

#if you have any questions, just DM me on nostr at nostr:npub1wgg9sd3zzuh9e7uzaa7txgzyjxj6ceukgwdmht69xjq9553cc0qsyq7cwj

from m5stack import *

from m5ui import *

from uiflow import *

from easyIO import *

import wifiCfg

import time

import urequests

#black background to black

setScreenColor(0x111111)

#creating main variable which we will use to to store and display the network stats

data = None

#ui elements, pixel positions of elements are hardcoded because pleb. These should hopefully look okay on the C plus2

line0 = M5Line(M5Line.PLINE, 67, 0, 67, 199, 0xf7931a)

line1 = M5Line(M5Line.PLINE, 98, 0, 98, 240, 0xf7931a)

label0 = M5TextBox(125, 0, "label0", lcd.FONT_Ubuntu, 0xf7931a, rotate=0, scale=1)

label1 = M5TextBox(187, 0, "label1", lcd.FONT_Ubuntu, 0xf7931a, rotate=0, scale=1)

battery = M5TextBox(215, 0, "battery", lcd.FONT_Ubuntu, 0xf7931a, rotate=0, scale=1)

batterylabel = M5TextBox(94, 0, "batterylabel", lcd.FONT_Ubuntu, 0xf7931a, rotate=0, scale=1)

#replace MY_SSID with your WiFi Network name, and My_WIFI_PASSWORD with your WiFI Password

battery.setText(str(map_value((axp.getBatVoltage()), 3.7, 4.1, 0, 100)))

label0.setText('BTC Stats V1.0')

label1.setText('Connecting to wifi')

wifiCfg.doConnect('MY_SSID, 'My_WIFI_PASSWORD')

label0.setText('Booted')

label1.setText('Connecting to wifi')

wait(2)

#if Wifi is connected, get those GET requests going

#This part is spaghetti code, but it will allow for you to easily remove, add or modify the data that is displayed

if wifiCfg.wlan_sta.isconnected():

while True: battery.setText(str(map_value((axp.getBatVoltage()), 3.7, 4.1, 0, 100)))

try:

req = urequests.request(method='GET', url='https://blockchain.info/q/getblockcount?')

label0.setText('Block Height:')

data = req.text

label1.setText(str(data))

except:

label0.setText('fail')

wait(10)

try:

req = urequests.request(method='GET', url='https://blockchain.info/q/bcperblock')

label0.setText('Miner Subsidy:')

data = req.text

label1.setText(str(data))

except:

label0.setText('fail') battery.setText(str(map_value((axp.getBatVoltage()), 3.7, 4.1, 0, 100)))

wait(10)

try:

req = urequests.request(method='GET', url='https://blockchain.info/q/eta')

label0.setText('Next Block (seconds):')

data = req.text

label1.setText(str(data))

except:

label0.setText('fail')

wait(10)

try:

req = urequests.request(method='GET', url='https://blockchain.info/q/totalbc')

label0.setText('Total Satoshis:')

data = req.text

label1.setText(str(data))

except:

label0.setText('fail')

wait(10)

try:

req = urequests.request(method='GET', url='https://blockchain.info/q/unconfirmedcount')

label0.setText('Unconfirmed Txs:')

data = req.text

label1.setText(str(data))

except:

label0.setText('fail')

wait(10)

try:

req = urequests.request(method='GET', url='https://blockchain.info/q/24hrprice')

label0.setText('24 Hour Price USD:')

data = req.text

label1.setText(str(data))

except:

label0.setText('fail')

wait(10) battery.setText(str(map_value((axp.getBatVoltage()), 3.7, 4.1, 0, 100)))

try:

req = urequests.request(method='GET', url='https://blockchain.info/q/hashrate')

label0.setText('Gigahashes/second:')

data = req.text

label1.setText(str(data))

except:

label0.setText('fail')

wait(10)

else:

label0.setText('WiFi is not conected')

Hell yeah! Here is the part

https://shop.m5stack.com/products/stick-c?variant=43982750843137

Here is a paste of the code, which you can just paste back into uiflow, and should work after you include your WiFi creds.

#initially published as of block height #845774

#if you have any questions, just DM me on nostr at nostr:npub1wgg9sd3zzuh9e7uzaa7txgzyjxj6ceukgwdmht69xjq9553cc0qsyq7cwj

from m5stack import *

from m5ui import *

from uiflow import *

from easyIO import *

import wifiCfg

import time

import urequests

#black background to black

setScreenColor(0x111111)

#creating main variable which we will use to to store and display the network stats

data = None

#ui elements, pixel positions of elements are hardcoded because pleb.

line0 = M5Line(M5Line.PLINE, 25, 0, 25, 200, 0xf7931a)

line1 = M5Line(M5Line.PLINE, 54, 0, 54, 199, 0xf7931a)

label0 = M5TextBox(46, 0, "label0", lcd.FONT_Ubuntu, 0xf7931a, rotate=90)

label1 = M5TextBox(17, 0, "label1", lcd.FONT_Ubuntu, 0xf7931a, rotate=90)

battery = M5TextBox(78, 87, "label2", lcd.FONT_Ubuntu, 0xf7931a, rotate=90)

batterylabel = M5TextBox(78, 0, "Battery%:", lcd.FONT_Ubuntu, 0xf7931a, rotate=90)

#replace MY_SSID with your WiFi Network name, and My_WIFI_PASSWORD with your WiFI Password

battery.setText(str(map_value((axp.getBatVoltage()), 3.7, 4.1, 0, 100)))

label0.setText('BTC Stats V1.0')

label1.setText('Connecting to wifi')

wifiCfg.doConnect('MY_SSID, 'My_WIFI_PASSWORD')

label0.setText('Booted')

label1.setText('Connecting to wifi')

wait(2)

#if Wifi is connected, get those GET requests going

#This part is spaghetti code, but it will allow for you to easily remove, add or modify the data that is displayed

if wifiCfg.wlan_sta.isconnected():

while True:

battery.setText(str(map_value((axp.getBatVoltage()), 3.7, 4.1, 0, 100)))

try:

req = urequests.request(method='GET', url='https://blockchain.info/q/getblockcount?')

label0.setText('Block Height:')

data = req.text

label1.setText(str(data))

except:

label0.setText('fail')

wait(10)

try:

req = urequests.request(method='GET', url='https://blockchain.info/q/bcperblock')

label0.setText('Miner Subsidy:')

data = req.text

label1.setText(str(data))

except:

label0.setText('fail')

battery.setText(str(map_value((axp.getBatVoltage()), 3.7, 4.1, 0, 100)))

wait(10)

try:

req = urequests.request(method='GET', url='https://blockchain.info/q/eta')

label0.setText('Next Block (seconds):')

data = req.text

label1.setText(str(data))

except:

label0.setText('fail')

wait(10)

try:

req = urequests.request(method='GET', url='https://blockchain.info/q/totalbc')

label0.setText('Total Satoshis:')

data = req.text

label1.setText(str(data))

except:

label0.setText('fail')

wait(10)

try:

req = urequests.request(method='GET', url='https://blockchain.info/q/unconfirmedcount')

label0.setText('Unconfirmed Txs:')

data = req.text

label1.setText(str(data))

except:

label0.setText('fail')

wait(10)

try:

req = urequests.request(method='GET', url='https://blockchain.info/q/24hrprice')

label0.setText('24 Hour Price USD:')

data = req.text

label1.setText(str(data))

except:

label0.setText('fail')

wait(10)

battery.setText(str(map_value((axp.getBatVoltage()), 3.7, 4.1, 0, 100)))

try:

req = urequests.request(method='GET', url='https://blockchain.info/q/hashrate')

label0.setText('Gigahashes/second:')

data = req.text

label1.setText(str(data))

except:

label0.setText('fail')

wait(10)

else:

label0.setText('WiFi is not conected')

Hell yeah! Bit of an info dump incoming:

Here's where you can get the hardware:

https://shop.m5stack.com/products/stick-c?variant=43982750843137

Here's where I am getting the info:

https://www.blockchain.com/explorer/api

You will also need to connect this sucker to wifi, and so the only thing you would really need to change in the code is your wifi name and password.

I just made a little block clock / network stats display. The hardware for this is around 10 bucks right now, just let me know if you want the code.

Would it be fucking stupid to cover my nodes hard drive in copper conductive tape to make a Faraday cage before this solar storm hits? It's external so i don't know how it could hurt I guess.

I just learned the genesis blocks nonce has two more leading zeros than were necessary for an early block.

No idea why that is the case, but it is the case, and that's pretty interesting.