<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	
<title>ericportis.com — Shorts</title>
<link href="https://ericportis.com/shorts/"/>
<link rel="self" href="https://ericportis.com/shorts/feed/"/>
<updated>2026-02-27T23:30:50-08:00</updated>
<author>
	<name>Eric Portis</name>
	<email>e@ericportis.com</email>
</author>
<id>https://ericportis.com/shorts/</id>
<icon>/apple-touch-icon.png</icon>
	


<entry>
	<title>April 15, 2019</title>
	<link rel="alternate" href="https://ericportis.com/shorts/2019/04-15-1119/" />
	<id>tag:ericportis.com,2019-04-15:/shorts/2019/04-15-1119/</id>
	<updated>2019-04-15T11:19:00-07:00</updated>
	<content type="html">
	    &lt;p&gt;
Sounds like &lt;a href=&quot;https://adactio.com/notes/15065&quot;&gt;somebody&lt;/a&gt; needs an introduction to the ridiculously talented illustrator, &lt;a href=&quot;https://www.phoebewahl.com&quot;&gt;Phoebe Wahl&lt;/a&gt;.
&lt;/p&gt;

	</content>
</entry>



<entry>
	<title>November 12, 2018</title>
	<link rel="alternate" href="https://ericportis.com/shorts/2018/11-12-0737/" />
	<id>tag:ericportis.com,2018-11-12:/shorts/2018/11-12-0737/</id>
	<updated>2018-11-12T07:45:00-08:00</updated>
	<content type="html">
	    &lt;p&gt;
So, &lt;a href=&quot;https://cloudinary.com/documentation/image_transformations#effects_with_face_detection&quot;&gt;Cloudinary can do the exact opposite&lt;/a&gt; of &lt;a href=&quot;https://adactio.com/journal/14516&quot;&gt;what Jeremy wants&lt;/a&gt;:
&lt;/p&gt;

&lt;figure&gt;
&lt;figcaption&gt;Original:&lt;/figcaption&gt;
&lt;img src=&quot;http://media4.s-nbcnews.com/i/newscms/2015_17/501841/tdy_or_fullhouse_150421_5cdcff1db84cf12a068e02f626fa174b.jpg&quot; /&gt;
&lt;/figure&gt;

&lt;figure&gt;
&lt;figcaption&gt;With &lt;a href=&quot;https://cloudinary.com/documentation/image_transformations#effects_with_face_detection&quot;&gt;&lt;code&gt;e_blur_faces&lt;/code&gt;&lt;/a&gt;:&lt;/figcaption&gt;
&lt;img src=&quot;https://eric-cloudinary-res.cloudinary.com/image/fetch/e_blur_faces:500,q_auto/http://media4.s-nbcnews.com/i/newscms/2015_17/501841/tdy_or_fullhouse_150421_5cdcff1db84cf12a068e02f626fa174b.jpg&quot; /&gt;
&lt;/figure&gt;

&lt;p&gt;&lt;abbr style=&quot;font-variant: all-small-caps;&quot;&gt;BRB&lt;/abbr&gt; putting in a feature request for blurring everything &lt;em&gt;but&lt;/em&gt; faces.&lt;/p&gt;


	</content>
</entry>



