Free Republic
Browse · Search
General/Chat
Topics · Post Article

Skip to comments.

Musical Interlude topic for February 2024
YouTube etcetera ^ | January 29, 2011 etcetera | various

Posted on 02/01/2024 6:25:03 AM PST by SunkenCiv

click here to read article


Navigation: use the links below to view more comments.
first previous 1-2021-28 last
A. L. Lloyd and Alf Edwards
The Unfortunate Rake | 2:59
A. L. Lloyd - Topic | 1.08K subscribers | 103,735 views | May 30, 2015
The Unfortunate Rake | 2:59 | A. L. Lloyd - Topic | 1.08K subscribers | 103,735 views | May 30, 2015

21 posted on 02/12/2024 3:32:21 PM PST by SunkenCiv (Putin should skip ahead to where he kills himself in the bunker.)
[ Post Reply | Private Reply | View Replies]


22 posted on 02/12/2024 3:33:01 PM PST by SunkenCiv (Putin should skip ahead to where he kills himself in the bunker.)
[ Post Reply | Private Reply | View Replies]

Set of two slides and a slip jig

Rosie Finn's Favourite
Over the Water to Charlie
The Kid On the Mountain

[from The Bothy Band re-union concert at Celtic Connections 22nd January 2024]]
The Bothy Band 2024 Kid on the Mountain set | 4:41
Edgar Bolton | 38 subscribers | 4,392 views | January 23, 2024
The Bothy Band 2024 Kid on the Mountain set | 4:41 | Edgar Bolton | 38 subscribers | 4,392 views | January 23, 2024



23 posted on 02/16/2024 7:57:59 AM PST by SunkenCiv (Putin should skip ahead to where he kills himself in the bunker.)
[ Post Reply | Private Reply | View Replies]

Monkey Man (Remastered 2019) | 4:11
The Rolling Stones | 3.16M subscribers | 2,134,854 views | October 31, 2019
Monkey Man (Remastered 2019) | 4:11 | The Rolling Stones | 3.16M subscribers | 2,134,854 views | October 31, 2019

24 posted on 02/17/2024 7:29:36 AM PST by SunkenCiv (Putin should skip ahead to where he kills himself in the bunker.)
[ Post Reply | Private Reply | View Replies]


25 posted on 02/18/2024 1:24:35 PM PST by SunkenCiv (Putin should skip ahead to where he kills himself in the bunker.)
[ Post Reply | Private Reply | View Replies]

Life as a Girl Dad: Jeff Dunham | 6:22
Laugh Society | 639K subscribers | 274,759 views | February 16, 2024
Life as a Girl Dad: Jeff Dunham | 6:22 | Laugh Society | 639K subscribers | 274,759 views | February 16, 2024

26 posted on 02/19/2024 12:21:18 PM PST by SunkenCiv (Putin should skip ahead to where he kills himself in the bunker.)
[ Post Reply | Private Reply | View Replies]

