User Tools

Site Tools


start

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
start [2022/08/24 05:01]
sausage [Custom Ember Data the easy way]
start [2024/03/20 01:51] (current)
sausage [ESP32 OTA and Rollbacks - What happens under the hood?]
Line 1: Line 1:
 +====== ESP32 OTA and Rollbacks - What happens under the hood? ======
 +
 +[[esp32_ota|{{:​esp32:​2blinks.jpg?​direct&​300 |}}]]
 +
 +Over The Air (OTA) provides a way to send firmware to your ESP32 board in the field without the need for a cable and physical access to the device.
 +
 +The purpose of this article is to manually step through the various stages of the OTA process and illustrate the state of the ESP32 at each stage. ​
 +
 +[[esp32_ota|Read Article]]
 +
 +====== "Right To Repair"​ - the problem in a name  ======
 +[[right_to_repair|{{:​repairs:​open-for-mod.jpg?​direct&​300 |}}]]I am a huge fan of repairing electronic equipment. It's a fun activity and very satisfying preserving good gear and bringing things back to life. 
 +
 +As such, I am a supporter of movements like the Right To Repair in most respects to encourage people to reduce their electronic waste and learn valuable skills.
 +
 +But... sometimes there can be a problem in a name.
 +
 +[[right_to_repair|Read Article]]
 +
 +====== Ember Auto-tracking Object Arrays - Deep Dive ======
 +
 +[[ember-autotracking-object-arrays|{{:​ember:​ember-title-card.jpg?​nolink&​300 |}}]]There will be many times when an Ember application needs to work with simple temporary data (POJOs), but setting up models and working with Ember Data's store might be overkill.
 +
 +The user might still want to bind this data to controls and have it perform dynamically when the data changes.
 +
 +Let's explore some easy options.
 +
 +[[ember-autotracking-object-arrays|Read Article]]
 +
 +====== Great Shiny GS-2000 (modification) ======
 +
 +[[gs_2000_home_theatre_modification|{{:​repairs:​gs2000:​back-feature.jpg?​direct&​300 |}}]] 
 +
 +I've owned this interesting GS-2000 "PC Home Theatre System"​ for many years. ​ It's a rarer configuration. but I've never been happy the way that it clunks when turning on due to the inrush current. ​
 +
 +My plan is to add a thermistor on one of the AC lines to soften the inrush AC current before it hits the transformer.
 +
 +[[gs_2000_home_theatre_modification|Read Article]]
 +
 +====== Deploying an open, insecure .NET Core WebAPI to a Plesk host ======
 +
 +[[dotnetcore_webapi_to_windows_plesk|{{:​webapi:​webapi-to-plesk.png?​nolink&​200 |}}]]
 + You might be keen to try your hand at creating a .NET Core WebAPI, but where to host it? Azure or AWS seems to be the first choice for just about everyone, but there have been Windows-based web hosts of all flavours way before the big boys came along. And they can host .NET Core projects just fine.
 +
 +At the very least, the process to test your host should be fairly straight forward. And I'll provide some troubleshooting along the way in case you encounter any problems.
 +
 +[[dotnetcore_webapi_to_windows_plesk|Read Article]]
 +
 +----
 +
 +====== The great Aussie Burger in the Canberra/​Queanbeyan Region ======
 +
 +[[burger-with-the-lot|{{:​burgers:​exploded-burger.jpg?​200 |}}]]
 +
 +What type of burger is a real Australian hamburger? ​
 +
 +In short: it's the Hamburger with the lot. Also known as the "Works Burger"​ or "​Burger with the works"​.
 +
 +To qualify as a proper Australian hamburger with the lot, there are some strict rules. ​
 +
 +And I know some of the best places around the Canberra region where you can still get it.
 +
 +[[burger-with-the-lot|Read Article]]
 +
 +----
 +
 ====== Custom Ember Data the easy way  ====== ====== Custom Ember Data the easy way  ======
  
Line 8: Line 74:
  
 [[custom-ember-data-the-easy-way|Read Article]] [[custom-ember-data-the-easy-way|Read Article]]
 +
 +----
  
 ====== Ember.js Routes and Troubleshooting ====== ====== Ember.js Routes and Troubleshooting ======
  
