Oddly a similar aphorism is true of writing programs, and refactoring.
Oddly a similar aphorism is true of writing programs, and refactoring.
Great post from the Etsy technical blog, explaining how to create responsive layouts for the limited CSS support of common e-mail clients.
Tutorial: Applying a Stroke BEHIND Type in Adobe Illustrator
Let me preface this tutorial by saying that — without a shadow of a doubt — this is my number one most favourite, time-saving, map-making Adobe Illustrator trick ever.
When making transit maps, it’s preferable — for both aesthetics and readability — to not have any labels overlay a route line or other elements. However, sometimes it’s simply unavoidable, as in the detail of my Boston MBTA map redesign at the top of the image above (circled in blue). When you absolutely have to overlay type over another element, it’s a good idea to separate it from that element with a stroke (or “keyline”) around the type that’s the same colour as your map’s background (often white with transit maps).
"Well, that’s easy," I hear you say, "I’ll just duplicate the text, put the copy behind the original and apply a stroke to that duplicate!"
That’s well and good for isolated examples, but what if you’ve got lots of text that you need to do this to? Or what if you make a typo in the label? Using this method, you’d have to correct it twice - once for each duplicate of the label.
There’s a better way to do it: you just need to know one little trick.
STEP ONE above shows a typical text label and Illustrator’s Appearance palette (Window menu > Appearance or Shift-F6). Note that the text is made up of a black fill with no stroke: the standard appearance for text.
In STEP TWO, I’ve applied a 2-point magenta stroke to the text (You’d probably want to use the same stroke colour as the background of your map; I’ve just used magenta to make the effect easier to see). The stroke sits on top of the fill in the stacking order, and — try as you might — can’t be demoted to sit underneath the fill, where we want it to be: note how the visibility icons for each are greyed out, meaning they can’t be moved. Strangely, the stacking order of text fills and strokes cannot be changed in Illustrator.
(If you’ve ever tried to add a stroke to a text object in Illustrator before, this is where you’ve probably given up in disgust.)
So, here’s the good bit.
In STEP THREE, I’ve drawn a rectangle and given it the fill and stroke that we want the text to eventually have: a black fill and a 2-point magenta stroke. I also like to give my stroke corners a round join — it softens the stroke a little and generally looks better than a mitre join.
Unlike type objects, the stacking order for normal objects or paths is editable, so — while the rectangle is selected — drag the stroke below the path in the Appearance palette. The stroke will now sit behind the fill on the actual rectangle.
STEP FOUR: Open the Graphic Styles palette (Window menu > Graphic Styles or Shift-F5) and drag the rectangle into the palette. You’ve just made a graphic style out of the attributes of the rectangle (stacking order included), which you can now apply to other objects with just a couple of clicks. If you like, give it a descriptive name: I’ve called mine “Keylined Type”.
STEP FIVE: Delete the rectangle: it’s done its work. Select the label text, then click on your newly created “Keylined Text” graphic style. The label now has a stroke that sits behind the fill, just where we want it, as STEP SIX shows in the Appearance palette. Even better, the fill and stroke are now fully adjustable and editable — change the colour, stroke width, or even move the stroke back above the fill!
For new labels that need to look the same, you can either duplicate the one you’ve just made, or simply type the label and then apply the graphic style as needed. No more typing text labels twice, just because you need a keyline around it!
P.S. If you like this tip, or any others that I’ve posted under the "tutorial" tag, please feel free to reblog or tweet about it — let’s share the knowledge!
So, I’ve went to all this trouble, and discovered that I’ve basically just reproduced what the Artist/Album and Track/Artist columns do, for the most part. Basically, it’s a pair of macros to help sort Various Artist albums in foobar2000, based on comparing the album artist and track artist.
Mine differ from foobar’s default column in two ways that I can see: using Ω pushes all of the Various Artist albums to the bottom, and using the comparison keeps the Album Artist column out of the title when it’s the same as the Artist.
Artist / Album
$if($stricmp(%album artist%,%artist%),%artist / %album%,Ω / %album%)
Displays ‘Ω / Album Name’ when the Album Artist is different from the Track Artist, otherwise ‘Artist / Album Name’. The Ω character is used because it sorts after Z, so Various Artist albums will appear after the single artist albums (that is, unless you have a lot of music with greek characters).
$if($stricmp(%album artist%,%artist%),%title%,%artist% / %title%)
Displays ‘Track Artist / Title’ when the Album Artist is different, otherwise just ‘Title’.
Using these two columns, you can sort based solely on Track Number and Artist / Album, and have all albums sorted correctly in track order (with all of the Various Artist albums at the very bottom), while still displaying the Track Artist information when it makes sense.
One small pitfall I’ve found: the fields will include whitespace when comparing, including any whitespace after the comma in say, an if statement. So,
$stricmp(%album artist%, %artist%) will only return true if the
%album artist% is the
%artist% with an initial space!
$stricmp(%album artist%,%artist%) is what you’re really after.
Google-fu results: a long rambly rant about Crystal Reports.
The relevant bit: In the main menu, click Database, then Verify Database. After you’ve re-entered any parameters, it will check if any columns have been changed or added, and prompt you accordingly.
I also find Crystal Reports quite frustrating (really? no automatic tables? no distributing? no vertical text alignment?), but I’m not sure it’s any more helpful to bury advice in a giant rant.
I first noticed the problem with Go To Meeting, but I’ve also seen it when using Kayako OnSite, which leads me to believe that it’s more of an OS problem - when you connect to certain clients, the view appears ‘zoomed-in’, and only shows the top-left hand corner of the client’s screen. Messing with resolution doesn’t help.
I did find a ticket on the Go To Meeting website, and this actually contained the solution (although I didn’t believe it at the time, and it was actually the client that ended up figuring it out).
Change the Size of All Items is the culprit, a setting
introduced in Windows 7, and also it seems included in Windows 8 which has been a part of Windows since forever, but has only recently bubbled to a place where typical users will come across it. I changed it to Smaller just in case, but it’s possible that setting it to Medium is also OK. But if it’s set to Larger, then you’ll get the problem I’ve seen.
I just realized that’s what that icon is supposed to be, and what it was supposed to symbolize. You know what I mean.
After all, a funnel doesn’t filter, by function! It slows the rate of flow, it reduces the cross-section, but it doesn’t somehow automagically remove things from the stream.
I’m sure I’m not the only one to think so. After all, that’s why this abomination exists:
Could you imagine creating this in real life? What purpose would it serve? Filter these small things, but oops, we’ll let larger things just out the bottom? Funnel things into the middle, but oops, also spray across the entire area?
That said, creating an alternate filter icon is a little tricky, and I am no professional graphic designer by trade. But surely, something along these lines makes more sense?
I was running into trouble getting Wordpress to upload these lovely themes - it kept claiming that the file size was too large.
Google-fu actually didn’t help much in this case - everything I came across suggested adding lines or creating
php.ini files, none of which seemed to help. Eventually I just stumbled on the setting in the actual Wordpress Network Admin dashboard. More detailed steps:
Perhaps too simple, but I am a relative noob at the Wordpress-ness. It’s possible, too, that others with this problem don’t have access to the Network Admin panel.