Commit graph

64 commits

Author SHA1 Message Date
Paul Gauthier
0b01b7caf5 copy 2024-05-22 15:26:16 -07:00
Paul Gauthier
db30e5da2b Added draft post 2024-05-22 15:03:11 -07:00
Paul Gauthier
d94da4f809 draft posts 2024-05-22 14:34:12 -07:00
Paul Gauthier
13ada38ecc copy 2024-05-22 12:15:40 -07:00
Paul Gauthier
589f1d510e copy 2024-05-22 12:12:30 -07:00
Paul Gauthier
c74c297aa2 copy 2024-05-22 12:09:35 -07:00
Paul Gauthier
29e92b2398 Updated HISTORY, added linting image 2024-05-22 12:08:50 -07:00
Paul Gauthier
47810310c9 Added linting article 2024-05-22 11:55:10 -07:00
Paul Gauthier
8a960083c7 updated chat transcript divs 2024-05-17 12:51:13 -07:00
paul-gauthier
014ec6365e
Update 2024-05-13-models-over-time.md 2024-05-16 19:51:21 -07:00
Paul Gauthier
07c5cae982 copy 2024-05-16 18:17:17 -07:00
Paul Gauthier
2cd2f5439a copy 2024-05-16 18:15:28 -07:00
Paul Gauthier
6331edd954 copy 2024-05-16 18:15:11 -07:00
Paul Gauthier
47eebdb716 copy 2024-05-16 18:12:24 -07:00
Paul Gauthier
8c0bfeb392 copy 2024-05-16 18:09:41 -07:00
Paul Gauthier
6fe67d1132 added blog 2024-05-16 18:06:04 -07:00
Paul Gauthier
4a0b5bbc09 remove 2024-05-15 10:59:18 -07:00
Paul Gauthier
b30e9de61a aider: Updated xAxes and yAxes settings to the new x and y settings in the latest Chart.js version.
# Aider chat conversation:

USER: none of the xAxes or yAxes settings are having any effect

ASSISTANT: The issue might be due to the fact that the Chart.js version you are using has different configuration options. Let's update the configuration to use the latest Chart.js settings.

Here are the changes:

_posts/2024-05-13-models-over-time.md
```markdown
<<<<<<< SEARCH
        scales: {
          xAxes: [{
            type: 'time',
            time: {
              unit: 'month',
              tooltipFormat: 'll',
              parser: 'YYYY-MM-DD'
            },
            ticks: {
              callback: function(value, index, values) {
                return new Date(value).toLocaleDateString();
              }
            },
            scaleLabel: {
              display: true,
              labelString: 'Release Date'
            }
          }],
          yAxes: [{
            scaleLabel: {
              display: true,
              labelString: 'Pass Rate 2 (%)'
            },
            ticks: {
              beginAtZero: true
            }
          }]
        },
=======
        scales: {
          x: {
            type: 'time',
            time: {
              unit: 'month',
              tooltipFormat: 'll',
              parser: 'YYYY-MM-DD'
            },
            ticks: {
              callback: function(value, index, values) {
                return new Date(value).toLocaleDateString();
              }
            },
            title: {
              display: true,
              text: 'Release Date'
            }
          },
          y: {
            title: {
              display: true,
              text: 'Pass Rate 2 (%)'
            },
            beginAtZero: true
          }
        },
>>>>>>> REPLACE
```

This change updates the `xAxes` and `yAxes` settings to the new `x` and `y` settings used in the latest version of Chart.js.
2024-05-15 10:54:26 -07:00
Paul Gauthier
10bb7c7402 aider: Fixed the issue with dates not being shown correctly on the x-axis.
# Aider chat conversation:

USER: the dates aren't being shown as dates on the x-axis. they are coming out as large integers like 1,888,000,000,000

ASSISTANT: To fix the issue with the dates not being shown correctly on the x-axis, we need to modify the `xAxes` configuration in the Chart.js options. Here's the *SEARCH/REPLACE block* with the necessary changes:

_posts/2024-05-13-models-over-time.md
```markdown
<<<<<<< SEARCH
          xAxes: [{
            type: 'time',
            time: {
              unit: 'month',
              tooltipFormat: 'll'
            },
=======
          xAxes: [{
            type: 'time',
            time: {
              unit: 'month',
              tooltipFormat: 'll',
              parser: 'YYYY-MM-DD'
            },
            ticks: {
              callback: function(value, index, values) {
                return new Date(value).toLocaleDateString();
              }
            },
>>>>>>> REPLACE
```