-{{:​ember:​ember-title-card.jpg?​nolink&​300 |}}One of the nicest features of Ember.js is the ability to easily create a route and a page template and be able to browse to it in seconds.+[[ember-routes-and-troubleshooting|{{:​ember:​ember-title-card.jpg?​nolink&​300 |}}]]One of the nicest features of Ember.js is the ability to easily create a route and a page template and be able to browse to it in seconds.
  
 A good understanding of how routing works can help hunt down bugs and unintended data calls. A good understanding of how routing works can help hunt down bugs and unintended data calls.
  
 [[ember-routes-and-troubleshooting|Read Article]] [[ember-routes-and-troubleshooting|Read Article]]
 +
 +----
  
 ====== My Father, the pilot'​s story of survival ====== ====== My Father, the pilot'​s story of survival ======
  
-{{:​survival:​cessna-and-passengers.jpg?​direct&​300 |}} My father, Adrian Johnson, was a remarkable man with a reputation as an excellent pilot with a string of adventures during his years.+[[my-fathers-survival|{{:​survival:​cessna-and-passengers.jpg?​direct&​300 |}}]] My father, Adrian Johnson, was a remarkable man with a reputation as an excellent pilot with a string of adventures during his years.
  
 In 1959, long before I was born, he was piloting a charter flight from Wagga Wagga destined for Alice Springs when his plane went missing. He was 22 years old at the time. In 1959, long before I was born, he was piloting a charter flight from Wagga Wagga destined for Alice Springs when his plane went missing. He was 22 years old at the time.
  
 [[my-fathers-survival|Read Article]] [[my-fathers-survival|Read Article]]
 +
 +----
  
 ====== My time with COVID ====== ====== My time with COVID ======
  
-{{:​covid:​rat-test-cart.jpg?​direct&​300 |}} I've been waiting my turn for quite some time now. And with children at school, it had to happen sooner or later. ​+[[my-time-with-covid|{{:​covid:​rat-test-cart.jpg?​direct&​300 |}}]] I've been waiting my turn for quite some time now. And with children at school, it had to happen sooner or later. ​
  
 So how was my time with COVID and how did I fair? So how was my time with COVID and how did I fair?
Line 41: Line 113:
 ====== Electronic Component Testing Cheatsheet ====== ====== Electronic Component Testing Cheatsheet ======
  
-{{:​component-cheatsheet:​resistor-testing.png?​direct&​300 |}}When doing a repair job, it's nice to have a handy testing cheatsheet for a range of electronic components. So far I haven'​t found one, so I created my own here which covers everything from resistors to MOSFETs all using a multimeter and other tools. I've tried to cater for absolute beginners to intermediate hobbyists.+[[electronic_component_testing_cheatsheet|{{:​component-cheatsheet:​resistor-testing.png?​direct&​300 |}}]]When doing a repair job, it's nice to have a handy testing cheatsheet for a range of electronic components. So far I haven'​t found one, so I created my own here which covers everything from resistors to MOSFETs all using a multimeter and other tools. I've tried to cater for absolute beginners to intermediate hobbyists.
  
 This article is likely to expand over time. If this is handy for you, please pass it along to friends. I love to hear from other repairers, if you spot anything wrong, please let me know.  This article is likely to expand over time. If this is handy for you, please pass it along to friends. I love to hear from other repairers, if you spot anything wrong, please let me know. 
Line 53: Line 125:
 The PIC16F1455 is only a small microcontroller with 14 pins.  The PIC16F1455 is only a small microcontroller with 14 pins. 
  
-{{:​pic16f1455:​pic16f1455-layout.png?​direct&​300 |}}+[[ra3_on_pic16f1455|{{:​pic16f1455:​pic16f1455-layout.png?​direct&​300 |}}]]
  
 But there are limitations. As you start to allocate out and plan what functions the pins will perform in your design, the choices start to thin out quickly. Some GPIO pins share with other functionality. But there are limitations. As you start to allocate out and plan what functions the pins will perform in your design, the choices start to thin out quickly. Some GPIO pins share with other functionality.
Line 67: Line 139:
 ====== Repairing an Adafruit Grand Central M4 ====== ====== Repairing an Adafruit Grand Central M4 ======
  