<entry>
	<title>February 12, 2018</title>
	<link rel="alternate" href="https://ericportis.com/shorts/2018/02-12-0602/" />
	<id>tag:ericportis.com,2018-02-12:/shorts/2018/02-12-0602/</id>
	<updated>2018-02-12T06:02:00-08:00</updated>
	<content type="html">
	    &lt;a data-supergif href=&quot;https://res.cloudinary.com/eeeps/video/upload/c_crop,g_south,ar_16:9/w_400,q_auto,f_auto,e_loop,fl_animated/v1518443847/DSC_7093-Edit.gif&quot; class=&quot;wide&quot;&gt;
	&lt;span data-src=&quot;https://res.cloudinary.com/eeeps/video/upload/c_crop,g_south,ar_16:9/w_1920,q_auto,f_auto/v1518443847/DSC_7093-Edit.mp4&quot;
	      data-width=&quot;1920&quot; data-height=&quot;1080&quot; data-type=&quot;video/mp4&quot;&gt;&lt;/span&gt;
	&lt;span data-src=&quot;https://res.cloudinary.com/eeeps/video/upload/c_crop,g_south,ar_16:9/w_960,q_auto,f_auto/v1518443847/DSC_7093-Edit.mp4&quot;
	      data-width=&quot;960&quot; data-height=&quot;540&quot; data-type=&quot;video/mp4&quot;&gt;&lt;/span&gt;
	&lt;span data-src=&quot;https://res.cloudinary.com/eeeps/video/upload/c_crop,g_south,ar_16:9/w_480,q_auto,f_auto/v1518443847/DSC_7093-Edit.mp4&quot;
	      data-width=&quot;480&quot; data-height=&quot;270&quot; data-type=&quot;video/mp4&quot;&gt;&lt;/span&gt;
	&lt;span data-src=&quot;https://res.cloudinary.com/eeeps/video/upload/c_crop,g_south,ar_16:9/w_240,q_auto,f_auto/v1518443847/DSC_7093-Edit.mp4&quot;
	      data-width=&quot;240&quot; data-height=&quot;135&quot; data-type=&quot;video/mp4&quot;&gt;&lt;/span&gt;
	&lt;span data-src=&quot;https://res.cloudinary.com/eeeps/video/upload/c_crop,g_south,ar_16:9/w_1920,q_auto,f_auto/v1518443847/DSC_7093-Edit.ogv&quot;
	      data-width=&quot;1920&quot; data-height=&quot;1080&quot; data-type=&quot;video/ogg&quot;&gt;&lt;/span&gt;
	&lt;span data-src=&quot;https://res.cloudinary.com/eeeps/video/upload/c_crop,g_south,ar_16:9/w_960,q_auto,f_auto/v1518443847/DSC_7093-Edit.ogv&quot;
	      data-width=&quot;960&quot; data-height=&quot;540&quot; data-type=&quot;video/ogg&quot;&gt;&lt;/span&gt;
	&lt;span data-src=&quot;https://res.cloudinary.com/eeeps/video/upload/c_crop,g_south,ar_16:9/w_480,q_auto,f_auto/v1518443847/DSC_7093-Edit.ogv&quot;
	      data-width=&quot;480&quot; data-height=&quot;270&quot; data-type=&quot;video/ogg&quot;&gt;&lt;/span&gt;
	&lt;span data-src=&quot;https://res.cloudinary.com/eeeps/video/upload/c_crop,g_south,ar_16:9/w_240,q_auto,f_auto/v1518443847/DSC_7093-Edit.ogv&quot;
	      data-width=&quot;240&quot; data-height=&quot;135&quot; data-type=&quot;video/ogg&quot;&gt;&lt;/span&gt;
	A shimmery reflection waving back.
&lt;/a&gt;

	</content>
</entry>



<entry>
	<title>July 20, 2017</title>
	<link rel="alternate" href="https://ericportis.com/shorts/2017/07-20-0825/" />
	<id>tag:ericportis.com,2017-07-20:/shorts/2017/07-20-0825/</id>
	<updated>2017-07-20T08:25:00-07:00</updated>
	<content type="html">
	    &lt;p&gt;
This morning, &lt;a href=&quot;https://adactio.com/journal/12585&quot;&gt;Jeremy Keith blogged about container queries&lt;/a&gt;. He provides much to chew on, but right now I just want to tackle this paragraph, because it seemed as good of an excuse as any to push an experiment out the door:
&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;
&lt;a href=&quot;https://www.w3.org/TR/css-variables/&quot;&gt;Custom properties&lt;/a&gt; feel like they could be wrangled to help with the container query problem. While it’s easy to think of custom properties as being like Sass variables, they’re much more powerful than that—the fact they can be a real-time bridge between JavaScript and CSS makes them scriptable. Alas, custom properties can’t be used in media queries but maybe some &lt;a href=&quot;http://lea.verou.me/&quot;&gt;clever person&lt;/a&gt; can figure out a way to get the effect of container queries without a query-like syntax.
&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;
I’d been thinking along the same lines; here’s my best shot at a custom-properties-based interface for container/element queries: &lt;a href=&quot;https://github.com/eeeps/presto-points&quot;&gt;presto-points&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
I’ve got draft post about this experiment titled &lt;cite&gt;Two Good Ideas and a Bad Idea About Container Queries&lt;/cite&gt;. Spoiler alert, the bad idea is the custom properties interface. The syntax hits a nice little 80/20 point, as far as what I think most people want to do &lt;em&gt;right now,&lt;/em&gt; and might provide a not-terrible stopgap while we wait for something better. But it isn’t a &lt;a href=&quot;https://github.com/ResponsiveImagesCG/cq-usecases/issues/43&quot;&gt;sufficiently flexible foundation for the future&lt;/a&gt;. For that, I think, we really do want a true query-like syntax.
&lt;/p&gt;

&lt;p&gt;More later and hopefully soon.&lt;/p&gt;

	</content>
</entry>



<entry>
	<title>May 16, 2017</title>
	<link rel="alternate" href="https://ericportis.com/shorts/2017/05-16-0645/" />
	<id>tag:ericportis.com,2017-05-16:/shorts/2017/05-16-0645/</id>
	<updated>2017-05-16T10:31:00-07:00</updated>
	<content type="html">
	    &lt;h2 class=&quot;little-h fit-to-p-width&quot;&gt;