The changes made are:

1. Added the `parser: 'YYYY-MM-DD'` option to the `time` configuration to specify the date format used in the data.
2. Added a `ticks.callback` function to format the tick labels on the x-axis as localized date strings.

These modifications should ensure that the dates are displayed correctly on the x-axis of the scatter plot.
2024-05-15 10:48:18 -07:00
Paul Gauthier
07963921f9 Converted the date format in the chart data from full timestamp to just date. 2024-05-15 10:48:16 -07:00
Paul Gauthier
cacff017d0 aider: Fix the dates being shown as large integers by correctly parsing them as JavaScript Date objects in the data processing script.
# Aider chat conversation:

USER: the dates aren't being shown as dates on the x-axis. they are coming out as large integers like 1,888,000,000,000

ASSISTANT: To fix the issue with the dates being shown as large integers, we need to ensure that the dates are correctly parsed as JavaScript Date objects. We can achieve this by modifying the data processing part of the script.

Here is the *SEARCH/REPLACE* block to fix the issue:

_posts/2024-05-13-models-over-time.md
```markdown
<<<<<<< SEARCH
                x: new Date('{{ row.released }}'),
=======
                x: new Date('{{ row.released | date: "%Y-%m-%dT%H:%M:%S" }}'),
>>>>>>> REPLACE
```

This change ensures that the date string is correctly formatted for JavaScript's `Date` object.
2024-05-15 10:44:27 -07:00
Paul Gauthier
547a07fadc aider: Added scatter plot of edit_leaderboard models with released dates in _posts/2024-05-13-models-over-time.md.
# Aider chat conversation:

USER: draw a scatter plot of the edit_leaderboard models which have `released` dates. With x as the release date, y as the `pass_rate_2` and label each point with the `model` name field. use a chart style similar to the bar graph in the leaderboard.md, but we want a scatter plot for this one. put the scatter plot in the new blog post

ASSISTANT: Let's add the scatter plot to the new blog post in `_posts/2024-05-13-models-over-time.md`.

Here is the *SEARCH/REPLACE* block to add the scatter plot:

_posts/2024-05-13-models-over-time.md
```markdown
<<<<<<< SEARCH
# LLM code editing skill over time
=======
# LLM code editing skill over time

<canvas id="scatterPlot" width="800" height="450" style="margin-top: 20px"></canvas>
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
<script>
  document.addEventListener('DOMContentLoaded', function () {
    var ctx = document.getElementById('scatterPlot').getContext('2d');
    var scatterData = {
      datasets: [{
        label: 'Model Performance',
        data: [
          {% for row in site.data.edit_leaderboard %}
            {% if row.released %}
              {
                x: new Date('{{ row.released }}'),
                y: {{ row.pass_rate_2 }},
                label: '{{ row.model }}'
              },
            {% endif %}
          {% endfor %}
        ],
        backgroundColor: 'rgba(54, 162, 235, 0.2)',
        borderColor: 'rgba(54, 162, 235, 1)',
        borderWidth: 1,
        pointRadius: 5,
        pointHoverRadius: 7
      }]
    };

    var scatterChart = new Chart(ctx, {
      type: 'scatter',
      data: scatterData,
      options: {
        scales: {
          xAxes: [{
            type: 'time',
            time: {
              unit: 'month',
              tooltipFormat: 'll'
            },
            scaleLabel: {
              display: true,
              labelString: 'Release Date'
            }
          }],
          yAxes: [{
            scaleLabel: {
              display: true,
              labelString: 'Pass Rate 2 (%)'
            },
            ticks: {
              beginAtZero: true
            }
          }]
        },
        tooltips: {
          callbacks: {
            label: function(tooltipItem, data) {
              var label = data.datasets[tooltipItem.datasetIndex].data[tooltipItem.index].label || '';
              return label + ': (' + tooltipItem.xLabel + ', ' + tooltipItem.yLabel + '%)';
            }
          }
        }
      }
    });
  });
</script>
>>>>>>> REPLACE
```
2024-05-15 09:32:41 -07:00
Paul Gauthier
8f36dff6d8 Added _posts/2024-05-13-models-over-time.md. 2024-05-15 09:32:40 -07:00
Paul Gauthier
cd10e0bf03 make all highlight_images jpg 2024-05-09 09:50:05 -07:00
Paul Gauthier
c2c36283a7 copy 2024-05-02 19:04:18 -07:00
Paul Gauthier
54aa208171 aider: Adjusted the video container's padding-bottom to maintain the original 1060x1080 aspect ratio.
# Aider chat conversation:

USER: but it's a 1060 wide by 1080 high video, not 16:9

ASSISTANT: You're right, the video dimensions are 1060x1080, which is not a 16:9 aspect ratio. To maintain the original aspect ratio of the video, we can calculate the padding-bottom percentage based on the video's height divided by its width. Here are the updated changes:

_posts/2024-05-02-browser.md
<source>
<<<<<<< SEARCH
<style>
.video-container {
  position: relative;
  padding-bottom: 56.25%; /* 16:9 aspect ratio */
  height: 0;
  overflow: hidden;
}

.video-container video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
</style>
=======
<style>
.video-container {
  position: relative;
  padding-bottom: 101.89%; /* 1080 / 1060 = 1.0189 */
  height: 0;
  overflow: hidden;
}

.video-container video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
</style>
>>>>>>> REPLACE
</source>

The change:

1. Update the `padding-bottom` value to `101.89%`, which is calculated by dividing the video's height (1080) by its width (1060) and multiplying by 100 to get a percentage.

This change will ensure that the responsive video container maintains the original aspect ratio of the 1060x1080 video.
2024-05-02 18:02:51 -07:00
Paul Gauthier
a372fff409 aider: Made the video responsive to prevent overflow on mobile devices.
# Aider chat conversation:

USER: the video overflows the width of the browser on mobile

ASSISTANT: To fix the video overflowing the width of the browser on mobile devices, we can add some CSS styles to make the video responsive. Here are the changes:

_posts/2024-05-02-browser.md
<source>
<<<<<<< SEARCH
<video width="1060" height="1080" controls loop poster="/assets/browser.jpg">
  <source src="/assets/aider-browser-social.mp4" type="video/mp4">
  <a href="/assets/aider-browser-social.mp4">Aider browser UI demo video</a>
</video>
=======
<div class="video-container">
  <video controls loop poster="/assets/browser.jpg">
    <source src="/assets/aider-browser-social.mp4" type="video/mp4">
    <a href="/assets/aider-browser-social.mp4">Aider browser UI demo video</a>
  </video>
</div>

<style>
.video-container {
  position: relative;
  padding-bottom: 56.25%; /* 16:9 aspect ratio */
  height: 0;
  overflow: hidden;
}

.video-container video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
</style>
>>>>>>> REPLACE
</source>

The changes:

1. Wrap the `<video>` element inside a `<div>` with class `video-container`.
2. Remove the `width` and `height` attributes from the `<video>` element.
3. Add a `<style>` block with CSS for the `video-container` class:
   - Set `position: relative` on the container.
   - Use `padding-bottom: 56.25%` to maintain a 16:9 aspect ratio.
   - Set `height: 0` and `overflow: hidden` to contain the video.
4. Add CSS for the `video` element inside `video-container`:
   - Set `position: absolute` to position it within the container.
   - Set `top: 0`, `left: 0`, `width: 100%`, `height: 100%` to make it fill the container.

These changes will make the video responsive and fit within the width of the browser on mobile devices while maintaining its aspect ratio.
2024-05-02 18:02:10 -07:00
Paul Gauthier
259a663941 Increased the size of the video player on the browser post. 2024-05-02 18:02:09 -07:00
Paul Gauthier
192bc6592e aider: Added the 'loop' attribute to the video element to enable looping the video.
# Aider chat conversation:

USER: can we loop the video?

ASSISTANT: To loop the video, we can add the `loop` attribute to the `<video>` tag.

Here is the *SEARCH/REPLACE* block:

_posts/2024-05-02-browser.md
<source>
<<<<<<< SEARCH
<video width="704" height="720" controls poster="/assets/browser.jpg">
=======
<video width="704" height="720" controls loop poster="/assets/browser.jpg">
>>>>>>> REPLACE
</source>
2024-05-02 10:48:15 -07:00
Paul Gauthier
05450fb3d2 copy 2024-05-02 10:45:53 -07:00
Paul Gauthier
db0e420ea0 aider: Added a poster image to the video tag
# Aider chat conversation:

