Friday, December 16, 2022

Career worries (originally posted in the Veramo Discord and PM) ... I'm adding it to my blog in case I meet a magic person who wants to talk rather than walk

Silly LinkedIN message DM:

On[e] advantage you seem to have is San Francisco. It has a high concentration of capital both intellectual and otherwise. I wish fate would have left me there, but alas not. It has been an uphill battle for me ever since I became interested in late 2011 [referencing stuff like this http://adistributedeconomy.blogspot.com/2012/]. Lots of going it alone and fighting my own thoughts as well as the well-meaning naysayer. Is there anything that you read when you get discouraged? Is there anything that helps you build more courage? Find where the compass points? Faith in God or the Universe?  I'm looking into Thinking, Fast and Slow and Principles by Ray Dalio.
Well anyway, I don't want to take too much of your time. I'll be in touch later. I'm not 100% sure you were into the Category Theory explorations. You did leave your e-mail, but you also didn't stay till the end. I made a note of who did, but I can keep you in the loop because to my knowledge Ryan is still up for it. How this plays out I have no idea , but he is incredibly competent and I would be less willing to scratch this itch it I didn't have his friendship and generosity.  
 
 Well anyway, Feliz Navidad.

---------------------
Silly LinkedIN message DM:

intellectual talent is a hard thing to gauge..there is talent here..but it is expressed in the same patterns of behavior due to the job options ..maybe from my own biased perspective it seems like every time I see a new startup's website I always see San Francisco written on the bottom.


-------------------------------------

Veramo Discord (because I'm overly transparent):

I went to a meetup last night and there were recruiters sponsoring it . They were fine. I talked with them to figure out what they were about. Internal emotion before was crazy, as if I was dissatisfied that I got a lot of personal satisfaction from trying out interesting problems that few were doing but I wasn't making money with it. But then my "act of courage" may have had something to do with me not sleeping last night as if I drank caffeine too late. Maybe I did. I am not sure. I told someone privately that I was more the type of person to pursue something interesting and wind up working in surprising place like Vienna (and have it not work out) than take a bunch of tests and get a job. The conversation then evolved to Deep Work (iirc) which after looking up is just sustained focus on a task . I know I can focus on task for a prolonged period as I may have proven with my PR but it is like my mind and body have to be aligned. I cannot do a good job deceiving this because it flows, almost at a spiritual level. I'm going to stop beating myself up for not buying 2000ETH for ~$600.0 IRC, oh you could have had more cushion!, because I know I will vigilantly stay on mission and drive my finances into the ground before I stray from what I want to see in the world.

That said, I may do more action/and or reflection. Apologies if this is off scope.
More information about me can be found: http://bshambaugh.org/ . I believe only the GitHub is up to date.

I probably should just get back to work. I realize that what I am doing now does not match the original degree that I went to college for. I looked at the website for these recruiters and realized that what I am doing might be considered Electrical Engineering. I have a B.S. and M.S. in Chemical Engineering, which except for about 8 months as an Adjunct Chemistry Professor I never really pursued a degree with. I largely abandoned formal education many years ago and learn from people in the hobbyist and maker communities. Since these postings are not for my degree I look at them, but think that they are something that I realistically could not be considered for.

I really don't know if you can just build a project and jump in the industry that way. Either it helps you get a job or build a product that can be sold. As far as the need to be a professional engineer by passing the FE exam, working for 4 years at some company, then getting licensed. I don't know about that. (edit for blog post: I find job descriptions like that attractive, but then I shrink back realizing I have the wrong papers). I see people selling stuff on https://www.tindie.com/ all the time, so there must be nothing illegal about doing your own engineering work and then selling it. Maybe it is called something other than engineering, because some say you can only call yourself an engineer if you are licensed. I've tried talking to my university, but I've found the usual experience is that I get tossed from person to person with no real answer. Then there is the story of things getting a little messed up in college, which I think in hindsight ,would have been solved if I just pumped more of my own or loaned funds into coursework. Strong arm things. I think the real answer is just start over at some junior college. It may have been wise to do that when I was an Adjunct Chemistry Professor because I was up there anyway.

Added for this blog post:
I'll add this this that the job in Vienna didn't work out because I had some blind spots in my knowledge. I thought I knew more about Java (it turns out I had an abbreviated book called Java in 24 hours which didn't cover stuff like interfaces and generics and I didn't get that from other programming language knowledge) than I did and I mistook the applicability of my P2P economy writings like http://bshambaugh.org/Master_17.html to the position even though this sort of activity caused me to land the position.

Friday, October 14, 2022

Steps to follow to create and use a local npm module:

 Steps to follow to create and use a local npm module:


Create a directory
:

mkdir npm-test

Create a package.json file in the directory
:

cd npm-test
npm init

follow the steps at the prompt, keep the defalts, maybe add a description and author

If index.js is the entry point listed in package.json (by default, e.g "main":"index.js", create the index.js file:

touch index.js

Edit index.js with your favorite text editor. I am using vim. :

vim index.js

Add the following content within vim as a test :

exports.printMsg = function() {
     console.log("This is a message from the demo package.");

}

Create a package with the npm file
:

npm pack

unzip the tarball:

tar xzvf test-npm-1.0.0.tgz

In the unzipped package, link to the global package namespace:

cd package
npm link

Create a file folder to call the new npm package:

mkdir test-folder
cd test-folder

Make the npm package available:

npm link test-npm


Use the npm package in a test file:

touch testfile.ts
vim testfile.ts
add to vim: " import * as testy  from 'test-npm'
console.log(testy.printMsg) "
convert to js: tsc testfile.ts
run with node: node testfile.js

How to reverse the link:

Remove package in the test-folder:
      npm unlink --no-save npm-test

Remove global link to the npm package:
      cd npm-test/package/ 
      npm unlink

 
Sources:

https://docs.npmjs.com/cli/v6/commands/npm-pack

https://medium.com/@debshish.pal/publish-a-npm-package-locally-for-testing-9a00015eb9fd

https://www.cyberciti.biz/faq/unpack-tgz-linux-command-line/

https://medium.com/@alexishevia/the-magic-behind-npm-link-d94dcb3a81af








Wednesday, September 21, 2022

Audio Level Indicator . Log DB LM3915 fed by LF353 for S-meter?

I've also discovered an audio level indicator recently: https://www.aliexpress.us/item/2251832501435636.html
&
https://www.mouser.com/datasheet/2/405/lm3915-443929.pdf
& https://www.ti.com/lit/ds/symlink/lf353-n.pdf
https://www.youtube.com/watch?v=jllsqRWhjGM (EEVblog #490 - Peak Detector Circuit --- feed to lm3915 for led bar display  (s-meter))
use caps with low dielectric adsorption: http://danssmallpartsandkits.net/ (polystyrene caps)
https://www.youtube.com/watch?v=Fn5kHhNRsz0 (#77: Op Amp Peak Detector Tutorial, with peak detector basics)Why?
http://www.ozqrp.com/docs/MST3_manual_V1.pdf (mostly analog radio)
-->    http://www.ozqrp.com/docs/LED_S_meter_manual_V1_0.pdf (S-Meter)

My mind also wandered to the digital to signal processing realm:
https://www.analog.com/media/en/technical-documentation/data-sheets/ad9226.pdf (Analog to Digital)
https://wiki.sipeed.com/hardware/en/tang/Tang-Nano-9K/Nano-9K.html (Digital Signal Processing)
https://www.analog.com/media/en/technical-documentation/data-sheets/2604fd.pdf (Digital to Analog) --- to 50MhZ
https://www.youtube.com/watch?v=ZZJekllYUVc (R2R resistor ladder to 25MHz)ADC w/ FPGA (https://www.youtube.com/watch?v=cvdzEQhLpYw)
VLSI Project || DAC( Digital to Analog Converter) interfacing with FPGA using SPI || SPARTAN 3E (https://www.youtube.com/watch?v=CPGX-Kdvx9s)

-----------------------------------------------------------------------------------------------------------------------------
Addendum:
https://www.elprocus.com/analog-to-digital-converter/

Oddly I found myself thinking about FPGAs, here are my findings... (tldr....you can try obtaining ZKP BLS12_381 curves)

This was some bantering also published here: (https://lists.w3.org/Archives/Public/public-credentials/2022Sep/0180.html).

As I was studying for my HAM radio general exam, my brain wondered. I thought about digital filtering, which led me to https://www.youtube.com/watch?v=HJ-C4Incgpw (How to design and implement a digital low-pass filter on an Arduino).
Realizing the limitations of this I soon found myself on https://www.youtube.com/watch?v=vVjWFFclU6I (Implementing Digital Signal Processing on the FPGA of a FlexRIO).

Naturally the next morning this led to exploration of https://identity.foundation/bbs-signature/draft-looker-cfrg-bbs-signatures.html#name-bls12-381-ciphersuites and discovery of
https://www.youtube.com/watch?v=vCG5_nxm2G4 (MeganWachs - Keynote RISC-V and FPGAs: Open Source Hardware Hacking) which led to https://github.com/riscv/riscv-crypto and
https://riscv.org/wp-content/uploads/2017/12/Wed-1354-RISCV-CryptoExtensions-RichardNewell.pdf and https://www.youtube.com/watch?v=-HVRjbxWF-I (A Guide to the RISC V Cryptography Extension).

I also found bls12_381 on an FPGA: https://dspace.mit.edu/bitstream/handle/1721.1/138122/Paper_PrePrint_Version.pdf (done on an in-house FPGA)

This bls12_381 on FPGAs also led to discovery of work by the ZCash Foundation: https://github.com/ZcashFoundation/zcash-fpga/tree/master/zcash_fpga/src/rtl/bls12_381 . Apparently this was done on AWS FPGAs.

I discovered the Tang Nano 9K FPGA Development Board GOWIN GW1NR-9 RISC-V HDMI kit . Realizing they were inexpensive, I grabbed two imagining IIW. I also recalled my time at the
Virtual Silicon Salon (https://www.siliconsalon.info/) and remembered that hardware was slow, and
IIRC BLS signatures used for selective disclosure are not yet available in hardware.
I've never worked with FPGAs before. I discovered what I found is like the Ice40 (unfortunately hard to find at the moment), but it did lead me to some good resources.

ice40 playlist:
https://www.youtube.com/watch?v=DwxBkYhor80
https://www.youtube.com/watch?v=UlgJ7TRU1KI
https://www.youtube.com/watch?v=6UgVUExXlvg
https://www.youtube.com/watch?v=dTL0qrzme4
(I found that this was still available, later in exploration: https://tinyvision.ai/) --- ditto for tinyFPGA (https://tinyfpga.com/)


Tang Nano from Gowin Semi:
https://github.com/gowinsemi  (Github)
https://www.youtube.com/channel/UC0VdsHXVKAaMkFVyBzVLVIQ (YouTube)
https://wiki.sipeed.com/hardware/en/tang/Tang-Nano-9K/Nano-9K.html (Wiki)
https://www.youtube.com/watch?v=WKB04zxLrHA (Tang Nano 9k)
https://www.youtube.com/watch?v=kyQLtBh6h0U (FPT2020: A Complete Open Source Design Flow for Gowin FPGAs)
https://www.youtube.com/watch?v=Gh9VfCvTWck (2nd Open Source video, possibly building on the former)
https://www.bananatronics.org/first-steps-with-the-tang-nano-fpga-development-board/
https://www.cnx-software.com/2022/01/17/tang-nano-9k-fpga-board-can-emulate-picorv32-risc-v-soft-core-with-all-peripherals/

General FPGA links:
https://www-electronicayciencia-com.translate.goog/2021/07/tang_nano_fpga.html?_x_tr_sl=auto&_x_tr_tl=en&_x_tr_hl=en&_x_tr_pto=wapp
https://www.youtube.com/watch?v=gUsHwi4M4xE (EEVblog#496 What is an FPGA?)
https://fpgatutorial.com/getting-started-with-fpga-development-process/
https://www.fpga4student.com/p/verilog-project.html
https://github.com/BrunoLevy/learn-fpga

------------------------------------
Addendum:
https://medium.com/asecuritysite-when-bob-met-alice/explaining-bls12-381-the-zero-knowledge-proof-curve-aa5eabec8261

https://www.youtube.com/watch?app=desktop&v=sOKJWAnrbHM (ARM with FPGA)

Sunday, August 14, 2022

WiFi Manager for connecting the ESP32 to a WiFi Network when you don't know the password

 https://www.youtube.com/watch?v=_uXKIEmJh3g

WiFiManager with ESP32 - Stop Hard-coding WiFi Credentials!

 I suppose you also could use Bluetooth or even LoRa if you had the transceiver.