Re: Jonathan Snook’s &lt;a href=&quot;https://snook.ca/archives/html_and_css/container-grids&quot;&gt;&lt;cite&gt;Container Grids&lt;/cite&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;First of all, huh! I guess Grid tracks do act sorta like pseudo &lt;code&gt;&lt;a href=&quot;https://drafts.csswg.org/css-contain/#propdef-contain&quot;&gt;contain&lt;/a&gt;: size layout style;&lt;/code&gt; (but not &lt;code&gt;paint&lt;/code&gt;) elements.&lt;/p&gt;

&lt;p&gt;You’d probably have to outlaw &lt;code&gt;min-content&lt;/code&gt; and &lt;code&gt;max-content&lt;/code&gt; grid track sizes, when using grid/container queries. &lt;code&gt;minmax()&lt;/code&gt; too? Sometimes? That’d be a big loss.&lt;/p&gt;

&lt;p&gt;What are the pros of tying container queries to a layout system that &lt;code&gt;contain&lt;/code&gt;s by default, rather than allowing arbitrary opt-in containment? I can think of a few:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;People are already using Grid but nobody is using &lt;code&gt;contain&lt;/code&gt;, yet.&lt;/li&gt;
	&lt;li&gt;Simpler for implementors. Far fewer edge cases.&lt;/li&gt;
	&lt;li&gt;Simpler for authors? You don’t have to think about where or when to sprinkle magic &lt;code&gt;contain&lt;/code&gt; dust – this just becomes another cool feature of Grid.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Cons:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Less flexible, of course. You can only use Container/Element Queries when you’re also using Grid.&lt;/li&gt;
	&lt;li&gt;One of the primary use cases for Element/Container Queries is modular drop-anywhere “widgets”. Jonathan’s proposed syntax requires me to put some of the information about a widget’s styles (namely, its breakpoints) on its Grid container. So, while we’ve moved our breakpoints much closer to the content – from breakpoints-on-the-viewport to breakpoints-on-the-grid-track – we’re still designing from the layout &lt;em&gt;in&lt;/em&gt;, rather than from modular, independent bits of content, &lt;em&gt;out&lt;/em&gt;. Boo.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Lastly, a criticism of the syntax:&lt;/p&gt;

&lt;blockquote&gt;
	&lt;p&gt;I’m imagining a syntax similar to responsive images that allows you to specify the minimum width for which the grid would apply.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;.grid {
	display: grid;
	grid-template-columns: 
	200px 300px 600w, 
	200px 200px 1fr 900w;
}&lt;/code&gt;&lt;/pre&gt;

&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;w&lt;/code&gt; descriptors in &lt;code&gt;srcset&lt;/code&gt; describe the intrinsic width of the external image resource, but do not instruct the browser to do anything. The ones above are lil’ media queries – micro-if/then statements about exactly what to do under what circumstances. This proposal would be better if it just used media-query-like syntax (that queries the grid container, &lt;em&gt;not&lt;/em&gt; the whole viewport):&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;.grid {
	display: grid;
	grid-template-columns: 
		(min-width: 600px) 200px 300px, 
		(min-width: 900px) 200px 200px 1fr;
}&lt;/code&gt;&lt;/pre&gt;




	</content>
</entry>



<entry>
	<title>October 9, 2015</title>
	<link rel="alternate" href="https://ericportis.com/shorts/2015/10-09-2235/" />
	<id>tag:ericportis.com,2015-10-09:/shorts/2015/10-09-2235/</id>
	<updated>2015-10-09T19:09:00-07:00</updated>
	<content type="html">
	    &lt;p&gt;Fiddling with &lt;a href=&quot;https://github.com/Heydon/cel-animation&quot;&gt;this&lt;/a&gt;.&lt;/p&gt;

&lt;object type=&quot;image/svg+xml&quot; data=&quot;/assets/2015-10-01-2235/farty.svg&quot; role=&quot;img&quot; aria-label=&quot;farty cyclist animation&quot; class=&quot;wide&quot;&gt;&lt;/object&gt;
	</content>
</entry>



<entry>
	<title>May 15, 2015</title>
	<link rel="alternate" href="https://ericportis.com/shorts/2015/05-15-1505/" />
	<id>tag:ericportis.com,2015-05-15:/shorts/2015/05-15-1505/</id>
	<updated>2015-05-15T14:05:00-07:00</updated>
	<content type="html">
	    &lt;blockquote&gt;
