Skip to content

Commit

Permalink
Merge pull request #5 from anunay999/weekly-digest
Browse files Browse the repository at this point in the history
Tech Weekly Digest
  • Loading branch information
anunay999 authored Mar 30, 2024
2 parents a076d0a + 3781d27 commit 084ae98
Show file tree
Hide file tree
Showing 5 changed files with 149 additions and 3 deletions.
34 changes: 34 additions & 0 deletions .github/workflows/update_tech_digest.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: Update Tech Digest

on:
schedule:
# Runs every Monday at 00:00 UTC
- cron: '0 0 * * 1'

jobs:
update_content:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3

- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.x'

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install requests beautifulsoup4
- name: Update Weekly Review
run: python update_weekly_review.py

- name: Commit and push changes
run: |
git config --global user.name 'GitHub Actions'
git config --global user.email '[email protected]'
git add .
git commit -m 'Update Tech Digest' || echo "No changes to commit"
git push
48 changes: 48 additions & 0 deletions .github/workflows/update_weekly_review.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
import requests
from bs4 import BeautifulSoup
import datetime

# List of blog URLs to scrape
blog_urls = [
'https://engineering.fb.com/2024/03/18/data-infrastructure/logarithm-logging-engine-ai-training-workflows-services-meta/',
'https://www.databricks.com/blog/introducing-dbrx-new-state-art-open-llm',
'https://discord.com/blog/our-quest-to-support-game-developers'
]

# Function to scrape blog details from a given URL
def scrape_blog_details(url):
response = requests.get(url)
soup = BeautifulSoup(response.content, 'html.parser')

# Extract title, hero image, and description (you might need to adjust the selectors based on the site's structure)
title = soup.find('h1').get_text()
hero_image = soup.find('img')['src']
description = soup.find('meta', {'name': 'description'})['content']

return {
'title': title,
'hero_image': hero_image,
'description': description,
'link': url
}

# Main function to generate the weekly review Markdown file
def generate_weekly_review():
all_blogs = [scrape_blog_details(url) for url in blog_urls]

# Generate Markdown content with blog cards
markdown_content = '# Weekly Review\n\n'
for blog in all_blogs:
markdown_content += f"![{blog['title']}]({blog['hero_image']})\n"
markdown_content += f"### [{blog['title']}]({blog['link']})\n"
markdown_content += f"{blog['description']}\n\n"

# Write to a Markdown file with the current date as the filename
filename = f'weekly_review_{datetime.date.today()}.md'
with open(filename, 'w') as file:
file.write(markdown_content)

print(f'Weekly review file generated: {filename}')

#if __name__ == '__main__':
#generate_weekly_review()
2 changes: 1 addition & 1 deletion src/components/HorizontalCard.astro
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ const { title, img, desc, url, badge, tags, target = '_blank' } = Astro.props;
<div class="rounded-lg hover:shadow-xl transition ease-in-out hover:scale-[107%] hover:bg-accent delay-100 hover:text-white">
<a href={url} target={target}>
<div class="hero-content flex-col md:flex-row">
{img && <img src={img} alt={title} class="max-w-full md:max-w-[13rem] rounded-lg" />}
{img && <img src={img} alt={title} class="w-[200px] h-[150px] object-cover rounded-lg" />}
<div class="grow w-full">
<h1 class="text-xl font-bold">
{title}
Expand Down
5 changes: 3 additions & 2 deletions src/components/SideBar.astro
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
<li><a href="/blog/" class="hover:scale-[102%] hover:bg-accent hover:text-white">Blog</a></li>
<li><a href="/cv" class="hover:scale-[102%] hover:bg-accent hover:text-white">Resume</a></li>
<li><a href="/mealplanner" class="hover:scale-[102%] hover:bg-accent hover:text-white">Meal Planner</a></li>
<li><a href="/techdigest" class="hover:scale-[102%] hover:bg-accent hover:text-white">Tech Weekly Digest</a></li>
<li><a href="https://topmate.io/anunay" target="_blank" class="hover:scale-[102%] hover:bg-accent hover:text-white">Book a Call</a></li>
<!-- <li><a href="/store" class="hover:scale-[102%] hover:bg-accent">Store</a></li> -->
<li><a href="https://www.buymeacoffee.com/anunay9" target="_blank" class="hover:scale-[102%] hover:bg-accent hover:text-white">Support My Work</a></li>
Expand Down Expand Up @@ -54,7 +55,7 @@
width="24"
height="24"
viewBox="0 0 24 24"
style="fill: currentColor;transform: ;msFilter:;"
style="fill: currentColor;"
><circle cx="4.983" cy="5.009" r="2.188"></circle><path
d="M9.237 8.855v12.139h3.769v-6.003c0-1.584.298-3.118 2.262-3.118 1.937 0 1.961 1.811 1.961 3.218v5.904H21v-6.657c0-3.27-.704-5.783-4.526-5.783-1.835 0-3.065 1.007-3.568 1.96h-.051v-1.66H9.237zm-6.142 0H6.87v12.139H3.095z"
></path>
Expand All @@ -64,7 +65,7 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24"
height="24"
viewBox="0 0 24 24"
style="fill: currentColor;transform: ;msFilter:;">
style="fill: currentColor;">
<circle cx="4.983" cy="5.009" r="2.188"></circle><path d="M3 3h18a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm17 4.238l-7.928 7.1L4 7.216V19h16V7.238zM4.511 5l7.55 6.662L19.502 5H4.511z" />
</svg>
</a>
Expand Down
63 changes: 63 additions & 0 deletions src/pages/techdigest.astro
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
---
import BaseLayout from "../layouts/BaseLayout.astro";
import HorizontalCard from "../components/HorizontalCard.astro";
---

