Further sept. dispatch progress
This commit is contained in:
@@ -13,6 +13,10 @@ references:
|
||||
url: https://www.wunc.org/news/2023-08-16/storm-damage-durham-power-outage-closures-north-carolina-816
|
||||
date: 2023-08-21T18:18:11Z
|
||||
file: www-wunc-org-fstofo.txt
|
||||
- title: "Radda in Chianti to Siena – Two Nerds | A lifestyle blog"
|
||||
url: https://twonerds.net/blog/radda-in-chianti-to-siena
|
||||
date: 2023-09-08T20:11:47Z
|
||||
file: twonerds-net-pv4a04.txt
|
||||
---
|
||||
|
||||
We were down at Lake Norman for the long weekend, and as I was pulling up the kayaks this morning, I couldn't help but feel like I was also sort of putting away the summer -- what a summer though. The last few weeks of August were pretty wall-to-wall. I went up to the Eastern Shore in Virginia to spend a long weekend with some old friends. Our rental was right on an inlet off the Chesapeake, and they had a stand-up paddleboard I was able to take out.
|
||||
@@ -54,57 +58,61 @@ I also started a [low-brow thriller][7] and was surprised that it was the same n
|
||||
[7]: https://durhamcounty.overdrive.com/media/2152378
|
||||
[8]: https://en.wikipedia.org/wiki/George_Guidall
|
||||
|
||||
We got hit with a [nasty storm][9] in the middle of August. It was wild -- hot, sunny day during my scoot home, then 5 minutes later, hard rain/thunder/80mph winds. We were without power from 4pm until 8pm the following day, and the damage through the city was intense. Phones weren't working very well, traffic lights were out, and even places that had power were cash-only as the credit card systems were down. Fortunately, we have a good set of camping equipment, most of which doubles as disaster preparedness gear, but it made plain the fragility of modern society.
|
||||
We got hit with a [nasty storm][9] in the middle of August. It was wild -- hot, sunny day during my scoot home, then 5 minutes later, hard rain/thunder/80mph winds. We were without power from 4pm until 8pm the following day, and the damage through the city was intense. Phones weren't working very well, traffic lights were out, and even places that had power were cash-only as the credit card systems were down. Fortunately, we have a good set of camping equipment which doubles as disaster preparedness gear, but it made plain the fragility of modern society.
|
||||
|
||||
[9]: https://www.wunc.org/news/2023-08-16/storm-damage-durham-power-outage-closures-north-carolina-816
|
||||
|
||||
* Go
|
||||
* Golong - Fantasy Draft App
|
||||
* TOML
|
||||
* SQlite
|
||||
* Bubble Tea
|
||||
* ChatGPT
|
||||
* Refactoring
|
||||
* Naming
|
||||
* Does this get a standalone post?
|
||||
* Forecast Report
|
||||
* CLI App
|
||||
* API Gateway / Lambda
|
||||
* HTTP vs. REST APIs
|
||||
* Basic Auth
|
||||
* Parsing multi-part response body
|
||||
* Testing
|
||||
* [Testify](https://github.com/stretchr/testify)
|
||||
* Music stuff
|
||||
* https://carillon58.bandcamp.com/album/the-whole-earth
|
||||
* Build a workstation
|
||||
* Adventure
|
||||
* Italy
|
||||
* https://www.rosselbalepalme.it/en/glamping-lodge.php
|
||||
* Ending: Nev experiences
|
||||
|
||||
I did a couple projects in Go this month:
|
||||
|
||||
<div class="image-set">
|
||||
{{<thumbnail golong.png "400x" />}}
|
||||
{{<thumbnail forecast.png "400x" />}}
|
||||
</div>
|
||||
|
||||
The first, the fantasy draft <abbr title="text-based user interface">TUI</abbr> app [I mentioned last month][10], came together well and quickly. It was straightforward to set up TOML for configuration, SQLite for data persistence, and [Bubble Tea][11] for the UI. Bubble Tea's super cool -- you pull in your widgets (two in my case, for a table view and a search box), and you can respond to keypresses or let the widgets handle them. As a result, my UI has Vim keybindings without me doing anything, which was super handy during the draft.
|
||||
|
||||
I played around with ChatGPT while I was working on it, asking it to make my code more idiomatic. This worked super well, and some of the refactorings were really clever. This seems like a sweet spot of <abbr title="large language models">LLMs</abbr> -- I already had working code and wasn't asking it to solve complex problems, just to make my code look more like the other code it knows about. I also used it to come up with a name for the project, and it came back with `golong`, which is just 🍒.
|
||||
|
||||
[10]: https://davideisinger.com/journal/dispatch-6-august-2023/
|
||||
[11]: https://github.com/charmbracelet/bubbletea
|
||||
|
||||
The second was for work -- we needed to crunch some data coming out of [Forecast][12] and the nature of the data (forward-looking, ever-changing) makes it a poor fit for our usual tech. I decided to write a command-line program that reads two <abbr title="comma-separated values">CSVs</abbr> and outputs a third, which we can then import into a Google Sheet. Then I set up an AWS Lambda + API Gateway that serves a very simple web frontend so other folks can run it. This was fun and useful, though it was really low-level programming -- parsing multi-part form bodies, reading and writing basic auth headers, etc. If I were to do something like this again, I'd look for a library that adds additional functionality on top of the basic AWS Lambda request/response stuff. I was able to do some testing with [Testify][13] and learned a lot about structuring slightly larger Go codebases.
|
||||
|
||||
[12]: https://www.getharvest.com/forecast
|
||||
[13]: https://github.com/stretchr/testify
|
||||
|
||||
Working with a typed language, a good language server (`gopls`), and an editor that supports it well ([Helix][14]) is a joy -- I can see why people are excited about languages like TypeScript. I'll get `golong` cleaned up and up on GitHub, then write a more detailed post about it.
|
||||
|
||||
[14]: /journal/a-month-with-helix/
|
||||
|
||||
Final thought: someone (my father-in-law, I think) asked if we thought Nev would remember all these adventures we're having with her, and I said, no, but that's OK and not really the point. Even if she's not yet capable of forming lasting memories, these experiences are forming who she is. We want the first international flight she remembers into adulthood to feel like a familiar thing in the moment. Plus she's such a delight that experiencing new things with her and sharing her with the world is a source of deep joy for us.
|
||||
|
||||
This month:
|
||||
|
||||
* Adventure:
|
||||
* Project:
|
||||
* Adventure: Italy! Claire and I [did a bike tour through Tuscany][15] in 2017 that was supposed to end at Elba Island, though for various reasons, it did not. Claire has continued to follow the resort on social media, and we decided earlier this summer to finally check it out, Nev in tow. We've been so busy that it's just now coming into focus, but we are getting excited -- [just look at this place][16].
|
||||
* Project: hanging out with my buddy Ken (pictured up top), who records music as [Carillon][17], is always inspiring. I'd like to get a basic audio recording station set up in my basement and start playing with some acoustic and digital instruments. I'll probably repurpose the door I removed as part of the [closet project][18].
|
||||
* Skill:
|
||||
|
||||
[15]: https://twonerds.net/blog/radda-in-chianti-to-siena
|
||||
[16]: https://www.rosselbalepalme.it/en/glamping-lodge.php
|
||||
[17]: https://carillon58.bandcamp.com/album/the-whole-earth
|
||||
[18]: /journal/dispatch-4-june-2023/
|
||||
|
||||
Reading:
|
||||
|
||||
* Fiction: [_Forever and a Day_][10], Anthony Horowitz
|
||||
* Non-fiction: [_The Creative Programmer_][11], [Wouter Groeneveld][12]
|
||||
* Fiction: [_Forever and a Day_][19], Anthony Horowitz
|
||||
* Non-fiction: [_The Creative Programmer_][20], [Wouter Groeneveld][21]
|
||||
|
||||
|
||||
[10]: https://bookshop.org/p/books/forever-and-a-day-a-james-bond-novel-anthony-horowitz/7998118
|
||||
[11]: https://www.manning.com/books/the-creative-programmer
|
||||
[12]: https://brainbaking.com/
|
||||
[19]: https://bookshop.org/p/books/forever-and-a-day-a-james-bond-novel-anthony-horowitz/7998118
|
||||
[20]: https://www.manning.com/books/the-creative-programmer
|
||||
[21]: https://brainbaking.com/
|
||||
|
||||
Links:
|
||||
|
||||
* [Title][13]
|
||||
* [Title][14]
|
||||
* [Title][15]
|
||||
* [Title][22]
|
||||
* [Title][23]
|
||||
* [Title][24]
|
||||
|
||||
[13]: https://example.com/
|
||||
[14]: https://example.com/
|
||||
[15]: https://example.com/
|
||||
[22]: https://example.com/
|
||||
[23]: https://example.com/
|
||||
[24]: https://example.com/
|
||||
|
||||
107
static/archive/twonerds-net-pv4a04.txt
Normal file
107
static/archive/twonerds-net-pv4a04.txt
Normal file
@@ -0,0 +1,107 @@
|
||||
#[1]RSS Feed
|
||||
|
||||
[2]Two Nerds | A lifestyle blog
|
||||
|
||||
* [3]Blog
|
||||
* [4]About
|
||||
|
||||
[Blog______]
|
||||
|
||||
[5]Radda in Chianti to Siena
|
||||
|
||||
[6]May 15, 2017 [7]by Claire
|
||||
|
||||
As expected, our second day of riding was easier than the first -- but
|
||||
still hilly, and twice as difficult as any ride I'd done before this
|
||||
trip. It was well worth it to end the day in Siena, a town that's
|
||||
incredibly easy to fall in love with (once you forgive the ancient
|
||||
Etruscans for building their cities on freakin' mountains!).
|
||||
|
||||
We started our day with an early breakfast on our terrace (bruschetta
|
||||
with tomatoes, olives and pieces of fried egg, prepared by our B&B
|
||||
proprietor Romanita), then set off for the open road. After about an
|
||||
hour of pedaling (55 minutes of steady uphill climbing, followed by 5
|
||||
minutes of an exhilarating 35mph downhill plunge) we rolled into Gaolie
|
||||
in Chianti, home of L'Eroica, a retro 200km bike ride held in Tuscany
|
||||
every October.
|
||||
|
||||
We made an unplanned stop at the [8]bike rental shop in town for a
|
||||
quick tune-up, tire pressure check, and to have Felipe (the mechanic)
|
||||
look at a few nagging rattling noises on the bikes -- undoubtedly a
|
||||
result of putting them together ourselves. 45 minutes and just 5 Euro
|
||||
later, we were back on the road!
|
||||
|
||||
We were treated to our second tough climb of the day out of Gaoile, and
|
||||
by the time we reached the turn for [9]Castello di Brolio at about
|
||||
12:45pm, we were in desperate need of fuel. We stopped at a small café
|
||||
for overpriced cheese sandwiches and unnamed beer. Totally worth it.
|
||||
Then, we pushed our bikes up a steep cliff (zero shame in that) and
|
||||
explored the grounds of the 12th century castle!
|
||||
|
||||
Our route map had us getting back on the main road to snake through a
|
||||
few more hill towns before our final ascent to Siena. We called an
|
||||
audible and followed the white gravel L'Eroica route (which seemed to
|
||||
be shorter, but about which we knew absolutely nothing) instead. We
|
||||
were not disappointed! The road circled around behind the castle, then
|
||||
through the beautiful countryside on roads that were virtually
|
||||
car-less.
|
||||
|
||||
Thanks to our shortcut, we arrived in Siena before 4pm and checked into
|
||||
the Hotel Bernini (which was absolutely perfect – basic, clean rooms,
|
||||
friendly staff, and a terrace with a killer view). We spent the rest of
|
||||
the afternoon exploring the city streets and enjoying drinks and snacks
|
||||
on Il Campo, the main city square that doubles as a race track one day
|
||||
a year with horses representing each of Siena's 17 contrade
|
||||
(districts).
|
||||
|
||||
As the Palio di Siena draws closer, the districts are known to march
|
||||
into the square. (I equate this to a horse race pep rally, sans
|
||||
horses.) We happened to catch the Oca (goose) district marching on
|
||||
Sunday afternoon. It was crazy awesome!
|
||||
|
||||
We had a few too many snacks during aperitivo (the Italian equivalent
|
||||
of Happy Hour), so weren't hungry for dinner until late – or, put
|
||||
another way, we're finally on the Italian dinner schedule. After
|
||||
scouring menus for the osterias around town, we googled 'best pizza in
|
||||
Siena', and ended up at il Pomodorino around 10pm. It was the best
|
||||
pizza either of us had ever had, and made for a fantastic end to a
|
||||
great day.
|
||||
|
||||
We had two route options for Monday, Day 3: a Level 2/4 Difficulty and
|
||||
a Level 3/4 Difficulty. After Saturday's killer ride (a 2/4), we felt
|
||||
much more comfortable taking on the former – although it would take
|
||||
about half the time as our original planned route. We decided to
|
||||
sleep-in Monday morning (until 9am), go out for coffee in Siena, then
|
||||
sit in Il Campo and map out our bike route for the day. It was so nice
|
||||
to take our time and enjoy the town (our favorite so far) before all
|
||||
the tour groups showed up!
|
||||
|
||||
Stay tuned for Monday's ride to San Gimignano!
|
||||
|
||||
Bike Route: 29.4 miles // 2,711 ft of elevation
|
||||
gain. [10]https://www.strava.com/activities/986032513
|
||||
|
||||
[11]May 15, 2017 /[12]Claire
|
||||
|
||||
* [13]Newer
|
||||
* [14]Older
|
||||
|
||||
2017 © Two Nerds Dot Net. All Rights Reserved. No content from this
|
||||
site may be used without written permission.
|
||||
|
||||
References
|
||||
|
||||
1. https://twonerds.net/blog?format=rss
|
||||
2. file:///
|
||||
3. file:///
|
||||
4. file:///about
|
||||
5. file:///blog/radda-in-chianti-to-siena
|
||||
6. file:///blog/radda-in-chianti-to-siena
|
||||
7. file:///?author=590f29c99f745610d38765af
|
||||
8. http://www.tuscanybicycle.com/en/
|
||||
9. http://www.baronericasoli.com/
|
||||
10. https://www.strava.com/activities/986032513
|
||||
11. file:///blog/radda-in-chianti-to-siena
|
||||
12. file:///?author=590f29c99f745610d38765af
|
||||
13. file:///blog/siena-to-san-gimignano
|
||||
14. file:///blog/firenze-to-radda-in-chianti-our-first-day-in-the-saddle
|
||||
Reference in New Issue
Block a user