-{{:​grand-central:​grandcentral.jpg?​direct&​300 |}}A while back, my friend, Professor McSwivells purchased an Adafruit Grand Central M4. Unfortunately it was dead on arrival, and after being in touch with the staff at Adafruit, they reluctantly refunded the purchase. The dead board went into a drawer and was forgotten.+[[repairing_adafruit_grand_central|{{:​grand-central:​grandcentral.jpg?​direct&​300 |}}]]A while back, my friend, Professor McSwivells purchased an Adafruit Grand Central M4. Unfortunately it was dead on arrival, and after being in touch with the staff at Adafruit, they reluctantly refunded the purchase. The dead board went into a drawer and was forgotten.
  
 The professor recently found it again and thought he'd send it down to me on the off chance that it could be repaired or at least parts salvaged and recycled. The professor recently found it again and thought he'd send it down to me on the off chance that it could be repaired or at least parts salvaged and recycled.
  
 [[repairing_adafruit_grand_central|Read Article]] [[repairing_adafruit_grand_central|Read Article]]
 +
 +----
  
 ====== Repairing the Vulcan Dishlex Milano Dishwasher ====== ====== Repairing the Vulcan Dishlex Milano Dishwasher ======
  
-{{:​repairs:​dishwasher:​running-test.jpg?​direct&​300 |}}Two weeks before the International Repair Day 2021, our 26 year old dishwasher from 1995 packed it in. It came with the house, and was pretty old back then. We never used it all that much over the years. But recently it has been used more, and I guess the old girl couldn'​t cope.+[[vulcan_dishlex_milano_dishwasher_repair|{{:​repairs:​dishwasher:​running-test.jpg?​direct&​300 |}}]]Two weeks before the International Repair Day 2021, our 26 year old dishwasher from 1995 packed it in. It came with the house, and was pretty old back then. We never used it all that much over the years. But recently it has been used more, and I guess the old girl couldn'​t cope.
  
 I know nothing about dishwashers (or even how to operate one), so I had really no idea where to begin. ​ I know nothing about dishwashers (or even how to operate one), so I had really no idea where to begin. ​
Line 87: Line 161:
 ====== ReactJS and Friends Refresher ====== ====== ReactJS and Friends Refresher ======
  
-{{:​react:​react-and-friends.png?​direct&​300 |}} Whenever I take a spell from ReactJS it sometimes takes a little bit of time to warm up again. You might be the same. +[[reactjs_and_friends|{{:​react:​react-and-friends.png?​direct&​300 |}}]] Whenever I take a spell from ReactJS it sometimes takes a little bit of time to warm up again. You might be the same. 
  
 Hopefully this article will serve as a good reminder for when you need to stretch your legs again. Hopefully this article will serve as a good reminder for when you need to stretch your legs again.
Line 101: Line 175:
 ====== Creating a .NET Core application with Entity Framework and SQLite in VSCode ====== ====== Creating a .NET Core application with Entity Framework and SQLite in VSCode ======
  
-{{:​sqlite:​sqlite-ef-vscode.png?​direct&​300 |}}+[[sqlite_dotnet_ef_vscode|{{:​sqlite:​sqlite-ef-vscode.png?​direct&​300 |}}]]
  
 One of the nice things about SQLite databases is that they are so quick to spin up and work with. That's opposed to the overhead of something like SQL Server and it's installation. ​ One of the nice things about SQLite databases is that they are so quick to spin up and work with. That's opposed to the overhead of something like SQL Server and it's installation. ​
Line 117: Line 191:
 ====== AirFlash for the Pi Zero ====== ====== AirFlash for the Pi Zero ======
  
-{{:​airflash:​airflash.jpg?​direct&​300 |}}+[[airflash|{{:​airflash:​airflash.jpg?​direct&​300 |}}]]
  
 The AirFlash is an open-source standalone USB powered device that accepts up to four USB Flash drives and will serve their content out over WIFI to one or more users. ​ The AirFlash is an open-source standalone USB powered device that accepts up to four USB Flash drives and will serve their content out over WIFI to one or more users. ​
Line 131: Line 205:
 ====== TEAC FD-235F 4161-U Amiga Floppy Drive Repair ====== ====== TEAC FD-235F 4161-U Amiga Floppy Drive Repair ======
  