USER: add the highlight image as the thumbnail that will show before the <video> tag plays

ASSISTANT: To add the highlight image as a thumbnail that shows before the video plays, we can use the `poster` attribute on the `<video>` tag.

Here is the *SEARCH/REPLACE* block:

_posts/2024-05-02-browser.md
<source>
<<<<<<< SEARCH
<video width="704" height="720" controls>
=======
<video width="704" height="720" controls poster="/assets/browser.jpg">
>>>>>>> REPLACE
</source>

The `poster` attribute specifies an image to be shown while the video is downloading, or until the user hits the play button. This will display the `browser.jpg` image before the video starts playing.
2024-05-02 10:41:46 -07:00
Paul Gauthier
b087cd670f Enabled browser-based AI pair programming in Aider. 2024-05-02 10:41:44 -07:00
Paul Gauthier
7c2e9a394c browser blog post 2024-05-02 10:39:33 -07:00
Paul Gauthier
93bd187bf3 Added --opus 2024-04-18 17:09:43 -07:00
Paul Gauthier
324655be75 copy 2024-04-09 17:13:12 -07:00
Paul Gauthier
17a1de22e2 copy 2024-04-09 17:06:58 -07:00
Paul Gauthier
f6c5112cc1 copy 2024-04-09 17:00:54 -07:00
Paul Gauthier
c0a6d1d1e5 copy 2024-04-09 16:59:52 -07:00
Paul Gauthier
eea35a3414 copy 2024-04-09 16:57:58 -07:00
Paul Gauthier
00f1cdb561 Added gpt-4-turbo vision blog post 2024-04-09 16:55:35 -07:00
Paul Gauthier
f45887d176 copy 2024-03-08 08:34:07 -08:00
Paul Gauthier
76c3f66915 copy 2024-03-08 08:21:28 -08:00
Paul Gauthier
ae768054b5 copy 2024-03-08 08:20:25 -08:00
Paul Gauthier
573a6814b2 copy 2024-03-08 08:09:07 -08:00
Paul Gauthier
7fbd9e2be4 Added claude post 2024-03-08 08:00:41 -08:00
Paul Gauthier
08048b4972 layout 2024-02-19 14:49:23 -08:00
Paul Gauthier
b3d59539db aider: Added highlight image to the blog post and displayed it on the blog index if present.
# Aider chat conversation:

USER: use the graph as a highlight image for the blog post. add the highlight image to the blog index if one is present.

ASSISTANT: To use the graph as a highlight image for the blog post and add it to the blog index if a highlight image is present, I will make the following changes:

1. Add a `highlight_image` field to the front matter of the `_posts/2023-11-06-benchmarks-speed-1106.md` file.
2. Modify the `blog/index.html` file to check for the `highlight_image` field and display the image if it exists.

Here are the diffs for those changes:

```diff
--- _posts/2023-11-06-benchmarks-speed-1106.md
+++ _posts/2023-11-06-benchmarks-speed-1106.md
@@ ... @@
 ---
 title: Speed benchmarks of GPT-4 Turbo and gpt-3.5-turbo-1106
 excerpt: This report provides a detailed comparison of the speed of GPT-4 Turbo and gpt-3.5-turbo-1106 models based on the aider benchmarking suite.
+highlight_image: /assets/benchmarks-speed-1106.svg
 redirect_from:
   - /docs/benchmarks-speed-1106.html
 ---
```

```diff
--- blog/index.html
+++ blog/index.html
@@ ... @@
   {% for post in site.posts %}
     <article class="post">
+      {% if post.highlight_image %}
+      <div class="post-highlight">
+        <img src="{{ site.baseurl }}{{ post.highlight_image }}" alt="Highlight Image">
+      </div>
+      {% endif %}
       <h1><a href="{{ site.baseurl }}{{ post.url }}">{{ post.title }}</a></h1>
       <div class="entry">
           {% if post.excerpt %}
```
2024-02-19 14:42:34 -08:00
Paul Gauthier
63566443d9 Link more blog articles 2024-02-19 13:25:43 -08:00
Paul Gauthier
b51db95240 Added post symlink 2024-02-19 13:08:49 -08:00
Paul Gauthier
cc17194cca post->page 2024-02-11 09:42:38 -08:00