<BaseLayout title = "Projects">
<div>
<div class="text-3xl w-full font-bold mb-2">Tech Weekly Digest 💡</div>
</div>

<HorizontalCard
title="Introducing DBRX: A New State-of-the-Art Open LLM"
img="https://www.databricks.com/en-blog-assets/static/2fe1a0af1ee0f6605024a810b604079c/dbrx-blog-header-optimized.png"
desc="Today, we are excited to introduce DBRX, an open, general-purpose LLM created by Databricks. Across a range of standard benchmarks, DBRX sets a new state-of-the-art for established open LLMs."
url="https://www.databricks.com/blog/introducing-dbrx-new-state-art-open-llm"
/>
<div class="divider my-0"></div>

<HorizontalCard
title="Logarithm: A logging engine for AI training workflows and services"
img="https://engineering.fb.com/wp-content/uploads/2024/03/Logarithm-hero.png"
desc="Logarithm indexes 100+GB/s of logs in real time, and thousands of queries a second. We designed the system to support service-level guarantees on log freshness, completeness, durability, query latency, and query result completeness."
url="https://engineering.fb.com/2024/03/18/data-infrastructure/logarithm-logging-engine-ai-training-workflows-services-meta/"
badge="NEW"
/>
<div class="divider my-0"></div>
<HorizontalCard
title="Sequential A/B Testing Keeps the World Streaming Netflix Part 2: Counting Processes"
img="https://miro.medium.com/v2/resize:fit:720/format:webp/1*7DNyGA0x7r7msS7w1Zpvpw.jpeg"
desc="Have you ever encountered a bug while streaming Netflix? Did your title stop unexpectedly, or not start at all? In the first installment of this blog series on sequential testing,"
url="https://netflixtechblog.com/sequential-testing-keeps-the-world-streaming-netflix-part-2-counting-processes-da6805341642"
badge="FOSS"
/>
<div class="divider my-0"></div>
<HorizontalCard
title="Scaling AI/ML Infrastructure at Uber"
img="https://blog.uber-cdn.com/cdn-cgi/image/width=1536,quality=80,onerror=redirect,format=auto/wp-content/uploads/2024/03/scaling_infra_1.png"
desc="Machine Learning (ML) is celebrating its 8th year at Uber since we first started using complex rule-based machine learning models for driver-rider matching and pricing teams in 2016. Since then, our progression has been significant"
url="https://www.uber.com/en-IN/blog/scaling-ai-ml-infrastructure-at-uber/?uclick_id=df7848bf-10d2-48c3-a41e-c4f12918da62"
/>
<div class="divider my-0"></div>
<HorizontalCard
title="The Scary Thing About Automating Deploys"
img="https://slack.engineering/wp-content/uploads/sites/7/2024/01/Screenshot-2024-01-18-at-9.36.03%E2%80%AFAM.png"
desc="Most of Slack runs on a monolithic service simply called “The Webapp”. It’s big – hundreds of developers create hundreds of changes every week."
url="https://slack.engineering/the-scary-thing-about-automating-deploys/"
/>
<div class="divider my-0"></div>
<HorizontalCard
title="Ledger: Stripe’s system for tracking and validating money movement"
img="https://images.ctfassets.net/fzn2n1nzq965/1kYCAIVuoYqTe5qrwOOY8K/005295f325509e41a3cf0d2dd3435019/Frame_1__14_.png?w=1080&q=80&fm=webp"
desc="Last Black Friday to Cyber Monday, Stripe processed 300 million transactions with a total payment volume of $18.6B"
url="https://stripe.com/blog/ledger-stripe-system-for-tracking-and-validating-money-movement"
/>
<div class="divider my-0"></div>
<HorizontalCard
title="Finding AI-generated (deepfake) faces in the wild"
img="https://media.licdn.com/dms/image/D4D08AQGLlQzz3ZfaDQ/croft-frontend-shrinkToFit1024/0/1710981939502?e=2147483647&v=beta&t=zb53XrceLj0cQaRL41c_IrS7x8i4evrDLCuh-Vg9bUc"
desc="At LinkedIn, we put our members first, which includes making sure that they have real and authentic interactions on our platform. To do so, we constantly evaluate the ways that those interactions might be discredited or undermined and then be proactive about safeguarding them."
url="https://www.linkedin.com/blog/engineering/trust-and-safety/finding-ai-generated-deepfake-faces-in-the-wild"
/>

</BaseLayout>

0 comments on commit 084ae98

Please sign in to comment.