56,966 blogs · [ { "id": "01a08729-953e-731b-8b88-1b0b143df4f6", "title": "Fast automated mobile E2E testing — the unwritten manual", "url": "https://andykong.org/blog/fast_mobile_e2e/", "published_at": "2026-05-13T04:00:00+00:00" }, { "id": "01a08729-953f-7239-a0e8-545aac0cc411", "title": "Using flex PCB as electrode mount", "url": "https://andykong.org/blog/fpc-electrode-clip/", "published_at": "2026-02-03T05:00:00+00:00" }, { "id": "01a08729-953f-7239-a0e8-545aac599713", "title": "Teardown of the Urbanista Los Angeles headphones", "url": "https://andykong.org/blog/urbanista-teardown/", "published_at": "2026-02-01T05:00:00+00:00" }, { "id": "01a08729-953f-7239-a0e8-545aad1791f7", "title": "Teardown of the Urbanista Los Angeles headphones", "url": "https://andykong.org/blog/urbanista-teardown%202/", "published_at": "2026-02-01T05:00:00+00:00" }, { "id": "01a08729-953f-7239-a0e8-545aad8e8552", "title": "First lessons from ordering CNC parts from China", "url": "https://andykong.org/blog/cnctips1/", "published_at": "2025-12-04T05:00:00+00:00" }, { "id": "01a08729-953f-7239-a0e8-545aae87bdbc", "title": "Running QUCS Studio (uSimmics) on a Mac", "url": "https://andykong.org/blog/qucsstudioinstall/", "published_at": "2025-05-31T04:00:00+00:00" }, { "id": "01a08729-953f-7239-a0e8-545aaed62cb0", "title": "Bringing up a custom RP2040 board", "url": "https://andykong.org/blog/rp2040_bringup/", "published_at": "2025-05-21T04:00:00+00:00" }, { "id": "01a08729-953f-7239-a0e8-545aaf0cbde8", "title": "Free custom email domain through Gmail", "url": "https://andykong.org/blog/freebusinessemail/", "published_at": "2025-05-16T04:00:00+00:00" }, { "id": "01a08729-953f-7239-a0e8-545aaf0ce2b2", "title": "Let the foot slip", "url": "https://andykong.org/blog/footslip/", "published_at": "2024-12-30T05:00:00+00:00" }, { "id": "01a08729-953f-7239-a0e8-545aaf1ef2b6", "title": "I've been thinking about conviction", "url": "https://andykong.org/blog/conviction/", "published_at": "2024-10-26T04:00:00+00:00" }, { "id": "01a08729-953f-7239-a0e8-545aafc0fae1", "title": "Electronics Teardown: Stelo CGM", "url": "https://andykong.org/blog/cgmteardown1/", "published_at": "2024-10-06T04:00:00+00:00" }, { "id": "01a08729-953f-7239-a0e8-545ab087eb6f", "title": "Electronics Teardown: Stelo CGM", "url": "https://andykong.org/blog/cgmteardown1%202/", "published_at": "2024-10-06T04:00:00+00:00" }, { "id": "01a08729-953f-7239-a0e8-545ab14e9a9a", "title": "Solar energy harvesting", "url": "https://andykong.org/blog/eetestr1801k/", "published_at": "2024-08-25T04:00:00+00:00" }, { "id": "01a08729-953f-7239-a0e8-545ab1c494c2", "title": "Edge Esmerelda Experience", "url": "https://andykong.org/blog/eee/", "published_at": "2024-06-25T04:00:00+00:00" }, { "id": "01a08729-953f-7239-a0e8-545ab26f70ec", "title": "MonoChrome: In Defense Of Using One Chrome Window At A Time", "url": "https://andykong.org/blog/monochrome/", "published_at": "2024-06-12T04:00:00+00:00" }, { "id": "01a08729-9540-7166-a9a6-c8466f5eb5bd", "title": "Practical Quantified Self Data Analysis, Pt. 1", "url": "https://andykong.org/blog/pqsda1%202/", "published_at": "2024-05-07T04:00:00+00:00" }, { "id": "01a08729-9540-7166-a9a6-c846702ee8b6", "title": "Practical Quantified Self Data Analysis, Pt. 1", "url": "https://andykong.org/blog/pqsda1/", "published_at": "2024-05-07T04:00:00+00:00" }, { "id": "01a08729-9540-7166-a9a6-c84670beca71", "title": "Different ways to black-out holograms", "url": "https://andykong.org/blog/hologramblackout/", "published_at": "2024-04-28T04:00:00+00:00" }, { "id": "01a08729-9540-7166-a9a6-c84670efc135", "title": "How To Set ATtiny Fuses (with Arduino as ISP)", "url": "https://andykong.org/blog/attinyfuses/", "published_at": "2024-04-23T04:00:00+00:00" }, { "id": "01a08729-9540-7166-a9a6-c84671491350", "title": "Immersive Space Workarounds In The Vision Pro", "url": "https://andykong.org/blog/quickimmersion/", "published_at": "2024-04-21T04:00:00+00:00" }, { "id": "01a08729-9540-7166-a9a6-c84671846909", "title": "A Layman's Guide To The ICNIRP Guidelines On Limiting Exposure To Electromagnetic Fields (100kHz-300GHz)", "url": "https://andykong.org/blog/icnirp/", "published_at": "2024-04-16T04:00:00+00:00" }, { "id": "01a08729-9540-7166-a9a6-c84671fd52bc", "title": "Most-scanned bulletin boards at CMU", "url": "https://andykong.org/blog/cmuads/", "published_at": "2024-04-15T04:00:00+00:00" }, { "id": "01a08729-9540-7166-a9a6-c846720c577b", "title": "Is Morse Code Letter-Frequency Optimal?", "url": "https://andykong.org/blog/omorse/", "published_at": "2024-04-12T04:00:00+00:00" }, { "id": "01a08729-9540-7166-a9a6-c846722986e1", "title": "Power profiling a thermal printer camera", "url": "https://andykong.org/blog/dinocamtoypower/", "published_at": "2024-04-07T04:00:00+00:00" }, { "id": "01a08729-9540-7166-a9a6-c8467246b038", "title": "Apple Vision Pro Hackathon: A Retrospective", "url": "https://andykong.org/blog/avph_reflection/", "published_at": "2024-03-13T04:00:00+00:00" }, { "id": "01a08729-9540-7166-a9a6-c846725d107b", "title": "Testing out the BPW34", "url": "https://andykong.org/blog/testingbpw34/", "published_at": "2024-03-04T05:00:00+00:00" }, { "id": "01a08729-9540-7166-a9a6-c846734f5ea9", "title": "My Vitalia Experience", "url": "https://andykong.org/blog/vitalia1/", "published_at": "2024-02-23T05:00:00+00:00" }, { "id": "01a08729-9540-7166-a9a6-c8467368aa8c", "title": "Timezone correcting Fitbit sleep data using Google Timeline", "url": "https://andykong.org/blog/glocfitbittzcorrection/", "published_at": "2024-02-12T05:00:00+00:00" }, { "id": "01a08729-9540-7166-a9a6-c84673887209", "title": "A computer scientist's guide to I2C", "url": "https://andykong.org/blog/attinyrtc/", "published_at": "2024-02-05T05:00:00+00:00" }, { "id": "01a08729-9540-7166-a9a6-c84673cba934", "title": "Programming an ATtiny85V using an Arduino", "url": "https://andykong.org/blog/ard2attiny/", "published_at": "2024-02-02T05:00:00+00:00" }, { "id": "01a08729-9540-7166-a9a6-c84674a93477", "title": "My Quantified-Self Data Stack", "url": "https://andykong.org/blog/allmydata/", "published_at": "2024-01-26T05:00:00+00:00" }, { "id": "01a08729-9540-7166-a9a6-c846750e1de2", "title": "Fitbit timestamps cannot be trusted", "url": "https://andykong.org/blog/fitbittsproblem/", "published_at": "2024-01-15T05:00:00+00:00" }, { "id": "01a08729-9540-7166-a9a6-c84675a6fa6f", "title": "Bionic reading doesn't help you read faster", "url": "https://andykong.org/blog/bionicreadingtest/", "published_at": "2024-01-11T05:00:00+00:00" }, { "id": "01a08729-9540-7166-a9a6-c84675b661a6", "title": "How sleep deprivation affects my cognition", "url": "https://andykong.org/blog/stroopvssleep/", "published_at": "2024-01-10T05:00:00+00:00" }, { "id": "01a08729-9540-7166-a9a6-c8467632a51a", "title": "Reading speed comparison on paper vs screens", "url": "https://andykong.org/blog/printvsdigital/", "published_at": "2024-01-09T05:00:00+00:00" }, { "id": "01a08729-9540-7166-a9a6-c846767021d0", "title": "Shipping from Europe to America from $2.30/kg", "url": "https://andykong.org/blog/packingtips/", "published_at": "2024-01-01T05:00:00+00:00" }, { "id": "01a08729-9540-7166-a9a6-c84676738a45", "title": "Shot comparisons between an iPhone and digital camera", "url": "https://andykong.org/blog/phonecamvsrealcam/", "published_at": "2023-12-23T05:00:00+00:00" }, { "id": "01a08729-9540-7166-a9a6-c8467681fdc3", "title": "Teardown of the Freestyle Libre 2 Continuous Glucose Monitor", "url": "https://andykong.org/blog/teardownlibre2cgm/", "published_at": "2023-12-18T05:00:00+00:00" }, { "id": "01a08729-9540-7166-a9a6-c84676c884c3", "title": "Timezone correcting Fitbit sleep data", "url": "https://andykong.org/blog/fitbitsleeptzcorrection/", "published_at": "2023-11-30T05:00:00+00:00" }, { "id": "01a08729-9540-7166-a9a6-c846779cdc19", "title": "Breakdown of my most used Alfred Workflows", "url": "https://andykong.org/blog/alfredworth%202/", "published_at": "2023-11-26T05:00:00+00:00" }, { "id": "01a08729-9540-7166-a9a6-c8467807ce14", "title": "Breakdown of my most used Alfred Workflows", "url": "https://andykong.org/blog/alfredworth/", "published_at": "2023-11-26T05:00:00+00:00" }, { "id": "01a08729-9540-7166-a9a6-c8467853dbb7", "title": "Average clip duration in MILF Manor", "url": "https://andykong.org/blog/milfpy/", "published_at": "2023-06-11T04:00:00+00:00" }, { "id": "01a08729-9540-7166-a9a6-c8467884f382", "title": "iCloud Cleanup", "url": "https://andykong.org/blog/icloudconfusion/", "published_at": "2023-06-06T04:00:00+00:00" }, { "id": "01a08729-9540-7166-a9a6-c84678de31c1", "title": "How to stop noisy NeoPixels", "url": "https://andykong.org/blog/noisyneopixels/", "published_at": "2023-05-31T04:00:00+00:00" }, { "id": "01a08729-9540-7166-a9a6-c846793de3ee", "title": "Calendar Memories", "url": "https://andykong.org/blog/calendarmemories/", "published_at": "2023-04-09T04:00:00+00:00" }, { "id": "01a08729-9540-7166-a9a6-c84679beb98f", "title": "Infoglobe Tutorial Pt. 3 — Software", "url": "https://andykong.org/blog/infoglobetutorial3/", "published_at": "2023-04-09T04:00:00+00:00" }, { "id": "01a08729-9540-7166-a9a6-c8467a607d10", "title": "Infoglobe Tutorial Pt. 3 — Software", "url": "https://andykong.org/blog/infoglobetutorial3%202/", "published_at": "2023-04-09T04:00:00+00:00" }, { "id": "01a08729-9540-7166-a9a6-c8467b1cea47", "title": "Infoglobe Tutorial Pt. 2 — Hardware Integration", "url": "https://andykong.org/blog/infoglobetutorial2/", "published_at": "2022-10-15T04:00:00+00:00" }, { "id": "01a08729-9540-7166-a9a6-c8467b8c2d7a", "title": "Making clear gelatin from porcine sheets", "url": "https://andykong.org/blog/cleargelatin1/", "published_at": "2022-10-04T04:00:00+00:00" }, { "id": "01a08729-9540-7166-a9a6-c8467c69738e", "title": "Infoglobe Tutorial Pt 1 — Hardware Prototyping", "url": "https://andykong.org/blog/infoglobetutorial1%202/", "published_at": "2022-10-01T04:00:00+00:00" }, { "id": "01a08729-9540-7166-a9a6-c8467d48b457", "title": "Infoglobe Tutorial Pt 1 — Hardware Prototyping", "url": "https://andykong.org/blog/infoglobetutorial1/", "published_at": "2022-10-01T04:00:00+00:00" }, { "id": "01a08729-9540-7166-a9a6-c8467e289906", "title": "Setting up Electric Tables v0.2", "url": "https://andykong.org/blog/settingupelectrictables/", "published_at": "2022-04-22T04:00:00+00:00" }, { "id": "01a08729-9540-7166-a9a6-c8467eb3c13c", "title": "Supercapacitor To Lithium Battery Converter", "url": "https://andykong.org/blog/supercap2lipo/", "published_at": "2022-02-14T05:00:00+00:00" }, { "id": "01a08729-9540-7166-a9a6-c8467f3eed95", "title": "Replacing Timing.app", "url": "https://andykong.org/blog/replacingtiming/", "published_at": "2022-01-09T05:00:00+00:00" }, { "id": "01a08729-9540-7166-a9a6-c8467f4525cd", "title": "Learning AppleScript", "url": "https://andykong.org/blog/applescripts1/", "published_at": "2022-01-05T05:00:00+00:00" }, { "id": "01a08729-9540-7166-a9a6-c8467f97ff98", "title": "Examples from the Taxonomy of Automation", "url": "https://andykong.org/blog/taxonomyofautomation/", "published_at": "2022-01-03T05:00:00+00:00" }, { "id": "01a08729-9540-7166-a9a6-c8467fcf7fc7", "title": "How Good Are Stock Watchlists Anyway?", "url": "https://andykong.org/blog/watchlists1/", "published_at": "2021-12-25T05:00:00+00:00" }, { "id": "01a08729-9540-7166-a9a6-c8467fdd17ae", "title": "How Trees Fall Apart", "url": "https://andykong.org/blog/howtreesfallapart/", "published_at": "2021-11-13T05:00:00+00:00" }, { "id": "01a08729-9540-7166-a9a6-c84680030a07", "title": "Real Time Fourier Transform Using Shaped Aperture", "url": "https://andykong.org/blog/fourieraperture/", "published_at": "2021-09-20T04:00:00+00:00" }, { "id": "01a08729-9540-7166-a9a6-c846805ec83d", "title": "Measuring 150 Amps With A DIY Shunt", "url": "https://andykong.org/blog/highcurrentsource%202/", "published_at": "2021-09-06T04:00:00+00:00" }, { "id": "01a08729-9540-7166-a9a6-c84680738683", "title": "Measuring 150 Amps With A DIY Shunt", "url": "https://andykong.org/blog/highcurrentsource/", "published_at": "2021-09-06T04:00:00+00:00" }, { "id": "01a08729-9540-7166-a9a6-c8468135c82b", "title": "Fast-charging capacitors", "url": "https://andykong.org/blog/superchargingcaps/", "published_at": "2021-08-09T04:00:00+00:00" }, { "id": "01a08729-9540-7166-a9a6-c84681b8f349", "title": "Everything I Know About PEDOT:PSS", "url": "https://andykong.org/blog/PEDOT/", "published_at": "2021-08-05T04:00:00+00:00" }, { "id": "01a08729-9540-7166-a9a6-c84682a4740a", "title": "Sugar-Metering My First Watermelon", "url": "https://andykong.org/blog/firstwatermelon/", "published_at": "2021-07-27T04:00:00+00:00" }, { "id": "01a08729-9540-7166-a9a6-c84682ea1a0c", "title": "How to get access to your Fitbit data (API tutorial)", "url": "https://andykong.org/blog/fitbit1/", "published_at": "2021-07-26T04:00:00+00:00" }, { "id": "01a08729-9540-7166-a9a6-c846838501fd", "title": "Comparing The Sugar Percentage Of Peach Juice vs. Sugary Drinks", "url": "https://andykong.org/blog/refractometertesting/", "published_at": "2021-07-23T04:00:00+00:00" }, { "id": "01a08729-9540-7166-a9a6-c846845011a7", "title": "Paper Delivery: Sinusoidal Skin Displacements", "url": "https://andykong.org/blog/sinepaper/", "published_at": "2021-06-22T04:00:00+00:00" }, { "id": "01a08729-9540-7166-a9a6-c84684735fd1", "title": "Finding My Pacinian Corpuscles in vivo", "url": "https://andykong.org/blog/mechanoreceptor2/", "published_at": "2021-06-16T04:00:00+00:00" }, { "id": "01a08729-9540-7166-a9a6-c84684fc2891", "title": "Recreating the Traxion psychophysics effect", "url": "https://andykong.org/blog/traxionreproduction/", "published_at": "2021-06-02T04:00:00+00:00" }, { "id": "01a08729-9540-7166-a9a6-c846855ee9a2", "title": "MacGyvering Electronics From Merch", "url": "https://andykong.org/blog/macgyver1/", "published_at": "2021-05-31T04:00:00+00:00" }, { "id": "01a08729-9540-7166-a9a6-c8468603b1bf", "title": "Stimulating the Merkel Discs: selective nerve stimulation with a TENS unit", "url": "https://andykong.org/blog/mechanoreceptor1/", "published_at": "2021-05-23T04:00:00+00:00" }, { "id": "01a08729-9540-7166-a9a6-c846862826ce", "title": "Body Channel Communication Tutorial Pt. 3", "url": "https://andykong.org/blog/bcc3/", "published_at": "2021-05-15T04:00:00+00:00" }, { "id": "01a08729-9540-7166-a9a6-c846867bd551", "title": "Outro to Intro to Woodworking", "url": "https://andykong.org/blog/woodworkingday2/", "published_at": "2021-04-29T04:00:00+00:00" }, { "id": "01a08729-9540-7166-a9a6-c846870f8b3e", "title": "Body Channel Communication Tutorial Pt. 2", "url": "https://andykong.org/blog/bcc2/", "published_at": "2021-04-27T04:00:00+00:00" }, { "id": "01a08729-9540-7166-a9a6-c84687e77d6a", "title": "Body Channel Communication Tutorial Pt. 1", "url": "https://andykong.org/blog/bcc1/", "published_at": "2021-04-17T04:00:00+00:00" }, { "id": "01a08729-9540-7166-a9a6-c84688db2442", "title": "Intro to Intro to Woodworking", "url": "https://andykong.org/blog/woodworkingday1/", "published_at": "2021-03-24T04:00:00+00:00" }, { "id": "01a08729-9540-7166-a9a6-c84688e0e32f", "title": "MPR121 Touch Sensing Across Barriers", "url": "https://andykong.org/blog/mpr121passthrough/", "published_at": "2021-03-13T05:00:00+00:00" }, { "id": "01a08729-9540-7166-a9a6-c84689334125", "title": "5050 LED Strip Teardown", "url": "https://andykong.org/blog/led5050teardown/", "published_at": "2021-02-20T05:00:00+00:00" }, { "id": "01a08729-9540-7166-a9a6-c8468a18e256", "title": "Blink Detection Using Infrared Reflective Sensors", "url": "https://andykong.org/blog/blinkdetectioninitial/", "published_at": "2021-02-12T05:00:00+00:00" }, { "id": "01a08729-9540-7166-a9a6-c8468a996c10", "title": "Calculating the expected value of the PA scratch offs", "url": "https://andykong.org/blog/palotteryexpectedvalue/", "published_at": "2021-02-04T05:00:00+00:00" }, { "id": "01a08729-9540-7166-a9a6-c8468b20b9d2", "title": "Detecting instantaneous frequency is hard", "url": "https://andykong.org/blog/IFproblems/", "published_at": "2021-01-31T05:00:00+00:00" }, { "id": "01a08729-9540-7166-a9a6-c8468b949c69", "title": "Touch Reactive LEDs", "url": "https://andykong.org/blog/touchreactiveLEDs/", "published_at": "2021-01-29T05:00:00+00:00" }, { "id": "01a08729-9540-7166-a9a6-c8468c60c65c", "title": "Oversampling vs. Averaging for Noise Reduction", "url": "https://andykong.org/blog/oversamplingvsaveraging/", "published_at": "2021-01-24T05:00:00+00:00" }, { "id": "01a08729-9540-7166-a9a6-c8468cdb9ab3", "title": "Comparing the interface speed of a thermostat to a keyboard", "url": "https://andykong.org/blog/interfacespeeds/", "published_at": "2021-01-21T05:00:00+00:00" }, { "id": "01a08729-9540-7166-a9a6-c8468d25d2f9", "title": "Trying out various peak detection techniques for the SSVEP", "url": "https://andykong.org/blog/ssveppeakdetect/", "published_at": "2021-01-18T05:00:00+00:00" }, { "id": "01a08729-9540-7166-a9a6-c8468d282b3b", "title": "EEG fails in the prescence of household EMI", "url": "https://andykong.org/blog/EMIvsBCI/", "published_at": "2021-01-17T05:00:00+00:00" }, { "id": "01a08729-9540-7166-a9a6-c8468ddd5fe4", "title": "The first generation of handheld barcode scanners had laser tubes", "url": "https://andykong.org/blog/barcodehistory/", "published_at": "2021-01-14T05:00:00+00:00" }, { "id": "01a08729-9540-7166-a9a6-c8468e522988", "title": "My new favorite EEG technique: Phase-rectified signal averaging", "url": "https://andykong.org/blog/PRSAhighlight/", "published_at": "2021-01-13T05:00:00+00:00" }, { "id": "01a08729-9540-7166-a9a6-c8468e84c26d", "title": "Preliminary 5W LED Tests", "url": "https://andykong.org/blog/5WLEDprelimtests/", "published_at": "2021-01-06T05:00:00+00:00" }, { "id": "01a08729-9540-7166-a9a6-c8468f08da7d", "title": "Fresnel Lens", "url": "https://andykong.org/blog/fresnellens/", "published_at": "2021-01-05T05:00:00+00:00" }, { "id": "01a08729-9540-7166-a9a6-c8468faaf714", "title": "Hello World for Brain-Computer Interfaces", "url": "https://andykong.org/blog/bcieyeclosedetection/", "published_at": "2020-12-31T05:00:00+00:00" }, { "id": "01a08729-9540-7166-a9a6-c846905530ed", "title": "Working with BrainFlow pt. 1", "url": "https://andykong.org/blog/workingwithbrainflow1/", "published_at": "2020-12-30T05:00:00+00:00" }, { "id": "01a08729-9540-7166-a9a6-c84690681259", "title": "Testing out some high power LEDs", "url": "https://andykong.org/blog/LEDs3W6piece/", "published_at": "2020-12-28T05:00:00+00:00" }, { "id": "01a08729-9540-7166-a9a6-c84690c80f9c", "title": "Easy Button Hack Pt. 1", "url": "https://andykong.org/blog/easybutton1/", "published_at": "2020-12-24T05:00:00+00:00" }, { "id": "01a08729-9540-7166-a9a6-c846912080fe", "title": "Improving noisy EEG data through single channel averaging", "url": "https://andykong.org/blog/eegsinglechannelavg/", "published_at": "2020-12-18T05:00:00+00:00" }, { "id": "01a08729-9540-7166-a9a6-c84691f81d02", "title": "Coin vibration motors arrived!", "url": "https://andykong.org/blog/coinvibrationmotor/", "published_at": "2020-12-14T05:00:00+00:00" }, { "id": "01a08729-9540-7166-a9a6-c84692d09d7d", "title": "Playing sounds with an Arduino, speaker, and no amplifier", "url": "https://andykong.org/blog/arduinodirect2wav/", "published_at": "2020-12-13T05:00:00+00:00" }, { "id": "01a08729-9540-7166-a9a6-c84693c48711", "title": "Analog Electronics Basics: Scaling Voltage Rails", "url": "https://andykong.org/blog/analogscalingvoltages/", "published_at": "2020-12-08T05:00:00+00:00" }, { "id": "01a08729-9540-7166-a9a6-c84694af627e", "title": "Remote Photoplethysmography (PPG) Tutorial", "url": "https://andykong.org/blog/PPG_tutorial/", "published_at": "2020-12-07T05:00:00+00:00" }, { "id": "01a08729-9540-7166-a9a6-c8469549da32", "title": "Exploring USB-A breakout cables", "url": "https://andykong.org/blog/USBA_exploration/", "published_at": "2020-12-04T05:00:00+00:00" } ] posts Claim your blog
Back to andykong.org
Blog · corpus.blog/blogs/andykong.org/posts

andykong.org

andykong.org

2026

2025

2024

2023

2022

2021

2020