Skip to content

Commit 917e0d9

Browse files
committed
favicon, apple ][ header and small typos
created favicon files using RealFaviconGenerator.net and added them to assets\images\. updated head\custome.html. updated main.scss to use a specific header for the Apple ][+ blog. added apple2-header.jpg. fixed typos in k-means.md.
1 parent 6f859ac commit 917e0d9

13 files changed

Lines changed: 1704 additions & 4 deletions

_apple-2-blog/k-means.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,19 +13,19 @@ last_modified_at: 2025-10-06
1313

1414
Wait. Does k-means count as machine learning? Yes. Yes, it does.
1515

16-
[CS229](https://cs229.stanford.edu/){:target="_blank"} is the graduate-level machine learning course I took at Stanford as part of the [Graduate Certificate in AI](https://www.linkedin.com/pulse/graduate-certificate-ai-achievement-unlocked-mark-cramer/){:target="_blank"} which I received back in 2021. While k-means is my choice as the easiest to understand algorithm in machine learning, it was taught as the introductory clustering algorithm for unsupervised learning. As a TA for [XCS229](https://online.stanford.edu/courses/xcs229-machine-learning){:target="_blank"}, which I have been doing since 2022 and most recently did this Spring, I know that it is still being taught as part of this seminal course in AI.
16+
[CS229](https://cs229.stanford.edu/){:target="_blank"} is the graduate-level machine learning course I took at Stanford as part of the [Graduate Certificate in AI](https://www.linkedin.com/pulse/graduate-certificate-ai-achievement-unlocked-mark-cramer/){:target="_blank"} which I completed in 2021. While k-means is my choice as the easiest to understand algorithm in machine learning, it was taught as the introductory clustering algorithm for unsupervised learning. As a TA for [XCS229](https://online.stanford.edu/courses/xcs229-machine-learning){:target="_blank"}, which I have been doing since 2022 and most recently did this Spring, I know that it is still being taught as part of this seminal course in AI.
1717

1818
## We have liftoff!
1919

2020
Unlike [previously](/apple-2-blog/synthesizing-data/) where I saved the result for the end, let's start by taking a look at the algorithm in action!
2121

2222
[![Video of Apple 2+ running k-means](https://img.youtube.com/vi/Cy0wMMLObVA/0.jpg)](https://youtube.com/shorts/Cy0wMMLObVA?autoplay=1 "Video of Apple ]\[+ running k-means"){:target="_blank"}
2323

24-
Here is a screenshot of the final decision boundary after convergence.
24+
Here is a screenshot of the decision boundary after convergence.
2525

2626
![K-means decision boundary after convergence](/assets/images/apple2/k-means-convergence.jpg "K-means decision boundary after convergence")
2727

28-
The final accuracy is 90% because 1 of the 10 observations is on the incorrect side of the decision boundary.
28+
Accuracy is 90% because 1 of the 10 observations is on the incorrect side of the decision boundary.
2929

3030
For debugging purposes, to speed up execution, I reduced the number of samples in each class to 5. (You might note that, on the graph, there are only 4 points in class 1, which are the □s. That's because one of the points is at `(291, 90)`, which is off the edge of the screen. Gaussian distributions can generate extreme outliers, so I decided to preserve those points rather than clip them to the edge of the screen.) That's obviously pretty small but you can see the algorithm iterating.
3131

_includes/head/custom.html

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,4 +15,12 @@
1515
<meta property="twitter:url" content="{{ page.url | absolute_url }}">
1616
<meta property="twitter:title" content="{{ page.title | default: site.title }}">
1717
<meta property="twitter:description" content="{{ page.excerpt | default: site.description | strip_html | truncate: 160 }}">
18-
<meta property="twitter:image" content="{{ page.image | default: site.og_image | absolute_url }}">
18+
<meta property="twitter:image" content="{{ page.image | default: site.og_image | absolute_url }}">
19+
20+
<!-- Favicon -->
21+
<link rel="icon" type="image/png" href="/assets/images/favicon.ico/favicon-96x96.png" sizes="96x96" />
22+
<link rel="icon" type="image/svg+xml" href="/assets/images/favicon.ico/favicon.svg" />
23+
<link rel="shortcut icon" href="/assets/images/favicon.ico/favicon.ico" />
24+
<link rel="apple-touch-icon" sizes="180x180" href="/assets/images/favicon.ico/apple-touch-icon.png" />
25+
<meta name="apple-mobile-web-app-title" content="Hackin’ and Tinkerin’" />
26+
<link rel="manifest" href="/assets/images/favicon.ico/site.webmanifest" />

assets/css/main.scss

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,13 @@
4242
-1px 1px 2px rgba(255,255,255,0.7) !important;
4343
}
4444

45+
/* Apple 2 blog specific header */
46+
/* https://claude.ai/share/ea376385-c62a-4607-93a6-51cc03e81b1d */
47+
body.apple-2-blog .page__hero--overlay {
48+
background: linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.3)),
49+
url('/assets/images/apple2-header.jpg') center top/cover no-repeat !important;
50+
}
51+
4552
/* define the no-break class to prevent any line breaks within that element */
4653
.no-break {
4754
white-space: nowrap;

assets/images/apple-touch-icon.png

22.7 KB
Loading

assets/images/apple2-header.jpg

268 KB
Loading

assets/images/favicon-96x96.png

10.9 KB
Loading

assets/images/favicon.ico

14.7 KB
Binary file not shown.

0 commit comments

Comments
 (0)