-{{:​repairs:​teac-drive:​working-floppy.jpg?​direct&​300 |}}+[[teac_fd-235f_amiga_floppy_repair|{{:​repairs:​teac-drive:​working-floppy.jpg?​direct&​300 |}}]]
  
 My original TEAC FD-235F 4161-U floppy drive died maybe a year before I stopped using the Amiga 1200. I had to replace it with another drive that was too tall, meaning the case could never be properly closed. ​ My original TEAC FD-235F 4161-U floppy drive died maybe a year before I stopped using the Amiga 1200. I had to replace it with another drive that was too tall, meaning the case could never be properly closed. ​
Line 143: Line 217:
 ====== Amiga 1081 Monitor from 1986 ====== ====== Amiga 1081 Monitor from 1986 ======
  
-{{:​repairs:​1081:​1081-fixed.jpg?​direct&​300 |}}I'​ve been looking forward to getting this on the bench for a while now. A friend gave this to me a while back when he sold off his Amiga 1000. I didn't know what state it was in. Like most Commodore monitors, these are worth fixing, with composite in, TTL RGB and SCART inputs.+[[amiga_1081_monitor_repair|{{:​repairs:​1081:​1081-fixed.jpg?​direct&​300 |}}]]I've been looking forward to getting this on the bench for a while now. A friend gave this to me a while back when he sold off his Amiga 1000. I didn't know what state it was in. Like most Commodore monitors, these are worth fixing, with composite in, TTL RGB and SCART inputs.
  
 [[amiga_1081_monitor_repair|Read Article]] [[amiga_1081_monitor_repair|Read Article]]
Line 153: Line 227:
 On the bench this time is a Panasonic Home Theatre System, the SA-PT170, or sometimes labelled as an SC-PT170. On the bench this time is a Panasonic Home Theatre System, the SA-PT170, or sometimes labelled as an SC-PT170.
  
-{{:​repairs:​sapt170:​panasonic-dvd-unit-open.jpg?​direct&​300 |}}+[[panasonic_sa_pt170_repair|{{:​repairs:​sapt170:​panasonic-dvd-unit-open.jpg?​direct&​300 |}}]]
  
 This unit was working for a good solid ten years but would no longer turn on. This unit was working for a good solid ten years but would no longer turn on.
Line 163: Line 237:
 ====== Generating VGA with an FPGA (Verilog) ====== ====== Generating VGA with an FPGA (Verilog) ======
  
-{{:​vga:​monitor-bottom-centre.jpg?​direct&​300 |}}Generating a VGA signal can be a rewarding achievement as an FPGA project. There are loads of explanations and illustrations online on how to generate VGA signals. But sometimes the concept is not clear.+[[generating_vga_with_an_fpga|{{:​vga:​monitor-bottom-centre.jpg?​direct&​300 |}}]]Generating a VGA signal can be a rewarding achievement as an FPGA project. There are loads of explanations and illustrations online on how to generate VGA signals. But sometimes the concept is not clear.
  
 I'll attempt to try and make it much clearer and get you on your way quicker. I'll attempt to try and make it much clearer and get you on your way quicker.
Line 173: Line 247:
 ====== Simple guide to Verilog Wire and Reg types ====== ====== Simple guide to Verilog Wire and Reg types ======
  
-{{ :​verilog:​wire-reg-cover.png?​direct&​300|}}The aim of this article is to help clear any confusion for beginners when using verilog wire and reg data types between modules. We'll go through all the rules for both a reg and a wire.+[[verilog_wire_and_reg|{{ :​verilog:​wire-reg-cover.png?​direct&​300|}}]]The aim of this article is to help clear any confusion for beginners when using verilog wire and reg data types between modules. We'll go through all the rules for both a reg and a wire.
  
 [[verilog_wire_and_reg|Read Article]] [[verilog_wire_and_reg|Read Article]]
Line 181: Line 255:
 ====== Open Source FPGA toolchain on The Go Board ====== ====== Open Source FPGA toolchain on The Go Board ======
  
-{{ ::​goboard.jpg?​direct&​300|}}The Go Board is an excellent FPGA dev board that contains four switches, four LEDs, two 7-segments, a PMOD, and a VGA connector.+[[open_source_on_goboard|{{ ::​goboard.jpg?​direct&​300|}}]]The Go Board is an excellent FPGA dev board that contains four switches, four LEDs, two 7-segments, a PMOD, and a VGA connector.
  
 I love it for sketching out quick ideas and experiments. I love it for sketching out quick ideas and experiments.