Okay, so, not music, I usually throw in one of these in each of the Musical Interlude topics.
I would never have guessed that Apple of all companies would make ANOTHER YAML alternative, but here we are. I'll admit, pkl (pickle) is actually really cool. Too bad I don't use Kubernetes lol
Pkl: Apple's New JSON/YAML Killer (I actually want to use this...) | 14:29
Theo - t3․gg | 238K subscribers | 250,091 views | February 10, 2024
Pkl: Apple's New JSON/YAML Killer (I actually want to use this...) | 14:29 | Theo - t3․gg | 238K subscribers | 250,091 views | February 10, 2024
Transcript
·Intro
0:00·Json is not the best thing in the world
0:01·it works but it doesn't work great what
0:03·if I told you there's yet another
0:05·alternative and no it's not yaml what if
0:07·I told you that alternative was by Apple
0:09·and they open sourced it for some reason
0:11·all of that by itself sounds really
0:12·interesting but what if I told you on
0:14·top of all that it's actually really
0:16·cool so much so that I kind of want to
0:18·start using it as soon as I can I did
0:19·not expect this release to be as
0:21·interesting as it was so I can't wait to
0:22·show you what I've learned as I dug in
0:24·so let's take a look at pickle Apple's
0:26·new configuration focused programming
0:28·language I like how they open with a
·Pkl
0:30·configuration that is programmable
0:31·scalable and safe configuration is the
0:34·key here this is focused on being good
0:36·for configuring things the first example
0:39·here bird. pickle we have a name and a
0:41·job which is a nested thing so this is a
0:43·pickle file the interesting thing about
0:45·pickle is you're not actually expected
0:46·to like use this exactly as is you're
0:48·expected to run this and Export out the
0:50·different things you might want like
0:52·Json or a yaml file or a pist or a do
0:56·properties which I didn't even know was
0:57·still a thing but if you need one of
0:58·these specific formats now you have a
1:00·standard that will export all the
1:02·different formats gets weirder though
1:04·because as I mentioned can do a bit of
1:06·programming in here first off they have
1:07·integrated application config so that
1:09·you can embed pickle into other
1:11·programming languages like Java cotland
1:12·Swift and even go you can see what the
1:15·resulting output looks like when you run
1:17·pickle to configure these types of
1:19·things absolutely fascinating that they
1:21·are generating code for these different
1:23·languages based on a pickle module and
1:25·if we keep going you'll see they've
1:27·built IDE integration including Visual
1:29·Studio code which is crazy to think that
1:31·apple is building plugins for vs code as
1:33·far as I know that's unprecedented I
1:35·never would have expected Apple to be
1:37·building things for Microsoft's open
1:38·source code editors apple and open
1:40·source generally aren't things I
1:41·associate much but here we are and as
1:44·someone just pointed out in chat they
1:45·don't even support xcode what that's
1:47·hilarious they support all these other
1:49·things and not their own cursed Madness
1:51·I I hate xcode so much that I've
1:53·consider making a video about it for a
1:54·while cuz it is such a show but
1:56·we'll talk about that another time
1:57·because I want to show off more of the
1:59·cool things go going on here like in
2:00·this example where you can actually do
2:02·logic you can enforce that this int has
2:05·to be greater than a th and then when
2:06·you assign it you'll get an error yes
2:08·this is a config language that lets you
2:10·encode logic to guard things that's like
2:13·Zod just built in to the config language
2:16·very very interesting it's clear Apple
2:18·had like specific problems they were
2:19·trying to solve here introducing pickle
2:21·a programming language for configuration
2:23·we are delighted to announce the open
2:25·source first release of pickle a
2:27·programming language for producing
2:28·configuration when thinking about
2:29·configuration it's common to think of
2:31·static languages like Json yaml or
2:33·property lists while these languages
2:34·have their own merits they tend to fall
2:36·short when configuration grows in
2:37·complexity for example their lack of
2:39·expressivity means that the code often
2:41·gets repeated additionally it can be
2:42·easy to make configuration errors
2:44·because these formats do not provide any
2:45·validation of their own someone who's
2:47·been working a bit more in terraform
2:48·lately yes absolutely the case to
2:50·address these shortcomings sometimes
2:52·formats get enhanced by in ciliary tools
2:54·that add specific Logic for example
2:56·perhaps there's a need to make code more
2:58·dry so a special property introduced
2:59·that understands how to resolve
3:00·references and merge objects together
3:02·alternatively there's a need to guard
3:04·against validation errors so some new
3:06·way is created to validate these
3:07·configuration values against an expected
3:09·type before long these formats almost
3:11·become programming languages but ones
3:12·that are hard to understand and hard to
3:14·write on the other end of the spectrum a
3:16·general purpose language might be used
3:18·instead languages like cotlin Ruby or
3:20·JavaScript become the basis for dsls
3:23·that generate configuration data while
3:24·these languages are tremendously
3:25·powerful they can be awkward to use for
3:27·describing configuration because they
3:29·are not oriented around defining and
3:30·validating data additionally these dsls
3:32·tend to be tied to their own ecosystems
3:34·it's a hard cell to use a cotlin DSL is
3:36·the configuration layer for an
3:38·application written in go it's a very
3:39·fair point because you don't want to use
3:41·cotlin to define your configs in go we
3:43·should invent a new standard obviously
3:45·if you don't want to write your go
3:46·configs and cotlin clearly what we need
3:48·is yet another
3:50·standard this XKCD gets more and more
3:52·relevant every day I swear anyways we
3:55·create a pickle because we think that
3:56·configuration is best expressed as a
3:58·blend between a static Lang language and
4:00·a general purpose programming language
4:01·this is a bold statement to make to say
4:03·a blend of static languages and general
4:05·purpose programming languages is the
4:06·right thing for a config and honestly
4:08·the more I think about it I'm starting
4:09·to agree we want to take the Best of
4:11·Both Worlds providing a language that is
4:13·declarative and simple to read and write
4:14·but enhanced with the capabilities
4:16·borrowed from general purpose languages
4:18·when writing pickle you're able to use
4:19·the language features you'd expect like
4:21·classes functions conditionals and Loops
4:23·you can build abstraction layers and
4:24·share code by creating packages and
4:26·Publishing them more most importantly
4:28·you can use pickle to meet many
4:29·different types of configuration needs
4:31·it can be used to produce static
4:32·configuration files in any format or be
4:35·embedded as a library into another
4:36·application
4:37·runtime we designed pickle with three
4:39·overarching goals one to provide safety
4:42·by catching validation errors before
4:43·deployment two to scale from simple to
4:45·complex use cases and three to be a joy
4:47·to write with our best-in-class ID
4:49·Integrations this is actually an
4:50·interesting set of goals very very
4:53·interesting more and more I like this
4:54·idea of validating in the config that
4:56·just saves so much trouble so let's do
·Quick Tour
4:59·their quick quick tour of pickle we
5:00·create a pickle to have a familiar
5:01·Syntax for depths and to be easy to
5:03·learn that's why we've included features
5:04·like classes functions loops and type
5:06·annotations for example here's a pickle
5:07·file a module that defines the
5:09·configuration schema for an imaginary
5:10·web app they want us to know that this
5:12·file defines types not data which is a
5:14·common pattern in pickle interesting to
5:15·have the concept of a template in
5:17·something meant to compete with Json
5:19·application dep pickle it's a module
5:21·named application it's a host name
5:22·that's a string Port which is an INT
5:24·16bit environment which is an
5:26·environment so this has to be coming
5:27·from something else would be my guess
5:29·data a database also probably coming
5:30·from something else oh look at that they
5:32·Define them right below database is a
5:33·class that has all of these properties
5:35·the environment is a type Alias for one
5:37·of these values this is so interesting
5:40·it's a blend of a bunch of different
5:41·things but the results actually really
5:43·simple I'm liking where this is going
5:45·let's keep digging someone asked isn't
5:46·this kind of the same idea like T3
5:48·environment yes and no T3 and V is very
5:50·much tied to typescript environments and
5:53·is only for validating environment
5:55·variables this is for validating things
5:57·inside of outside of and around the idea
5:59·of config like this would go much better
6:01·with something like terraform than T3
6:02·environment would and here's how the
6:04·configuration data might be defined now
6:06·we have local host. pickle it amends the
6:08·application file and then it sets all of
6:10·these things really nice and there's
6:13·built-in read expressions for reading
6:14·external resour actually that's really
6:16·nice too that you can read from the
6:17·environment like that huh really
6:20·interesting it's easy to create
6:22·variations of the same Base by amending
6:24·for example let's imagine we want to run
6:25·four databases locally as sidecars this
6:27·uses a four generator to produce four
6:30·variations Each of which amends the base
6:31·DB and specifies a different port so
6:34·here is the for Loop example that I was
6:36·looking for import application. pickle
6:38·hidden DB application. database is a new
6:40·database with these properties and we
6:42·create the side cars which uses a for
6:44·Loop where we select all of the values
6:47·in this list a lazy way to do a for Loop
6:49·where you guarantee it's just these
6:51·values but we have 0 1 2 and three so
6:53·for each of these it's going to create a
6:55·config for a database that is 6,000 plus
6:57·the offset so you'll have Port 6,000 61
7:00·2 and 3 all is valid
7:02·configs if you want to understand this
7:04·code we can take a look at the Json that
7:06·gets exported so if we export database
7:08·password Center this is setting the
7:09·password for the environment then we run
7:11·the pickle evaluation code tell it that
7:13·we want Json out and now here's the Json
7:16·that we get it's actually really nice as
7:18·a a language that does this and only
7:20·this like this code is solid this makes
7:23·sense to me and having this be a thing
7:25·that can spit out whatever different
7:26·format you need inv validate in whatever
7:28·language that you use
7:31·I'm digging it I want to learn more
7:33·about this validation it's one of the
7:34·most interesting Parts configuration is
7:36·about data and data needs to be valid in
7:38·pickle validation is achieved by using
7:40·type annotations and type annotations
7:42·can optionally have constraints defined
7:43·on them here's an example that defines
7:45·the following constraints age must be
7:47·between 0 and 130 name must not be empty
7:49·and zip code must be a string with five
7:51·digits hey somebody will be older than
7:53·130 someday you don't want this you
7:55·don't want your code to break because
7:56·Brian Johnson was right let's be real so
7:59·let's take a look at the person pickle
8:00·module name String not is empty is this
8:03·a helper that they have built
8:05·in interesting age is an INT which is
8:08·between 0 and 130 seems like this is
8:10·syntax is there like core validation
8:12·stuff I'm sure there's a doc somewhere
8:13·that lists all of these so age is an INT
8:16·that is between these values and zip
8:17·code is a string that matches this Rex
8:20·of course Rex is involved I was
8:22·wondering when we'd see the word Rex the
8:24·only way you could possibly make yam
8:26·more curse is adding Rex to it and they
8:28·managed to do that
8:30·anyways a failing constraint causes an
8:32·evaluation error so if we make this
8:33·Alexandra file where age is negative
8:36·we'll get an error when we try to
8:37·evaluate it that says that there's a
8:39·type constraint failing is between 030
8:42·violated by this value and it calls up a
8:43·specific line it happened on
8:46·nice good stuff constraints are
·Constraints
8:49·arbitrary Expressions this allows you to
8:50·author types that can express any type
8:52·of check that can be expressed in pickle
8:54·here's a sample type that must be a
8:55·string with an odd length and whose
8:57·first letter matches the last letter
9:00·interesting at least they got equals
9:02·right sharing packages pickle provides
9:04·the ability to publish packages and to
9:06·import them as dependencies in a project
9:08·so this going to be PPM pickle package
9:10·manager this is nuts this provides an
9:13·easy way to share pickle code that can
9:14·be used in other projects it's easy to
9:16·create your own package and publish them
9:17·as GitHub releases or to upload them
9:19·anywhere you wish they could be imported
9:20·from the absolute URL look at that
9:22·they're learning all the right lessons
9:23·from the things we got wrong in
9:24·JavaScript and node this is actually
9:26·really cool this is like I feel like
9:27·they watched that one talk that Ryan D
9:30·did about the regrets he had from node
9:31·and they applied all of those lessons
9:33·really well here I'm impressed this is
9:35·cool alternatively they could be managed
9:37·as dependencies of a project using a
9:38·project allows pickle to resolve version
9:40·conflicts between different versions of
9:42·the same dependency within a dependency
9:43·graph it also means that you can import
9:45·packages by a simpler name huh you can
9:48·Define dependencies like that H well it
9:50·is a Json replacement so they have to
9:52·replace package Json seems like they
9:53·found a way to do that version conflicts
9:55·in my config files is a a meme I'm
9:58·seeing in chat now that yeah funny
10:00·enough not a lot of people know this the
10:02·package system for iOS is a thing called
10:04·pods that were created by the community
10:06·not by Apple and the creator of PODS
10:08·orta actually kind of moved on from IOS
10:11·and became one of the lead contributors
10:12·for typescript at Microsoft which was
10:15·very interesting to see somebody who
10:16·made packages possible in the iOS world
10:19·ha it so much he moved over to
10:20·JavaScript and typescript they don't
10:22·call the pickle package manager the
10:23·pickle jar they're doing it wrong that's
10:25·fair looks like they even have their own
10:27·set of packages that they're managing
10:28·which is interesting because this means
10:30·Apple's probably using these
10:31·Technologies in order to justify the
10:32·time they're putting in which means
10:34·Apple's officially almost certainly
10:35·using kubernetes because they built the
10:36·kubernetes binding very interesting they
10:38·also called the monor repo for
10:40·publishing many of them the pantry the
10:42·pickle Pantry I'll give that a star it's
10:44·28 stars for those wondering and the
10:46·actual pickle language it's a 3K and
10:48·give that a start too this is
10:49·fascinating it's also just crazy the
10:51·rare times you see apple popping up in
10:52·the open source world one of my favorite
10:54·examples of this there's this weird
10:56·Apple account and we've confirmed this
10:57·is officially Apple the developer
10:59·ecosystem engineering account on GitHub
11:01·previously it had a really ominous
11:03·profile picture tell me that's not one
11:05·of the most ominous profile pictures
11:07·you've seen on a GitHub account that
11:08·turned out to actually be Apple's GitHub
11:10·account it seems like apple doesn't want
11:12·the engineers who are contributing these
11:14·things to be like using their usernames
11:17·on their own accounts it's very Apple to
11:19·do this from like the Shadows so to
11:21·speak it's Eerie almost also it wasn't
11:23·originally this poorly Alias this is
11:25·just the very lowquality backup that uh
11:28·archive.org has huge shout out to them
11:29·for keeping most of the internet alive
11:31·so I remember when I first saw this
11:33·account file a poll request on OBS
11:36·rewriting the layer for window capture
11:38·on Mac this was really cool the reason
11:40·they did this seemed to be that they
11:41·were testing their new capture Solutions
11:43·and they used OBS as like a standard for
11:46·capture so having Apple out of nowhere
11:47·show up and contribute really nice
11:49·changes to OBS was really unexpected and
11:52·cool and they did a huge breakdown cuz
11:55·it's Apple here's where they call out
11:56·the language bindings which is really
11:58·interesting because they want it to be
12:00·embeddable in other languages Apple
12:02·generally doesn't like JavaScript and I
12:04·am certain they don't like typescript
12:05·much so I'm not surprised we don't see
12:06·those here but of course they had to
12:08·support Swift because it's Apple but
12:10·it's interesting they also support go
12:11·Java and cotlin especially cotlin when I
12:14·think about it Apple does have quite a
12:15·few Android apps now like the Android
12:17·Apple music apps one of the best apps on
12:19·Android makes sense they have to think
12:21·about cin a bit more especially if
12:23·they're already using Java for their
12:24·stuff it that makes
·Editor Support
12:26·sense using Code generation is just one
12:28·of the ways to embed pickle within an
12:30·application our language bindings also
12:32·provide evaluator apis to control pickle
12:34·evaluation at low level and users are
12:36·free to interact with pickle at the
12:37·abstraction level that makes the most
12:39·sense for their
12:40·application now the last big piece is
12:42·the editor support we believe that a
12:44·programming language is only as good as
12:45·the experience of writing it that's why
12:47·we aim to provide best-in-class editor
12:49·support when writing pickle and an
12:50·editor users are guided through the
12:52·process of filling in configuration data
12:54·from a given template additionally the
12:56·editors provide instant feedback if any
12:58·values are in valid documentation is
13:00·immediately available when called upon
13:02·we're also releasing the intell plugin
13:03·which provides Rich support for jet
13:04·brains editors including intell webstorm
13:07·goand and pycharm these plugins are able
13:08·to analyze a pickle program and provide
13:10·features like autocomplete go to
13:11·definition and refactoring support
13:13·that's really cool that they're doing
13:14·language servers properly that's nuts to
13:16·have like a config file like imagine if
13:18·your Json autocom completed and gave you
13:20·errors when you were editing it this is
13:22·actually one of my favorite Parts okay
13:24·when are we replacing package Json with
13:25·package pickle because I need this type
13:27·of safety in everything I do this is
13:29·great seriously though imagine like an
13:30·alternative to something like next where
13:32·the next config Json wasn't a Json it
13:34·was a pickle file and when you went to
13:36·your editor and started typing out the
13:37·config it would error if you got things
13:39·wrong that sounds awesome this seems
13:41·genuinely really cool right now when we
13:43·want to do stuff like this we end up
13:44·doing crazy hacks like putting our
13:46·config files in the language we're using
13:48·like typescript so that we can get type
13:49·errors and now we have to compile that
13:51·in order to use it this skirts so much
13:53·of that it's actually really
13:57·cool Sly the vs Cod C PL doesn't seem to
13:59·have the erroring yet just the syntax
14:00·highlighting and cold folding but they
14:02·are planning on doing that in the future
14:03·really nice to
14:04·see they have examples here for a bunch
14:07·of different things from kubernetes to
14:09·Swift to the jvm and go really good
14:12·stuff this is both further along and
14:14·better than I would have expected I did
14:16·not expect this to be this cool honestly
14:17·and I'm genuinely really hyped I
14:19·certainly didn't expect Apple to make
14:20·something like this much less open
14:22·source it so I'm really hyped to see the
14:23·results what about you are you excited
14:25·too let me know in the comments anyways
14:27·thank you again for watching peace NS

27 posted on 02/23/2024 8:49:32 PM PST by SunkenCiv (Putin should skip ahead to where he kills himself in the bunker.)
[ Post Reply | Private Reply | View Replies]


28 posted on 02/27/2024 5:22:37 AM PST by SunkenCiv (Putin should skip ahead to where he kills himself in the bunker.)
[ Post Reply | Private Reply | View Replies]


Navigation: use the links below to view more comments.
first previous 1-2021-28 last

Disclaimer: Opinions posted on Free Republic are those of the individual posters and do not necessarily represent the opinion of Free Republic or its management. All materials posted herein are protected by copyright law and the exemption for fair use of copyrighted works.

Free Republic
Browse · Search
General/Chat
Topics · Post Article

FreeRepublic, LLC, PO BOX 9771, FRESNO, CA 93794
FreeRepublic.com is powered by software copyright 2000-2008 John Robinson