An "I suck at ATS" screencast

189 views
Skip to first unread message

Julian Fondren

unread,
Aug 16, 2018, 3:19:01 AM8/16/18
to ats-lang-users
Found here: https://www.bitchute.com/video/arsFOT0Apsw2/

I have some other videos in advance, so I'll try to be regular about uploading them.

The first is just 'hello world'. Although the video is 46+ minutes long, it does show a successful 'hello world' in the first minute.

The "I suck at ATS" part of the title is
1. fairly appropriate considering the content
2. a small tribute to a Youtuber who'd died shortly before I recorded the video
3. a title I'll use, even if hypothetically I stop sucking at ATS, for any ATS screencsat that's similarly unscripted and unprepared (apart from an idea of something to do and the feeling that I can probably do it over the course of a video)

Hongwei Xi

unread,
Aug 16, 2018, 9:13:14 AM8/16/18
to ats-lan...@googlegroups.com
Thank you!

--
You received this message because you are subscribed to the Google Groups "ats-lang-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ats-lang-user...@googlegroups.com.
To post to this group, send email to ats-lan...@googlegroups.com.
Visit this group at https://groups.google.com/group/ats-lang-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/ats-lang-users/fb20c175-be89-4bb3-8ab6-09a08b550690%40googlegroups.com.

Artyom Shalkhakov

unread,
Aug 16, 2018, 10:12:41 AM8/16/18
to ats-lang-users
Hi Julian!

I have to admit, I too suck at ATS! :-)

Humility helps a great deal!

чт, 16 авг. 2018 г., 13:19 Julian Fondren <julian....@gmail.com>:
--

Julian Fondren

unread,
Aug 17, 2018, 11:49:54 PM8/17/18
to ats-lang-users
Hmm... bitchute might be a little overwhelmed. It's been more than 12 hours since my last upload and it's still 'processing'.
They use bittorrent in the browser to reduce playing costs but they're not also using visitors' browsers to re-encode their videos.

You can find .webm versions of this series at https://ats-lang.moe/ , along with some other odds and ends.

Hongwei Xi

unread,
Aug 18, 2018, 2:22:34 PM8/18/18
to ats-lan...@googlegroups.com
I, too, suck :)

Especially with the feature of templates. One can readily sense that
this feature is of great potential. But it requires a lot of study and practice
before we can unleash it.

Hongwei Xi

unread,
Aug 18, 2018, 3:11:52 PM8/18/18
to ats-lan...@googlegroups.com
I took a quick look. Thanks!

I wrote one below which corresponds to your guess3.dats:


This is likely a fresh style if you come to ATS from other languages.

Treating input as a linear stream is a very nice feature of ATS. I find that linear
streams are severely underused in practice because they are simply not available
elsewhere :(


--
You received this message because you are subscribed to the Google Groups "ats-lang-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ats-lang-user...@googlegroups.com.
To post to this group, send email to ats-lan...@googlegroups.com.
Visit this group at https://groups.google.com/group/ats-lang-users.

vanessa...@iohk.io

unread,
Aug 19, 2018, 10:53:04 PM8/19/18
to ats-lang-users
It's pretty hard not to suck at ATS since it requires being good at both functional and systems programming :p

I have a lot of experience with Haskell, but not so much strict functional programming (much is the same, however...). But I don't know much C and in either case the compiler kicks my butt quite often lol.


On Thursday, August 16, 2018 at 2:19:01 AM UTC-5, Julian Fondren wrote:

Julian Fondren

unread,
Sep 5, 2018, 3:42:52 AM9/5/18
to ats-lang-users
Trying something different with https://www.bitchute.com/video/oK0EqH5035cN/ (or https://ats-lang.moe/isaats/isaats-008.webm )

Instead of spoken commentary, there's typed commentary, with music.

I think spoken commentary makes for a much better video, but they're also videos that are a lot harder for me to make.

If any of you have merely technological barriers to making videos about ATS, please let me know. That part is easy :) In the latest video I don't even produce any code extemporaneously, except to make a few edits, and I think that format would work fine with spoken commentary.

On Thursday, August 16, 2018 at 2:19:01 AM UTC-5, Julian Fondren wrote:

Artyom Shalkhakov

unread,
Sep 5, 2018, 4:17:14 AM9/5/18
to ats-lang-users
Hi Julian!

ср, 5 сент. 2018 г. в 13:42, Julian Fondren <julian....@gmail.com>:
Trying something different with https://www.bitchute.com/video/oK0EqH5035cN/ (or https://ats-lang.moe/isaats/isaats-008.webm )

