Skip to content

Commit

Permalink
Updating site
Browse files Browse the repository at this point in the history
Adding several presentations, papers, interviews, and sightings.
  • Loading branch information
sean-parent committed Jan 4, 2024
1 parent 141c157 commit eaedbc3
Show file tree
Hide file tree
Showing 10 changed files with 163 additions and 18 deletions.
2 changes: 1 addition & 1 deletion .ruby-version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
3.2.2
3.3.0
43 changes: 30 additions & 13 deletions Gemfile.lock
Original file line number Diff line number Diff line change
@@ -1,22 +1,21 @@
GEM
remote: https://rubygems.org/
specs:
addressable (2.8.5)
addressable (2.8.6)
public_suffix (>= 2.0.2, < 6.0)
colorator (1.1.0)
concurrent-ruby (1.2.2)
em-websocket (0.5.3)
eventmachine (>= 0.12.9)
http_parser.rb (~> 0)
eventmachine (1.2.7)
ffi (1.15.5)
ffi (1.16.3)
forwardable-extended (2.6.0)
google-protobuf (3.24.2-aarch64-linux)
google-protobuf (3.24.2-x86_64-linux)
google-protobuf (3.25.1)
http_parser.rb (0.8.0)
i18n (1.14.1)
concurrent-ruby (~> 1.0)
jekyll (4.3.2)
jekyll (4.3.3)
addressable (~> 2.4)
colorator (~> 1.0)
em-websocket (~> 0.5)
Expand Down Expand Up @@ -51,30 +50,48 @@ GEM
mercenary (0.4.0)
pathutil (0.16.2)
forwardable-extended (~> 2.6)
public_suffix (5.0.3)
public_suffix (5.0.4)
rb-fsevent (0.11.2)
rb-inotify (0.10.1)
ffi (~> 1.0)
rexml (3.2.6)
rouge (4.1.3)
rouge (4.2.0)
safe_yaml (1.0.5)
sass-embedded (1.66.1-aarch64-linux-gnu)
google-protobuf (~> 3.23)
sass-embedded (1.66.1-x86_64-linux-gnu)
google-protobuf (~> 3.23)
sass-embedded (1.69.7-aarch64-linux-android)
google-protobuf (~> 3.25)
sass-embedded (1.69.7-aarch64-linux-gnu)
google-protobuf (~> 3.25)
sass-embedded (1.69.7-arm-linux-androideabi)
google-protobuf (~> 3.25)
sass-embedded (1.69.7-arm-linux-gnueabihf)
google-protobuf (~> 3.25)
sass-embedded (1.69.7-arm-linux-musleabihf)
google-protobuf (~> 3.25)
sass-embedded (1.69.7-x86-linux-android)
google-protobuf (~> 3.25)
sass-embedded (1.69.7-x86_64-linux-android)
google-protobuf (~> 3.25)
sass-embedded (1.69.7-x86_64-linux-gnu)
google-protobuf (~> 3.25)
terminal-table (3.0.2)
unicode-display_width (>= 1.1.1, < 3)
unicode-display_width (2.4.2)
unicode-display_width (2.5.0)
webrick (1.8.1)

PLATFORMS
aarch64-linux
aarch64-linux-android
arm-linux-androideabi
arm-linux-gnueabihf
arm-linux-musleabihf
x86-linux-android
x86_64-linux
x86_64-linux-android

DEPENDENCIES
jekyll
jekyll-compose
jekyll-redirect-from

BUNDLED WITH
2.4.19
2.5.3
127 changes: 127 additions & 0 deletions papers-and-presentations.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,57 @@ comments: true

***

Date: 2023-10-06

### Better Code: Contracts

Coauthored and presented with Dave Abrahams.

Are you confident that the code you write, and the changes you make, are correct? What does “correct” even mean? How do we know the code we write today won’t become a long-term liability? These persistent questions can be enough to suck all the fun out of programming, but it doesn’t have to be that way. In this talk, we’ll look at the connective tissue of good code and show how to keep it strong and supple. There is no need to wait for language features to start using contracts. We’ll suggest replacing code reviews with something better and charting the path to a more hopeful future of software.

