محتوای ارائه شده توسط Christoph Neumann and Nate Jones, Christoph Neumann, and Nate Jones. تمام محتوای پادکست شامل قسمتها، گرافیکها و توضیحات پادکست مستقیماً توسط Christoph Neumann and Nate Jones, Christoph Neumann, and Nate Jones یا شریک پلتفرم پادکست آنها آپلود و ارائه میشوند. اگر فکر میکنید شخصی بدون اجازه شما از اثر دارای حق نسخهبرداری شما استفاده میکند، میتوانید روندی که در اینجا شرح داده شده است را دنبال کنید.https://fa.player.fm/legal
Player FM - برنامه پادکست
با برنامه Player FM !
با برنامه Player FM !
پادکست هایی که ارزش شنیدن دارند
حمایت شده
A
All About Change


Tiffany Yu is the CEO & Founder of Diversability, an award-winning social enterprise to elevate disability pride; the Founder of the Awesome Foundation Disability Chapter, a monthly micro-grant that has awarded $92.5k to 93 disability projects in 11 countries; and the author of The Anti-Ableist Manifesto: Smashing Stereotypes, Forging Change, and Building a Disability-Inclusive World. As a person with visible and invisible disabilities stemming from a car crash, Tiffany has built a career on disability solidarity. Now that she has found success, she works to expand a network of people with disabilities and their allies to decrease stigmas around disability and create opportunities for disabled people in America. Episode Chapters 0:00 Intro 1:26 When do we choose to share our disability stories? 4:12 Jay’s disability story 8:35 Visible and invisible disabilities 13:10 What does an ally to the disability community look like? 16:34 NoBodyIsDisposable and 14(c) 21:26 How does Tiffany’s investment banking background shape her advocacy? 27:47 Goodbye and outro For video episodes, watch on www.youtube.com/@therudermanfamilyfoundation Stay in touch: X: @JayRuderman | @RudermanFdn LinkedIn: Jay Ruderman | Ruderman Family Foundation Instagram: All About Change Podcast | Ruderman Family Foundation To learn more about the podcast, visit https://allaboutchangepodcast.com/…
Episode 006: All Wrapped Up in Twitter
Manage episode 222839732 series 2463849
محتوای ارائه شده توسط Christoph Neumann and Nate Jones, Christoph Neumann, and Nate Jones. تمام محتوای پادکست شامل قسمتها، گرافیکها و توضیحات پادکست مستقیماً توسط Christoph Neumann and Nate Jones, Christoph Neumann, and Nate Jones یا شریک پلتفرم پادکست آنها آپلود و ارائه میشوند. اگر فکر میکنید شخصی بدون اجازه شما از اثر دارای حق نسخهبرداری شما استفاده میکند، میتوانید روندی که در اینجا شرح داده شده است را دنبال کنید.https://fa.player.fm/legal
Christoph tries to get a handle on his #clojure tweet-stream habit.
- NOT tic-tac-toe
- Follow
#clojure
tweet stream and see it print out in the terminal - "We like reinventing things."
- "The terminal is the best UI out there."
- Does Twitter have an API?
- Websocket? Nope! Requires a big "E" plan: "enterprise".
- PubSub? Nope! Not from Twitter.
- Alas, we must poll the
/search/tweets.json
endpoint - Problem: we're going to keep getting results we've already seen
- Avoid duplicates? Let's use core cache.
- Once again, we use
loop
andrecur
for our main loop - Time for an API wrapper, but what does the wrapper do?
- HTTP POST form-encoded parameters
- Ack!
401 Access Denied
- "An important step in any API exploration is your first 401 response."
- "OAuth?" "Oh....auth..."
- Meet OAuth, the API bouncer.
- Make an
auth
function to call the OAuth endpoint and get an auth token - Have
auth
return a "handle" with the auth token. Other wrapper functions will needhandle
. - Need to keep
handle
around. Put that in the app state too. - Let the exceptions fly!
- "Exceptions are an exceptionally accepted way of handling exceptional circumstances."
- "I caught what you meant."
- Make a
fetch
function that does the I/O work. - Create a
search
function that takeshandle
andquery
- Look for pure logic and move it into its own function, then it's easy to test.
- Transform args to
search
into a "request description" and havefetch
operate on that. - "Twitch, I mean Twitter. You know, that Internet thing that starts with t-w-i-t."
- Different layers of the wrapper:
- Top-level functions used by the application. Sole job: sequence internal functions
- Pure transforms from args to "request description"
- A
fetch
function that follows the "orders" of the "request description"
- "The point of testing this code is not to test if Aleph works or Twitter works. The logic is in the translation function, so that's why we test it."
- "Our hero, the Twitch wrapper, is poised and ready to fetch data on our behalf. What will happen next?"
Clojure in this episode:
loop
,recur
Thread.sleep
get
try
,catch
->
Related projects:
118 قسمت
Manage episode 222839732 series 2463849
محتوای ارائه شده توسط Christoph Neumann and Nate Jones, Christoph Neumann, and Nate Jones. تمام محتوای پادکست شامل قسمتها، گرافیکها و توضیحات پادکست مستقیماً توسط Christoph Neumann and Nate Jones, Christoph Neumann, and Nate Jones یا شریک پلتفرم پادکست آنها آپلود و ارائه میشوند. اگر فکر میکنید شخصی بدون اجازه شما از اثر دارای حق نسخهبرداری شما استفاده میکند، میتوانید روندی که در اینجا شرح داده شده است را دنبال کنید.https://fa.player.fm/legal
Christoph tries to get a handle on his #clojure tweet-stream habit.
- NOT tic-tac-toe
- Follow
#clojure
tweet stream and see it print out in the terminal - "We like reinventing things."
- "The terminal is the best UI out there."
- Does Twitter have an API?
- Websocket? Nope! Requires a big "E" plan: "enterprise".
- PubSub? Nope! Not from Twitter.
- Alas, we must poll the
/search/tweets.json
endpoint - Problem: we're going to keep getting results we've already seen
- Avoid duplicates? Let's use core cache.
- Once again, we use
loop
andrecur
for our main loop - Time for an API wrapper, but what does the wrapper do?
- HTTP POST form-encoded parameters
- Ack!
401 Access Denied
- "An important step in any API exploration is your first 401 response."
- "OAuth?" "Oh....auth..."
- Meet OAuth, the API bouncer.
- Make an
auth
function to call the OAuth endpoint and get an auth token - Have
auth
return a "handle" with the auth token. Other wrapper functions will needhandle
. - Need to keep
handle
around. Put that in the app state too. - Let the exceptions fly!
- "Exceptions are an exceptionally accepted way of handling exceptional circumstances."
- "I caught what you meant."
- Make a
fetch
function that does the I/O work. - Create a
search
function that takeshandle
andquery
- Look for pure logic and move it into its own function, then it's easy to test.
- Transform args to
search
into a "request description" and havefetch
operate on that. - "Twitch, I mean Twitter. You know, that Internet thing that starts with t-w-i-t."
- Different layers of the wrapper:
- Top-level functions used by the application. Sole job: sequence internal functions
- Pure transforms from args to "request description"
- A
fetch
function that follows the "orders" of the "request description"
- "The point of testing this code is not to test if Aleph works or Twitter works. The logic is in the translation function, so that's why we test it."
- "Our hero, the Twitch wrapper, is poised and ready to fetch data on our behalf. What will happen next?"
Clojure in this episode:
loop
,recur
Thread.sleep
get
try
,catch
->
Related projects:
118 قسمت
همه قسمت ها
×به Player FM خوش آمدید!
Player FM در سراسر وب را برای یافتن پادکست های با کیفیت اسکن می کند تا همین الان لذت ببرید. این بهترین برنامه ی پادکست است که در اندروید، آیفون و وب کار می کند. ثبت نام کنید تا اشتراک های شما در بین دستگاه های مختلف همگام سازی شود.