Instead of spoken commentary, there's typed commentary, with music.

I think spoken commentary makes for a much better video, but they're also videos that are a lot harder for me to make.

If any of you have merely technological barriers to making videos about ATS, please let me know. That part is easy :) In the latest video I don't even produce any code extemporaneously, except to make a few edits, and I think that format would work fine with spoken commentary.

 
I've watched this video in full and it's nice! You took a problem and presented solutions with their pros and cons.

Since you're recording your terminal, you might settle for very simple "tele typing" or some such. I guess there was project for doing just that: recording terminal interaction and then playing it back in the browser. This should make it simpler for you to host your videos.

How do you make these videos? I'll probably record something as well!
 
On Thursday, August 16, 2018 at 2:19:01 AM UTC-5, Julian Fondren wrote:
Found here: https://www.bitchute.com/video/arsFOT0Apsw2/

I have some other videos in advance, so I'll try to be regular about uploading them.

The first is just 'hello world'. Although the video is 46+ minutes long, it does show a successful 'hello world' in the first minute.

The "I suck at ATS" part of the title is
1. fairly appropriate considering the content
2. a small tribute to a Youtuber who'd died shortly before I recorded the video
3. a title I'll use, even if hypothetically I stop sucking at ATS, for any ATS screencsat that's similarly unscripted and unprepared (apart from an idea of something to do and the feeling that I can probably do it over the course of a video)

--
You received this message because you are subscribed to the Google Groups "ats-lang-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ats-lang-user...@googlegroups.com.
To post to this group, send email to ats-lan...@googlegroups.com.
Visit this group at https://groups.google.com/group/ats-lang-users.


--
Cheers,
Artyom Shalkhakov

Julian Fondren

unread,
Sep 5, 2018, 5:34:50 AM9/5/18
to ats-lang-users

On Wednesday, September 5, 2018 at 3:17:14 AM UTC-5, Artyom Shalkhakov wrote:
I've watched this video in full and it's nice! You took a problem and presented solutions with their pros and cons.

Since you're recording your terminal, you might settle for very simple "tele typing" or some such. I guess there was project for doing just that: recording terminal interaction and then playing it back in the browser. This should make it simpler for you to host your videos.


You might be thinking of https://asciinema.org/ , which has some advantages (copy and paste!), and the big disadvantage of no sound. It's probably a good alternative to my latest video.
 
How do you make these videos? I'll probably record something as well!
 