Note: This talk was presented at the [CppCon 2023](https://cppcon2023.sched.com/event/1Qtgl) conference, 2023-10-06.

* [Video](https://youtu.be/OWsepDEh5lQ)
* [Slides](/presentations/2023-10-06-better-code-contracts/2023-10-06-better-code-contracts.pdf)
* [Keynote](/presentations/2023-10-06-better-code-contracts/2023-10-06-better-code-contracts.key)

***

Date: 2023-09-28

### Better Code: Algorithms - Composition

Algorithm composition is the process of combining existing algorithms to create new ones that solve complex problems. This talk looks at different forms of composition with different trade-offs. The talk will inspire you to think of algorithms as reusable building blocks that can be combined in novel ways.

Note: This talk was presented internally at Adobe and will be available on the [C++ at Adobe](https://developer.adobe.com/cpp/training/) site.

* [Slides](/presentations/2023-09-28-algorithm-composition/2023-09-28-algorithm-composition.pdf)
* [Slides with notes](/presentations/2023-09-28-algorithm-composition/2023-09-28-algorithm-composition-notes.pdf)
* [Keynote](/presentations/2023-09-28-algorithm-composition/2023-09-28-algorithm-composition.key)

***

Date: 2023-06-08, 2023-05-25

### Better Code: Algorithms - Preliminaries

A function is a fundamental building block in software development and a key tool for designing efficient and maintainable systems. This talk looks at the characteristics of a “good” function and provides practical guidance on when and how to refactor and utilize existing libraries to develop _Better Code_.

Note: This talk was presented internally at Adobe and is available on the [C++ at Adobe](https://developer.adobe.com/cpp/training/) site.

* [Video](https://youtu.be/wtOkvB_iFw4)
* [Slides](/presentations/2023-06-08-algorithms/2023-06-08-algorithms.pdf)
* [Slides with notes](/presentations/2023-06-08-algorithms/2023-06-08-algorithms-notes.pdf)
* [Keynote](/presentations/2023-06-08-algorithms/2023-06-08-algorithms.key)

Initial draft version:

* [Slides](/presentations/2023-05-25-algorithms/2023-05-25-algorithms.pdf)
* [Slides with notes](/presentations/2023-05-25-algorithms/2023-05-25-algorithms-notes.pdf)
* [Keynote](/presentations/2023-05-25-algorithms/2023-05-25-algorithms.key)

***

Date: 2023-06-28, 2023-05-08

### All the Safeties
Expand Down Expand Up @@ -494,6 +545,20 @@ A plethora of networked devices is changing the software landscape. The infrastr

***

Date: 2023-11-20

### indirect and polymorphic: Vocabulary Types for Composite Class Design

Authors: Jonathan Coe, Antony Peacock, Sean Parent

Abstract: We propose the addition of two new class templates to the C++ Standard Library: `indirect<T>`` and `polymorphic<T>``.

Specializations of these class templates have value semantics and compose well with other standard library types (such as vector), allowing the compiler to correctly generate special member functions.

[Markdown](https://github.com/jbcoe/value_types/blob/main/DRAFT.md)

***

Date: 2021-04-14

### Relaxing Requirements of Moved-From Objects
Expand Down Expand Up @@ -551,6 +616,18 @@ Note: Paper presented at [GPCE 2015](http://2015.gpce.org/event/gpce2015-generat

***

Date: 2014-10-10

### D4128: Ranges for the Standard Library: Revision 1

Authors: Eric Niebler, Sean Parent, Andrew Sutton

Abstract: This paper outlines what support for ranges in the C++ standard library might look like. Rather than presenting a final design, this paper proposes a set of concepts and guidelines for using them to implement range-based versions of the standard algorithms. It draws inspiration from the Boost.Range library, the range algorithms in Adobe Source Libraries, Elements of Programming by Stepanov and McJones (2009), and from N3351 “A Concept Design for the STL” by Stroustrup and Sutton (2012). In addition to presenting the concepts and guidelines, this paper discusses the rationale behind each, weighing different design options.

* [HTML](https://ericniebler.github.io/std/wg21/D4128.html)

***

Date: 2011-10

### Helping Programmers Help Users
Expand Down Expand Up @@ -662,6 +739,26 @@ From: The 6th International Workshop on Multiparadigm Programming with Object-Or

***

Date: 2023-12-29

### ADSP: The Podcast - Episode 162: Sean Parent on the History of Pascal

In this episode, Conor and Bryce chat with Sean Parent about Pascal, C, Unix, Modula(-2/3) and more!

* [Audio](https://adspthepodcast.com/2023/12/29/Episode-162.html)

***

Date 2023-12-15

### ADSP: The Podcast - Episode 160: Rust & Safety at Adobe with Sean Parent

In this episode, Conor and Bryce chat with Sean Parent about the latest on the Hylo programming language, potential limitations to the C++ Senders and Receivers model and the status of Rust and safety at Adobe.

* [Audio](https://adspthepodcast.com/2023/12/15/Episode-160.html)

***

Date: 2023-07-21

### ADSP: The Podcast - Episode 139: Why Sean Parent Joined Adobe
Expand Down Expand Up @@ -858,6 +955,36 @@ An interview published in [MacTech](https://en.wikipedia.org/wiki/MacTech).

***

## Sightings

Random sightings of me on the web.

***

Date: 2023-09-08

### Basal Gangster - A/UX: The Long View (2010)

References my [ADSP interview](https://adspthepodcast.com/2021/06/04/Episode-28.html) discussing how Carbon almost didn't happen.

[Audio]](https://macfolkloreradio.com/2023/09/08/basal-gangster-a-ux-the-long-view.html)

***

Date: 1992

### MacHack 1992

Somehow I convinced Apple to allow me to bring a prototype of the RISC based Macintosh to MacHack 1992. This unit used an [M68110 with an emulator written by Gary Davidian](https://computerhistory.org/blog/transplanting-the-macs-central-processor-gary-davidian-and-his-68000-emulator/). We did not yet have a prototype with a PowerPC processor. I offered $100 dollars to anyone who could find a piece of Mac software that would not run on the prototype. Waldemar Horwat won the $100 dollars by finding that the TMON debugger did not run under emulation. The video from MacHack is unwatchable but does capture me presenting payment to Waldemar.

* [Video](https://youtu.be/MzQgU5IytNw?si=EpeFvpZzqGKWQPwb&t=1351)

On the same unwatchable video is a clip of me presenting my hack, _Okay, What was that?_

* [Video](https://youtu.be/MzQgU5IytNw?si=avV-qL7YslnM6fQd&t=2419)

***

## Older papers and presentation

***
Expand Down
2 changes: 1 addition & 1 deletion tools/docker-tools/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ RUN (eval "$(rbenv init -)"; \
rbenv install `cat .ruby-version`; \
gem install bundler; \
rbenv rehash; \
bundle install)
bundle install --frozen)

WORKDIR /home/app

Expand Down
5 changes: 3 additions & 2 deletions tools/docker-tools/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,14 @@ If you don't already have Docker installed, [install Docker](https://docs.docker
To build the docker image, first update the VERSION variable below (please use semantic versioning). Add a [release note](#release-notes).

```
VERSION="1.0.15"
VERSION="1.0.16"
echo $VERSION > ./tools/docker-tools/VERSION
VOLUME="sean-parent.github.io"
# Specify the ruby version to match the latest stable - https://www.ruby-lang.org/en/downloads/
RUBY_VERSION="3.2.2"
RUBY_VERSION="3.3.0"
echo $RUBY_VERSION > ./.ruby-version
# build the base image, no-cache is used so the latest tools are installed
Expand Down Expand Up @@ -113,3 +113,4 @@ docker run --mount type=bind,source="$(pwd)",target=/mnt/host \
- 1.0.13 - Updating tooling
- 1.0.14 - Updating to use github actions
- 1.0.15 - Updating tooling
- 1.0.16 - Updating tooling
2 changes: 1 addition & 1 deletion tools/docker-tools/VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.0.15
1.0.16

0 comments on commit eaedbc3

Please sign in to comment.