&lt;p&gt;For oft, when on my couch I lie&lt;br /&gt;
In vacant or in pensive mood,&lt;br /&gt;
They flash upon that inward eye&lt;br /&gt;
Which is the bliss of solitude&lt;/p&gt;
&lt;/blockquote&gt;

&lt;img id=&apos;IMG_1819&apos; 
     src=&apos;/assets/2015-05-15-1505/IMG_1819/quarter.jpg&apos; 
     width=&apos;3264&apos; 
     height=&apos;2448&apos; 
     srcset=&apos;/assets/2015-05-15-1505/IMG_1819/quarter.jpg 816w, /assets/2015-05-15-1505/IMG_1819.jpg 3264w, /assets/2015-05-15-1505/IMG_1819/half.jpg 1632w, /assets/2015-05-15-1505/IMG_1819/8th.jpg 408w, /assets/2015-05-15-1505/IMG_1819/16th.jpg 204w&apos;
      alt class=&quot;wide&quot; alt=&quot;A solitary cloud.&quot; /&gt;


	</content>
</entry>



<entry>
	<title>May 15, 2015</title>
	<link rel="alternate" href="https://ericportis.com/shorts/2015/05-15-1208/" />
	<id>tag:ericportis.com,2015-05-15:/shorts/2015/05-15-1208/</id>
	<updated>2015-05-15T11:08:00-07:00</updated>
	<content type="html">
	    &lt;p&gt;“…floats on high o’er vales and hills…”&lt;/p&gt;
&lt;img id=&apos;DSC_6965&apos; 
     src=&apos;/assets/2015-05-15-1208/DSC_6965/8th.jpg&apos; 
     width=&apos;4393&apos; 
     height=&apos;3072&apos; 
     srcset=&apos;/assets/2015-05-15-1208/DSC_6965/8th.jpg 549w, /assets/2015-05-15-1208/DSC_6965.jpg 4393w, /assets/2015-05-15-1208/DSC_6965/half.jpg 2197w, /assets/2015-05-15-1208/DSC_6965/quarter.jpg 1098w, /assets/2015-05-15-1208/DSC_6965/16th.jpg 275w, /assets/2015-05-15-1208/DSC_6965/32nd.jpg 137w&apos;
      alt class=&quot;wide&quot; alt=&quot;A solitary cloud, dancing with daffodils.&quot; /&gt;


	</content>
</entry>



<entry>
	<title>May 3, 2015</title>
	<link rel="alternate" href="https://ericportis.com/shorts/2015/05-03-1454/" />
	<id>tag:ericportis.com,2015-05-03:/shorts/2015/05-03-1454/</id>
	<updated>2015-05-03T13:54:00-07:00</updated>
	<content type="html">
	    &lt;p&gt;&lt;cite&gt;Mom Smelling Aunt, 2012&lt;/cite&gt;&lt;/p&gt;
&lt;img id=&apos;DSC_2108&apos; 
     src=&apos;/assets/2015-05-03-1454/DSC_2108/8th.jpg&apos; 
     width=&apos;4608&apos; 
     height=&apos;3072&apos; 
     srcset=&apos;/assets/2015-05-03-1454/DSC_2108/8th.jpg 576w, /assets/2015-05-03-1454/DSC_2108.jpg 4608w, /assets/2015-05-03-1454/DSC_2108/half.jpg 2304w, /assets/2015-05-03-1454/DSC_2108/quarter.jpg 1152w, /assets/2015-05-03-1454/DSC_2108/16th.jpg 288w, /assets/2015-05-03-1454/DSC_2108/32nd.jpg 144w&apos;
      alt class=&quot;wide&quot; /&gt;





	</content>
</entry>



<entry>
	<title>May 1, 2015</title>
	<link rel="alternate" href="https://ericportis.com/shorts/2015/05-01-1530/" />
	<id>tag:ericportis.com,2015-05-01:/shorts/2015/05-01-1530/</id>
	<updated>2015-05-01T14:30:00-07:00</updated>
	<content type="html">
	    &lt;img id=&apos;DSC_3818&apos; 
     src=&apos;/assets/2015-05-01-1530/DSC_3818/quarter.jpg&apos; 
     width=&apos;2539&apos; 
     height=&apos;1693&apos; 
     srcset=&apos;/assets/2015-05-01-1530/DSC_3818/quarter.jpg 635w, /assets/2015-05-01-1530/DSC_3818.jpg 2539w, /assets/2015-05-01-1530/DSC_3818/half.jpg 1270w, /assets/2015-05-01-1530/DSC_3818/8th.jpg 317w, /assets/2015-05-01-1530/DSC_3818/16th.jpg 159w&apos;
      class=&quot;wide&quot; alt=&quot;An ice rainbow in the clouds at dusk&quot; /&gt;




	</content>
</entry>



</feed>