It can record your entire screen, one Chrome tab, or a separate window (for my videos a Linux terminal provided by Crostini--a ChromeOS feature that's still in beta for most devices), and it comes with a simple cropping tool plus a slightly more advanced editor. Some of their animations show macOS window features, so it works on multiple platforms. I haven't tried it off of ChromeOS though.
Screencastify can also record your webcam, either as the entire video or as a small box within the main recording.

I recorded the first few videos on macOS, using QuickTime Player. There are some instructions here: https://support.apple.com/guide/quicktime-player/record-your-screen-qtp97b08e666/mac
A nice thing about QuickTime Player is that you can draw an arbitrary box on your screen and record only whatever's in that box. So for example you could normally have a terminal, but then drag a browser into view for a bit.

On Linux I've used ffmpeg alone to record screencasts, but that requires a lot of hand-holding to get started. ffmpeg is a Swiss Army Knife for working with videos even if you don't use it to record videos though. I used it to attach music to the latest video, and I used it to re-encode QuickTime Player's videos into .webm format

  # turn .mp4 into .webm
  ffmpeg -i somevid.mp4 somevid.webm

  # take a short silent video + hours of music and copy as much music as needed onto the video
  ffmpeg -i electroswing.mp3 -i screencast-silent.webm -codec copy -shortest screencast.webm 

Probably most people use https://obsproject.com/ - it works on multiple platforms and has a ton of features, and is free. I've never used it :)

For hosting the videos, if you have .webm then you can view it with pretty much any browser after putting it on any server. I have just have a shared hosting account with unmetered disk storage -- for marketing reasons everyone calls it "unlimited", but what's really meant is that your hosting fees don't vary by how large your files are. As a result of the marketing reasons, the practical limit is usually fairly high for the price.

And of course you can upload to a video hosting site. Bitchute requires you validate your email address, and then you can create a channel and upload to it. With Youtube you can freely upload videos below 15min; for longer videos I only needed to verify my phone, but there may be other requirements. The experience in both cases is similar: you give them your video which can be a number of formats, and some extra information, and they process the video before listing it. The other day Bitchute was quite slow to publish a video, but it's been just fine, lately.

Youtube has a lot of advantages:
1. it's big so you'll get the widest audience
2. it encodes your video across many quality settings (bitchute just has one)
3. it doesn't use bittorrent so it won't get firewalled as easily (you can turn that off for bitchute, but it's best to use it if you can)
4. you get a lot of options to change the appearance of your channel

It also has some unique (and severe) disadvantages but they probably won't strike a channel about a programming language.
...If you add music like I did on the latest video, that's probably the only thing that might cause annoyances for you with Youtube.
...in fact I'll go ahead and set up a Youtube copy of my Bitchute channel.

I've tried a built-in mic (too much environmental audio) and a headset mic (too much nonvocal audio) and settled on Blue Microphones' products: https://www.amazon.com/l/2529047011

Julian Fondren

unread,
Sep 5, 2018, 7:01:37 AM9/5/18
to ats-lang-users


On Wednesday, September 5, 2018 at 4:34:50 AM UTC-5, Julian Fondren wrote:
Youtube has a lot of advantages:
1. it's big so you'll get the widest audience
2. it encodes your video across many quality settings (bitchute just has one)
3. it doesn't use bittorrent so it won't get firewalled as easily (you can turn that off for bitchute, but it's best to use it if you can)
4. you get a lot of options to change the appearance of your channel

It also has some unique (and severe) disadvantages but they probably won't strike a channel about a programming language.
...If you add music like I did on the latest video, that's probably the only thing that might cause annoyances for you with Youtube.
...in fact I'll go ahead and set up a Youtube copy of my Bitchute channel.


And that URL will be as ugly until the channel gets 100 subscribers. At that time I can change to atsmoe or atsunofficial or like.

More Youtube advantages:
1. although bittorrent isn't slow anymore, Youtube is still faster (partially because it quickly produces low-quality videos, and adds on the quality over time)
2. youtube has a lot of extra tools for working with videos

More Youtube disadvantages:
1. it's a lot pickier about 'invalid chars' -- you can't put > in a description; I couldn't put (.moe) in the channel title, etc.
2. some of youtube's automatic video enhancement might be unwanted. The ATS->JS video jiggles a bit.

Hongwei Xi

unread,
Sep 5, 2018, 7:26:52 AM9/5/18
to ats-lan...@googlegroups.com

I would really like to encourage people interested in ATS to subscribe.

I hope that I can just pick a few videos when teaching ATS next year :)

My wish list:

1) A video on packaging (via npm)
2) More videos on using templates (The readline example is great!)
3) ... ...

Cheers!

--
You received this message because you are subscribed to the Google Groups "ats-lang-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ats-lang-user...@googlegroups.com.
To post to this group, send email to ats-lan...@googlegroups.com.
Visit this group at https://groups.google.com/group/ats-lang-users.

Julian Fondren

unread,
Sep 12, 2018, 12:51:12 PM9/12/18
to ats-lang-users
On Wednesday, September 5, 2018 at 6:26:52 AM UTC-5, gmhwxi wrote:
I hope that I can just pick a few videos when teaching ATS next year :)

My wish list:

1) A video on packaging (via npm)

This would make good sense if the ATS were targeting JS as well (similarly if you were targeting Perl, why not put the module in CPAN), or if it were a more neutral library that some JS-targeting code were dependent on. But as a repo for ATS in general, I feel like this will ultimately lead to a conflict that leads to the ATS projects getting kicked off of npm. That might be as simple as

1. an ATS user picks ReallyCoolLibraryName for something that doesn't target JS

2. a JS user thinks of something similar and wants to pick ReallyCoolLibraryName for it

3. the JS user sees the existing library, says "oh cool someone did this already", but then realizes he can't make use of it at all--it's not JS.

4. the JS user complains: npm is "a JavaScript repository" and ReallyCoolLibraryName is *squatting* on a name I want and also it wasted my time because I thought I might be able to use it.

In the meantime, I feel like an index would be good enough, or something like https://crystalshards.xyz/ (that just reports on Crystal code that it finds on GitHub)
 
2) More videos on using templates (The readline example is great!)
3) ... ...

I don't have a lot of ideas for videos atm.

"You can use typedef to save on some verbosity :)"

"This is how I rewrote a C program into ATS"

"Here's rsync with some functionality implemented in ATS"

"Here's a few wrappers I wrote", similar to the getline one. And these are all similar to the getline one in that it's more retrospective than live coding like the earlier videos.
Reply all
Reply to author
Forward
0 new messages