davideisinger.com

My personal website
Log | Files | Refs | README

www-viget-com-szerfi.txt (22521B)


      1 [1] Skip to Main Content
      2 [2] Viget
      3 
      4   • [3] Work
      5   • [4] Services
      6   • [5] Articles
      7   • [6] Careers
      8   • [7] Contact
      9   • Open Menu
     10 
     11 Navigation
     12 
     13 [9] Viget Close
     14 
     15   • Practice
     16   • [11] Work
     17   • [12] Services
     18   • [13] Articles
     19 
     20 We’re a full-service digital agency that’s been helping clients make lasting
     21 change since 1999.
     22 
     23 [14] Contact Us
     24 
     25 People
     26 
     27   • [15]Company
     28   • [16]Careers
     29   • [17]Code of Ethics
     30   • [18]Diversity & Inclusion
     31 
     32 More
     33 
     34   • [19]Pointless Corp.
     35   • [20]Explorations
     36   • [21]Code at Viget
     37 
     38 Featured
     39 
     40 [22]
     41 Read the Article: State of the (Labor) Union
     42 
     43 Newsletter
     44 
     45 State of the (Labor) Union
     46 
     47 [23]
     48 Read the Article: StackStash: Taking Bookish Musings to the Next Level
     49 
     50 Article
     51 
     52 StackStash: Taking Bookish Musings to the Next Level
     53 
     54 StackStash: Taking Bookish Musings to the Next Level
     55 
     56 [stackstash-icon-2]
     57 
     58 [24]Laura Sweltz, Director of UX Research and Strategic Initiatives,
     59 
     60 [25]Chris Manning, Development Director,
     61 
     62 [26]Claire Atwell Eisinger, Product Management Director,
     63 
     64 [27]Danny Brown, Senior Developer,
     65 
     66 [28]David Eisinger, Development Director,
     67 
     68 [29]Emily McDonald, Product Manager,
     69 
     70 [30]Jackson Fox, VP of UX & Design,
     71 
     72 [31]Max Myers, Platform Developer,
     73 
     74 [32]Nathan Schmidt, UI Developer, and
     75 
     76 [33]Nick Telsan, Developer
     77 
     78 Article Categories: [34] #News & Culture, [35] #Front-end Engineering, [36] #
     79 Back-end Engineering
     80 
     81 Posted on April 9, 2024
     82 
     83   • [37]
     84     Share
     85   • [38]
     86     Share
     87   • [39]
     88     Post
     89 
     90 Book musings from Viget's #books Slack channel, but make them more useful. That
     91 concept inspired our latest Pointless adventure.
     92 
     93 B o o k m u s i n g s f r o m V i g e t ' s # b o o k s S l a c k c h a n n e l
     94 , b u t m a k e t h e m m o r e u s e f u l . T h a t c o n c e p t i n s p i r
     95 e d o u r l a t e s t P o i n t l e s s a d v e n t u r e .
     96 
     97 We have many book lovers at Viget. Our #books Slack channel has a wealth of
     98 information about what books people have read and how they felt about them.
     99 While it’s great to have access to that data, Slack doesn’t provide the type of
    100 exploratory, visual browsing experience that would be most useful when trying
    101 to make decisions about what we might want to read next.
    102 
    103 We might wonder:
    104 
    105   • Has anyone read Tana French’s The Likeness? How did they feel about it? 
    106   • Liz has shared books that I’ve enjoyed in the past. What other titles have
    107     they enjoyed?
    108   • What has everyone been reading lately?
    109 
    110 During our latest Pointless Palooza, a team of 10 folks at Viget built an app
    111 that would help us answer those types of questions in a more engaging way.
    112 Rather than digging through a bunch of disparate threads in Slack, we can now
    113 use the StackStash app to browse consolidated information. It’s easy to look at
    114 a book and see all of the people who have mentioned it (and how they felt about
    115 it) or look at a person and see all of the books they’ve mentioned (and how
    116 they felt about them).
    117 
    118 [Group-9_2024-04-08-184917_kfjg]
    119 
    120 Behind the Scenes
    121 
    122 When we build software for clients, their business needs typically drive
    123 decisions around technical architecture, which then informs who works on the
    124 project and their role. Pointless Palooza gives us an opportunity to try out
    125 new technologies the team is excited about, and flex outside our traditional
    126 roles. With a team of six (!) engineers slated to build StackStash together, we
    127 needed to decide how to build the application before we got started. This
    128 decision was guided by a few high-level goals: 
    129 
    130   • Get a working end-to-end version of StackStash live on the Internet on Day
    131    132   • Ensure everyone on the technical team could work on something that was
    133     interesting to them
    134   • Distribute the workload so that we wouldn’t step on each other’s toes 
    135 
    136 Much like everything that happens in the software development lifecycle,
    137 arriving at our final tech plan was an iterative process. In the days leading
    138 up to kickoff, we worked collaboratively to settle on a fun mix of technologies
    139 that play to our strengths while also giving us the chance to try some new
    140 things: 
    141 
    142   • [40]Laravel for back-end data management, integrations with third-party
    143     sources ([41]Open Library and [42]OpenAI) and the API layer  
    144   • [43]OpenAPI and [44]TypeSpec to define our API schema  
    145   • [45]Remix + [46]React as the view layer 
    146   • [47]PandaCSS to style the React components and views 
    147   • [48]Docker for local development and deployment
    148 
    149 [CleanShot-2024-04-08-at-14]
    150 
    151 What We Learned
    152 
    153 Bringing this concept to life was not only a fun experience but also provided
    154 the team with the chance to learn new skills and technologies. Here are some of
    155 the highlights that stood out to us:
    156 
    157 [49]Chris
    158 
    159 My favorite part of creating StackStash was getting a chance to work with
    160 Laravel, which was new to me on this project. I was surprised how easy it was
    161 to find most information I was looking for right in the main [50]Laravel
    162 documentation. Overall, it was a pleasant experience coming from other popular
    163 web frameworks like Rails and Django.
    164 
    165 Something I learned was a lot more about Slack API data. There were a lot of
    166 little lessons I learned along the way—how message data is generally
    167 structured, that [51]`ts` timestamps are kind of IDs, etc.—but the biggest
    168 surprise was that [52]the conversation history API we were using [53]didn’t
    169 include message replies. You can retrieve [54]replies via a similar endpoint,
    170 but as you might imagine, there are a lot more API requests to account for.
    171 
    172 [55]Claire
    173 
    174 My favorite part of creating StackStash was working with a big team of
    175 engineers to divide technical roles and responsibilities. Based on experience
    176 from past client projects, we leveraged the “pods” concept, assigning devs in
    177 teams of two to larger focus areas. I also enjoyed queuing up work for everyone
    178 in a shared gist of our data spec vs. breaking everything out into individual
    179 tickets. This was a huge time-saver on the PM side and helped everyone
    180 collaborate more easily. 
    181 
    182 Something I learned was how to write Migrations, Factories, and Database
    183 Seeders in Laravel! 
    184 
    185 [56]Danny
    186 
    187 My favorite part of creating StackStash was seeing similarities between Laravel
    188 and other web frameworks. Even though the syntax was pretty different, the
    189 general ideas for doing things was familiar enough that it was easy to pick up
    190 and understand.
    191 
    192 Something I learned was the interplay between Typespec, OpenAPI, and
    193 TypeScript. I enjoyed learning with those three tools and how they work
    194 together in such an enjoyable way. 
    195 
    196 [57]David
    197 
    198 My favorite part of creating StackStash was getting to do some modern PHP. It
    199 was the first language I used for web development (in the late 90s 😯) but I
    200 haven’t done a great job keeping up on its progress over the last decade. The
    201 language, frameworks, and tooling have come a long way. Laravel’s slick, and
    202 having a language server to remind me the argument order to `implode` was
    203 pretty clutch.  
    204 
    205 Something I learned was how to write defensive PHP code. I was working on a lot
    206 of the API integrations, and I took inspiration from Go to be careful and
    207 explicit around failure. Also, a LOT about [58]ISBNs.
    208 
    209 [59]Emily
    210 
    211 My favorite part of creating StackStash was designing new screens based on the
    212 visual language and feature definition that were already established. 
    213 
    214 Something I learned was how to create animations in Figma! 
    215 
    216 [60]Jackson
    217 
    218 My favorite part of creating StackStash was getting more comfortable using AI
    219 platforms like Google’s Gemini and Anthropic’s Claude for data processing. I
    220 finally had a good reason to explore tools like Google’s AI Studio to help
    221 prototype prompts that became important components in our data pipeline.
    222 
    223 Something I learned was that AI tools can do some amazing things — we pulled
    224 JSON data out of Slack and had Gemini (and later GPT-4) doing some very
    225 impressive data extraction and summarization — but they’re also infuriatingly
    226 mysterious at times. Gemini and GPT both excel at fuzzy tasks like
    227 summarization and sentiment analysis, but completely fell down on lookup tasks,
    228 like gathering ISBNs for books. We eventually switched to GPT-4 because we
    229 couldn’t get consistently valid JSON out of Gemini.
    230 
    231 [61]Laura
    232 
    233 My favorite part of creating StackStash was the opportunity to take bookish joy
    234 at Viget to the next level. I hope that StackStash will help my fellow book
    235 lovers find a great read the next time they’re on the hunt for a new book.
    236 
    237 Something I learned was how to feel more comfortable and confident when using
    238 Figma to create high-fidelity designs. As a researcher, I primarily leverage
    239 Figma when conducting testing with prototypes. Things like components,
    240 variants, and autolayout can feel intimidating to someone who doesn’t typically
    241 do in-the-weeds design work. This project gave me an excuse to spend dedicated
    242 time learning how to use Figma effectively for design production. 
    243 
    244 [62]Max
    245 
    246 My favorite part of creating StackStash was seeing all the different pieces
    247 come together to create something meaningful. Everyone was working on their
    248 specific area and seeing it all intersect was really cool.
    249 
    250 Something I learned was OpenAPI and TypeSpec. It was a new experience for me to
    251 work with OpenAPI to develop a spec for our API and use that to test our API
    252 endpoints against. It really helped to make sure everyone was able to be on the
    253 same page with the data we expected in both the backend and frontend. I also
    254 got to dabble with TypeSpec to generate the OpenAPI spec which was also a
    255 learning experience for me. I enjoyed stepping out of PHP and into some new
    256 concepts.
    257 
    258 [63]Nathan
    259 
    260 My favorite part of creating StackStash was exploring all the different AI
    261 models that are out there and testing which one would work best for our
    262 project. 
    263 
    264 Something I learned was… Laravel, AI, Remix, and Panda CSS. Worked with Laravel
    265 when it first came out (8+ years ago) so there was a lot of brushing up and
    266 relearning. Overall really like it and would love to use Laravel again in
    267 another project. We went with Gemini AI to start with as it had a really good
    268 free tier and it seemed to return what we needed in a JSON format pretty
    269 consistently. But as we got more into integrating it into our app data we
    270 noticed that Gemini did not return perfect JSON every time. So we decided to
    271 change over to OpenAI as we can set it to format the response into valid JSON.
    272 Also learned a lot about Remix and Panda CSS as it was my first time working in
    273 both. There was a learning curve but having worked with React it was pretty
    274 easy to pick up. 
    275 
    276 [64]Nick
    277 
    278 My favorite part of creating StackStash was rapidly building a bunch of UI in a
    279 familiar, but not too familiar, framework.
    280 
    281 Something I learned was…. Laravel, Remix, more Docker magic, TypeSpec, and
    282 more. I spent some time working with animations, which is always both a treat
    283 and a slog. Getting everything set up and it mostly just working for everyone
    284 was also a nice learning experience.
    285 
    286 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    287 
    288 We learned quite a bit during Pointless Palooza — and had fun while doing so.
    289 In a short amount of time, our team successfully brought the concept of
    290 StackStash to life. We’re excited to see how the book lovers at Viget make use
    291 of the tool and to potentially evolve it over time.
    292 
    293 [65] Laura Sweltz
    294 
    295 [66]Laura is Viget's Director of UX Research and Strategic Initiatives. She
    296 works from our Durham, NC office, where she helps clients like Rotary
    297 International, AARP, and Time Life understand the needs and behaviors of their
    298 users.
    299 
    300 [67]More articles by Laura
    301 [68] Chris Manning
    302 
    303 [69]Chris is a developer who's passionate about web performance. He works in
    304 our Durham, NC, office for clients such as ESPN, Dick's Sporting Goods, and the
    305 Wildlife Conservation Society.
    306 
    307 [70]More articles by Chris
    308 [71] Claire Atwell Eisinger
    309 
    310 [72]Claire combines her natural people and planning proclivities to manage
    311 client projects in our Durham, NC, office. She works with clients including
    312 iContact, Research Affiliates, AECOM and The Atlantic Philanthropies.
    313 
    314 [73]More articles by Claire
    315 [74] Danny Brown
    316 
    317 [75]Danny is a senior developer in the Falls Church, VA, office. He loves
    318 learning new technology and finding the right tool for each job.
    319 
    320 [76]More articles by Danny
    321 [77] David Eisinger
    322 
    323 [78]David is Viget's managing development director. From our Durham, NC,
    324 office, he builds high-quality, forward-thinking software for PUMA, the World
    325 Wildlife Fund, NFLPA, and many others.
    326 
    327 [79]More articles by David
    328 [80] Emily McDonald
    329 
    330 [81]Emily is a Product Manager working out of the Falls Church, VA office.
    331 Drawing on her background in English literature, psychology, and consulting,
    332 Emily brings creativity and excruciating organization to her work at Viget.
    333 
    334 [82]More articles by Emily
    335 [83] Jackson Fox
    336 
    337 [84]Jackson is VP of UX & Design at Viget. He works from our Boulder, CO,
    338 office, where he helps startups and organizations turn ideas into usable,
    339 effective products.
    340 
    341 [85]More articles by Jackson
    342 [86] Max Myers
    343 
    344 [87]Max is a Platform Developer based in Michigan with extensive experience
    345 building robust e-commerce platforms and rebuilding vintage Kawasaki
    346 motorcycles.
    347 
    348 [88]More articles by Max
    349 [89] Nathan Schmidt
    350 
    351 [90]Nathan is an UI Developer in Colorado. He loves applying creative thinking
    352 to web development and bringing interactive components to life.
    353 
    354 [91]More articles by Nathan
    355 [92] Nick Telsan
    356 
    357 [93]Nick is a Developer, working in our Chattanooga, TN office. He has a
    358 passion for building things and is never one to shy away from learning new
    359 things.
    360 
    361 [94]More articles by Nick
    362 
    363 Related Articles
    364 
    365   • [95]
    366     Viget's Favorite Books of 2023
    367 
    368     Article
    369 
    370     Viget's Favorite Books of 2023
    371 
    372     Laura Sweltz
    373 
    374   • [96]
    375     Bonding Over Books
    376 
    377     Article
    378 
    379     Bonding Over Books
    380 
    381     Laura Sweltz
    382 
    383   • [97]
    384     Why and How to Start an Office Book Club
    385 
    386     Article
    387 
    388     Why and How to Start an Office Book Club
    389 
    390     Laura Sweltz
    391 
    392 The Viget Newsletter
    393 
    394 Nobody likes popups, so we waited until now to recommend our newsletter,
    395 featuring thoughts, opinions, and tools for building a better digital world. 
    396 [98]Read the current issue.
    397 
    398 [99]Subscribe Here (opens in new window)
    399 
    400 Site Footer
    401 
    402 Have an unsolvable problem or audacious idea?
    403 
    404 Let’s get to work
    405 
    406 [100] Contact Us [101] [email protected] [102] 703.891.0670
    407 
    408   • Practice
    409   • [103]Work
    410   • [104]Services
    411   • [105]Articles
    412 
    413   • People
    414   • [106]Company
    415   • [107]Careers
    416   • [108]Code of Ethics
    417   • [109]Diversity & Inclusion
    418 
    419   • More
    420   • [110]Pointless Corp.
    421   • [111]Explorations
    422   • [112]Code at Viget
    423 
    424 Sign Up For Our Newsletter
    425 
    426 A curated periodical featuring thoughts, opinions, and tools for building a
    427 better digital world.
    428 
    429 [113] Check it out
    430 
    431 Social Links
    432 
    433 [114] Viget
    434 
    435   • [115]
    436   • [116]
    437   • [117]
    438   • [118]
    439   • [119]
    440   • [120]
    441 
    442 Office Locations
    443 
    444   • [121]Washington DC Metro
    445   • [122]Durham, NC
    446   • [123]Boulder, CO
    447   • [124]Chattanooga, TN
    448 
    449 © 1999 – 2024 Viget Labs, LLC. [125]Terms [126]Privacy [127]MRF
    450 
    451   • [128]Home
    452   • [129]Articles
    453   • [130]StackStash: Taking Bookish Musings to the Next Level
    454 
    455 [131] Subscribe (opens in a new window)
    456 Share
    457 
    458   • [133] Share this page
    459   • [134] Share this page
    460   • [135] Post this page
    461 
    462 
    463 References:
    464 
    465 [1] https://www.viget.com/articles/stackstash-taking-bookish-musings-to-the-next-level/#content
    466 [2] https://www.viget.com/
    467 [3] https://www.viget.com/work/
    468 [4] https://www.viget.com/services/
    469 [5] https://www.viget.com/articles/
    470 [6] https://www.viget.com/careers/
    471 [7] https://www.viget.com/contact/
    472 [9] https://www.viget.com/
    473 [11] https://www.viget.com/work/
    474 [12] https://www.viget.com/services/
    475 [13] https://www.viget.com/articles/
    476 [14] https://www.viget.com/contact/
    477 [15] https://www.viget.com/about/
    478 [16] https://www.viget.com/careers/
    479 [17] https://www.viget.com/code-of-ethics/
    480 [18] https://www.viget.com/diversity-equity-and-inclusion/
    481 [19] https://pointlesscorp.com/
    482 [20] https://explorations.viget.com/
    483 [21] https://code.viget.com/
    484 [22] https://www.viget.com/newsletter/state-of-the-labor-union/
    485 [23] https://www.viget.com/articles/stackstash-taking-bookish-musings-to-the-next-level/
    486 [24] https://www.viget.com/about/team/lsweltz/
    487 [25] https://www.viget.com/about/team/cmanning/
    488 [26] https://www.viget.com/about/team/catwell/
    489 [27] https://www.viget.com/about/team/dbrown/
    490 [28] https://www.viget.com/about/team/deisinger/
    491 [29] https://www.viget.com/about/team/emcdonald/
    492 [30] https://www.viget.com/about/team/jfox/
    493 [31] https://www.viget.com/about/team/mmyers/
    494 [32] https://www.viget.com/about/team/nschmidt/
    495 [33] https://www.viget.com/about/team/ntelsan/
    496 [34] https://www.viget.com/articles/category/news-culture/
    497 [35] https://www.viget.com/articles/category/front-end-engineering/
    498 [36] https://www.viget.com/articles/category/back-end-engineering/
    499 [37] https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fwww.viget.com%2Farticles%2Fstackstash-taking-bookish-musings-to-the-next-level%2F
    500 [38] http://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Fwww.viget.com%2Farticles%2Fstackstash-taking-bookish-musings-to-the-next-level%2F
    501 [39] https://x.com/intent/tweet?text=Book%20musings%20from%20Viget%27s%20%23books%20Slack%20channel%2C%20but%20make%20them%20more%20useful.%20That%20concept%20inspired%20our%20latest%20Pointless%20adventure.%20https%3A%2F%2Fwww.viget.com%2Farticles%2Fstackstash-taking-bookish-musings-to-the-next-level%2F
    502 [40] https://laravel.com/
    503 [41] https://openlibrary.org/developers/api
    504 [42] https://openai.com/
    505 [43] https://www.openapis.org/
    506 [44] https://typespec.io/docs/getting-started/getting-started-http
    507 [45] https://remix.run/
    508 [46] https://react.dev/
    509 [47] https://panda-css.com/
    510 [48] https://www.docker.com/
    511 [49] https://www.viget.com/about/team/cmanning/
    512 [50] https://laravel.com/docs/11.x
    513 [51] https://api.slack.com/messaging/retrieving#:~:text=field.-,The,value%20is%20essentially%20the%20ID%20of%20the%20message,-%2C%20guaranteed%20unique%20within
    514 [52] https://api.slack.com/methods/conversations.history
    515 [53] https://www.bakejam.com/slacks-conversationshistory-api-ignores-replies/
    516 [54] https://api.slack.com/methods/conversations.replies
    517 [55] https://www.viget.com/about/team/catwell/
    518 [56] https://www.viget.com/about/team/dbrown/
    519 [57] https://www.viget.com/about/team/deisinger/
    520 [58] https://en.wikipedia.org/wiki/ISBN
    521 [59] https://www.viget.com/about/team/emcdonald/
    522 [60] https://www.viget.com/about/team/jfox/
    523 [61] https://www.viget.com/about/team/lsweltz/
    524 [62] https://www.viget.com/about/team/mmyers/
    525 [63] https://www.viget.com/about/team/nschmidt/
    526 [64] https://www.viget.com/about/team/ntelsan/
    527 [65] https://www.viget.com/about/team/lsweltz/
    528 [66] https://www.viget.com/about/team/lsweltz/
    529 [67] https://www.viget.com/about/team/lsweltz/
    530 [68] https://www.viget.com/about/team/cmanning/
    531 [69] https://www.viget.com/about/team/cmanning/
    532 [70] https://www.viget.com/about/team/cmanning/
    533 [71] https://www.viget.com/about/team/catwell/
    534 [72] https://www.viget.com/about/team/catwell/
    535 [73] https://www.viget.com/about/team/catwell/
    536 [74] https://www.viget.com/about/team/dbrown/
    537 [75] https://www.viget.com/about/team/dbrown/
    538 [76] https://www.viget.com/about/team/dbrown/
    539 [77] https://www.viget.com/about/team/deisinger/
    540 [78] https://www.viget.com/about/team/deisinger/
    541 [79] https://www.viget.com/about/team/deisinger/
    542 [80] https://www.viget.com/about/team/emcdonald/
    543 [81] https://www.viget.com/about/team/emcdonald/
    544 [82] https://www.viget.com/about/team/emcdonald/
    545 [83] https://www.viget.com/about/team/jfox/
    546 [84] https://www.viget.com/about/team/jfox/
    547 [85] https://www.viget.com/about/team/jfox/
    548 [86] https://www.viget.com/about/team/mmyers/
    549 [87] https://www.viget.com/about/team/mmyers/
    550 [88] https://www.viget.com/about/team/mmyers/
    551 [89] https://www.viget.com/about/team/nschmidt/
    552 [90] https://www.viget.com/about/team/nschmidt/
    553 [91] https://www.viget.com/about/team/nschmidt/
    554 [92] https://www.viget.com/about/team/ntelsan/
    555 [93] https://www.viget.com/about/team/ntelsan/
    556 [94] https://www.viget.com/about/team/ntelsan/
    557 [95] https://www.viget.com/articles/vigets-favorite-books-of-2023/
    558 [96] https://www.viget.com/articles/bonding-over-books/
    559 [97] https://www.viget.com/articles/why-and-how-to-start-an-office-book-club/
    560 [98] https://www.viget.com/newsletter
    561 [99] http://eepurl.com/gtHqsj
    562 [100] https://www.viget.com/contact/
    563 [101] mailto:[email protected]?subject=Hello%2C%20Viget%21
    564 [102] tel:7038910670
    565 [103] https://www.viget.com/work/
    566 [104] https://www.viget.com/services/
    567 [105] https://www.viget.com/articles/
    568 [106] https://www.viget.com/about/
    569 [107] https://www.viget.com/careers/
    570 [108] https://www.viget.com/code-of-ethics/
    571 [109] https://www.viget.com/diversity-equity-and-inclusion/
    572 [110] https://pointlesscorp.com/
    573 [111] https://explorations.viget.com/
    574 [112] https://code.viget.com/
    575 [113] https://www.viget.com/newsletter/
    576 [114] https://www.viget.com/
    577 [115] http://x.com/viget
    578 [116] https://github.com/vigetlabs
    579 [117] https://dribbble.com/viget
    580 [118] https://www.instagram.com/viget/
    581 [119] https://www.linkedin.com/company/viget-labs
    582 [120] https://vimeo.com/viget/collections
    583 [121] https://www.viget.com/dc-metro-hq/
    584 [122] https://www.viget.com/durham/
    585 [123] https://www.viget.com/boulder/
    586 [124] https://www.viget.com/chattanooga/
    587 [125] https://www.viget.com/terms-conditions/
    588 [126] https://www.viget.com/privacy-policy/
    589 [127] https://individual.carefirst.com/individuals-families/mandates-policies/machine-readable-file.page
    590 [128] https://www.viget.com/
    591 [129] https://www.viget.com/articles
    592 [130] https://www.viget.com/articles/stackstash-taking-bookish-musings-to-the-next-level/#hero
    593 [131] http://eepurl.com/gtHqsj
    594 [133] https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fwww.viget.com%2Farticles%2Fstackstash-taking-bookish-musings-to-the-next-level%2F
    595 [134] http://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Fwww.viget.com%2Farticles%2Fstackstash-taking-bookish-musings-to-the-next-level%2F
    596 [135] https://x.com/intent/tweet?text=Book%20musings%20from%20Viget%27s%20%23books%20Slack%20channel%2C%20but%20make%20them%20more%20useful.%20That%20concept%20inspired%20our%20latest%20Pointless%20adventure.%20https%3A%2F%2Fwww.viget.com%2Farticles%2Fstackstash-taking-bookish-musings-to-the-next-level%2F