Line 195: Line 269:
 ====== Samsung 32" S32D850T Monitor Repair ====== ​ ====== Samsung 32" S32D850T Monitor Repair ====== ​
  
-{{ :​s32d850t:​screen-working.jpg?​direct&​300|}}I had a 32" Samsung monitor on the bench from a friend at work who only used it for four years before the power went out and wouldn'​t turn on again. ​+[[s32d850t_monitor_repair|{{ :​s32d850t:​screen-working.jpg?​direct&​300|}}]]I had a 32" Samsung monitor on the bench from a friend at work who only used it for four years before the power went out and wouldn'​t turn on again. ​
  
 Once I got it into the workshop, I attempted a power on and got a pop as well. Once I got it into the workshop, I attempted a power on and got a pop as well.
Line 207: Line 281:
 ====== Raspberry Pi Pico Setup and Review ====== ====== Raspberry Pi Pico Setup and Review ======
  
-{{ :​pi-pico:​raspberry-pi-pico.jpg?​direct&​400|}}+[[raspberry_pi_pico_review|{{ :​pi-pico:​raspberry-pi-pico.jpg?​direct&​400|}}]]
  
 Saw the ad for the Raspberry Pi Pico from Core Electronics the other week. At $5.75 each, I couldn'​t pass it up. Saw the ad for the Raspberry Pi Pico from Core Electronics the other week. At $5.75 each, I couldn'​t pass it up.
Line 230: Line 304:
 ====== NV-VP32 VHS/DVD Combo Unit Repair ​ ====== ====== NV-VP32 VHS/DVD Combo Unit Repair ​ ======
  
-{{ ::​repairs:​nv-vp32-01.jpg?​direct&​400|}} Had an NV-VP32 on the bench during the week. This is a VHS/DVD combo unit that can act as a converter for burning tapes to disk.+[[nvvp32_repair|{{ ::​repairs:​nv-vp32-01.jpg?​direct&​400|}}]] Had an NV-VP32 on the bench during the week. This is a VHS/DVD combo unit that can act as a converter for burning tapes to disk.
  
 I plugged the unit in and switched it on. Pressing the power button only showed ''​F09''​ on the display. I plugged the unit in and switched it on. Pressing the power button only showed ''​F09''​ on the display.
Line 242: Line 316:
 ====== Setting up URL Rewrite on shared windows Plesk hosting ====== ====== Setting up URL Rewrite on shared windows Plesk hosting ======
  
-{{ wiki:​dokuwiki-128.png}} Setting up URL rewriting for Dokuwiki is a little bit of a challenge under shared Windows Hosting. Much easier under linux hosting as the use of ''​.htaccess''​ is pretty straight forward.+[[dokuwiki_url_rewrite_windows_plesk|{{ wiki:​dokuwiki-128.png}}]] Setting up URL rewriting for Dokuwiki is a little bit of a challenge under shared Windows Hosting. Much easier under linux hosting as the use of ''​.htaccess''​ is pretty straight forward.
  
 This article will help you get the most commonly desired URL format working. This article will help you get the most commonly desired URL format working.
Line 255: Line 329:
 ESP32 is pretty straight forward when it comes to serial debugging with the console via the USB connection. ESP32 is pretty straight forward when it comes to serial debugging with the console via the USB connection.
  
-{{ :​esp8266:​esp8266-serial-monitor-garbage.png|}}+[[esp8266_serial_monitor|{{ :​esp8266:​esp8266-serial-monitor-garbage.png|}}]]
  
 However when trying the Amica NodeMCU ESP8266, serial was not a straight forward process via the Arduino IDE.  However when trying the Amica NodeMCU ESP8266, serial was not a straight forward process via the Arduino IDE. 
Line 266: Line 340:
 ====== ESP32 with SSD1306 oLED display libraries ====== ====== ESP32 with SSD1306 oLED display libraries ======
  
-{{ :​esp32-oled-libraries:​oled-adafruit-snow.jpg?​nolink&​200|}}+[[esp32_with_ssd1306_libraries|{{ :​esp32-oled-libraries:​oled-adafruit-snow.jpg?​nolink&​200|}}]]
  
 There'​s a lot of articles out there already on using these little 128x64 oLED monochrome displays with an ESP32 or with an Arduino board. ​ There'​s a lot of articles out there already on using these little 128x64 oLED monochrome displays with an ESP32 or with an Arduino board. ​
Line 278: Line 352:
 ====== Charlieplexing LEDs on the ESP32 ====== ====== Charlieplexing LEDs on the ESP32 ======
  
-{{ :​charlieplexing:​3-pin-led1-other-paths.png?​nolink&​150|}}The ESP32 has a stack of GPIO pins allowing you to attach a whole bunch of LEDs. But it's a neat practice to try using fewer pins with several LEDs using Charlieplexing. There'​s quite a few things you can learn along the way.+[[charlieplexing_on_the_esp32|{{ :​charlieplexing:​3-pin-led1-other-paths.png?​nolink&​150|}}]]The ESP32 has a stack of GPIO pins allowing you to attach a whole bunch of LEDs. But it's a neat practice to try using fewer pins with several LEDs using Charlieplexing. There'​s quite a few things you can learn along the way.
  
 [[charlieplexing_on_the_esp32|Read Article]] [[charlieplexing_on_the_esp32|Read Article]]
Line 294: Line 368:
 ====== Space Capsule Hotel Adventure ====== ====== Space Capsule Hotel Adventure ======
  
-{{ :​wiki:​capsulehotel:​pods-feet.jpg?​nolink&​200|}} In February, myself and a couple of mates from work stayed at the Space Capsule Hotel in Sydney. Some thought what we were doing was dreadful/​unconventional but we were keen to check it out nonetheless.+[[reactconf_and_spacecapsule_adventure|{{ :​wiki:​capsulehotel:​pods-feet.jpg?​nolink&​200|}}]] In February, myself and a couple of mates from work stayed at the Space Capsule Hotel in Sydney. Some thought what we were doing was dreadful/​unconventional but we were keen to check it out nonetheless.
  
 Once inside, there really is an illusion of being inside the sleeping cabin of some ship on route to mars. Once inside, there really is an illusion of being inside the sleeping cabin of some ship on route to mars.
Line 314: Line 388:
 ====== Oscillators on the PIC16F1455 ====== ====== Oscillators on the PIC16F1455 ======
  
-{{ :​crystals-small.jpg?​nolink&​200|}} Oscillators on a PIC can be a bit of a minefield to understand. Especially learning to read through a datasheet. So it can be a little daunting just to get a baseline start.+[[pic16f1455_oscillators|{{ :​crystals-small.jpg?​nolink&​200|}}]] Oscillators on a PIC can be a bit of a minefield to understand. Especially learning to read through a datasheet. So it can be a little daunting just to get a baseline start.
  
 Hopefully I can help here. Hopefully I can help here.
Line 400: Line 474:
 ====== Building the Pi1541 ====== ====== Building the Pi1541 ======
  
-{{ :​wiki:​pi-5165.jpg?​nolink&​200|}}I first heard about the [[https://​cbm-pi1541.firebaseapp.com|Pi1541]] created by Steve White on [[http://​www.chickenlipsradio.org|Chicken Lips Radio]]. There had been other solutions in the past for hooking up an SD card to a C64/128 but nothing for the average hacker that would fully emulate a 1541 or daily chain to another real 1541. +[[pi1541|{{ :​wiki:​pi-5165.jpg?​nolink&​200|}}]]I first heard about the [[https://​cbm-pi1541.firebaseapp.com|Pi1541]] created by Steve White on [[http://​www.chickenlipsradio.org|Chicken Lips Radio]]. There had been other solutions in the past for hooking up an SD card to a C64/128 but nothing for the average hacker that would fully emulate a 1541 or daily chain to another real 1541. 
  
 Discovering that this project ran bare metal on the Raspberry Pi without any underlying OS was impressive to say the least, exactly what I was hoping someone would eventually produce. Discovering that this project ran bare metal on the Raspberry Pi without any underlying OS was impressive to say the least, exactly what I was hoping someone would eventually produce.
start.1661317304.txt.gz ยท Last modified: 2022/08/24 05:01 by sausage