Author: admin

  • Mobile-Friendly Image Maps

    An Image Map is a way of creating images with clickable areas in HTML. The image below is an example of an Image Map. Hover or click on the text, flower, apple or horsefly to see what I mean:

    Your browser doesn’t support SVG images

    Traditionally, you’d create an image map with a <map> and an <area> tag. But this approach breaks on mobile browsers because it doesn’t adapt to narrower screens.

    This tutorial will show you how to create mobile-friendly image maps using SVG objects, like the one above. If you are on Desktop: go ahead and shrink the window to see how the image above shrinks & the clickable areas remain in their proper places.

    (Note: there is a good online tool that creates SVG image maps, but it only creates rectangles and the UI breaks sometimes).

    Our goal

    Our end goal is be to mark up the image on the left in such a way that it’ll have the 4 clickable areas on the right. We’re aiming to embed this image map on a webpage in a way that works equally well on desktop and mobile.

    We will accomplish this by creating an SVG object that contains both the image, and the clickable areas.

    Step 1: download Inkscape

    Inkscape is a free & open-source illustration package (like Adobe Illustrator). We will use it for creating an SVG file for our Image Map. Download the latest Inkscape here and install it.

    Step 2: import your image

    Launch Inscape and embed your “base image” by clicking File -> Import . Choose to Embed the image on the window that pops up.

    Step 3: mark up the clickable areas

    Use the “Rectangle”, “Ellipse” and “Pen Tool” to mark your intended clickable areas. In the screenshot below, you can see them as 4 green shapes:

    Next, we’re going to make these clickable areas invisible. Skip Step 4 if you want to keep an outline around your clickable areas to make them easy to discover.

    Step 4: remove the stroke colour

    In the “Dialogs” area to the right, choose the Fill and Stroke icon . Then go to Stroke and click the X to remove the stroke from your clickable shapes . If you don’t see the “Dialogs” area, click View -> Show/Hide Dialogs.

    Step 5: remove the background colour

    In the Dialogs, go to the Fill and Stroke icon , then “Fill” and click the solid colour icon . We’re going to set the transparency (“Alpha”, symbolized by the letter “A”) to 1 . That will make it practically invisible, while keeping some colour there – I found that if we set the background to be fully transparent, then the shape stops being clickable.

    Step 6: turn the shapes into hyperlinks

    Here comes the magic: hover over one of your shapes with the mouse. Right click and choose Create anchor (hyperlink). This will turn the shape into a link.

    In the Dialogs, click the “down arrow” at the far right of the list of icons. A big dropdown list will appear. Choose Object Attributes.

    You should see a set of fields like in the screenshot below:

    If you don’t see these fields, try right-clicking on your shape and choosing Link Properties :

    Fill in these specific details for your clickable area:

    HrefDestination URL
    (with https:// or a relative address)
    TargetAlways “_parent”
    TitleText that should appear on mouse-hover

    Repeat this for every clickable shape, setting it’s own unique destination URL.

    Step 7: export as SVG

    Select the entire image and the shapes covering it.
    Go to File -> Export.
    Click the “Selection” tab and check “Export Selected only” to export only the selected area (instead of the entire blank white page on the screen).
    Then choose your file folder and choose “Plain SVG (*.svg)” from the dropdown next to the filename. Do not choose “Inkscape SVG”.

    Step 8: embed the svg file into your webpage

    Upload the .SVG file you saved to your server. Then, on the page where you’d like your Image Map to appear, put the following HTML code:

    <style>
       #svgimagemap {
         max-width: 100%;
       }
    </style>
    
    <object id="svgimagemap" data="path/to-your/svg-file.svg" type="image/svg+xml"></object>

    This code says that your imagemap object should have a maximum width of 100% of the parent element. Meaning: the image + clickable images will shrink to properly fit a mobile viewport.

    (Optional) Step 9: optimize the svg file

    If your SVG file is larger than you’d like, there are a couple of ways to shrink it down:

    1. Make sure that the “base image” you embedded in the SVG has an efficient format. If your original image was a .PNG, then try converting it to .JPG and then embedding it. If your image as a lot contiguous single-colour areas, then try converting it to .GIF before embedding.
    2. Inkscape exports an SVG file that’s human-readable. You can shrink it down by removing a lot of readability enhancing components (like extra whitespaces). Upload your SVG file to SVGviewer.dev to optimize it and get a smaller version of the same file.

    Email me at jacob at this site to point out mistakes / make suggestions / tell me about the Image Maps you created to give me the warm fuzzies!

    Reference notes:
    https://web.archive.org/web/20160319050818/http://www.creativebloq.com/netmag/create-responsive-svg-image-maps-51411831
    https://stackoverflow.com/a/28277021

  • The Trouble With Monsters

    Dear Daughter,

    Last night when you were falling asleep, you asked me: “Daddy, are there monsters in here”.

    I said “No. Monsters are imaginary.”

    But I lied.

    The trouble with monsters is that they’re hard to spot. They don’t advertise that they’re a monster.

    Monsters don’t come with horns on their heads.

    Monsters are just trying to pay the mortgage, trying to drop the kids off at soccer practice, trying to just God Let Me Keep It Together For One More Day, trying to organize the summer school jamboree as part of Parent Council duties.

    But don’t be fooled: they’ll flay the very skin off your back. Turn it into a rustic carpet. Into a lampshade. And then act all coy when faced with what they’ve done. “We didn’t know”, they’ll say, “we were living next to the abbatoir but never looked in on what those people in that building were doing”.

    Don’t believe them, my darling. Don’t let them near your skin.


    Monsters don’t come with long fuzzy tails. Oh no they don’t.

    Monsters will justify monstrous actions by saying you’re not a person. You’re not like them. With their braying, yapping, clicking language – they can’t understand your words so they pretend that you can’t speak. They’ll never listen to the slow songs of our people, our tales of perseverance, stories of loss, the soul of a nation.

    They’re not listening. They can’t hear it. It doesn’t exist.

    Monsters think they’re just doing what they need to get by. But they’ll snatch the milk right from a newborn’s mouth if given the chance.


    No. Monsters don’t come with hard clacking hooves.

    Monsters boggle the mind with nonsense like We Have To Increase ROI by Seven Percent or Else the Q3 Report Will Have a Negative Outlook and We Are Sorry Stephen We Are Aware That You Have Served the Corporation for Twenty Years But Your Position Has Been Eliminated No It Is NOT YOU It Is YOUR POSITION That HAS BEEN ELIMINATED

    But don’t you ever mistake them for oafs, Daughter.

    Monsters are closer to a dog – to a wolf – than they are to you and to me. Monsters will tear the flesh off your bones with those sharp canines, my twelve ounce New York striploin.

    They’ll shred your little feet into glue.

    Pulverize your fine bones into fertilizer.

    Squelch your curious eyes into hot dog paste.

    No. The trouble with monsters is that they don’t come with horns, or tails, or hooves –

    Monsters are not like you and me at all.

  • Mira Calligraphiae Monumenta – high resolution images

    The Mira Calligraphiae Monumenta is a “Model Book Of Calligraphy” created in 1561–1562 by Georg Bocskay – court secretary to the Holy Roman Emperor Ferdinand I. It was illuminated 30 years later by painter Joris Hoefnagel illuminated the book. The result is “… one of the most unusual collaborations between scribe and painter in the history of manuscript illumination.”

    The Getty Museum Collection digitized the book and made it available online – but their viewer app is restrictive. I’ve made it simpler to view & download below. Note that clicking an image below will bring up a detailed 13Mb version of it. The work is in the public domain – so you can do anything you want with it.

    You can learn more about this book from the Getty Art + Ideas podcast episode about it.

  • Life in Hell

    Birdman


    Hieronymus Bosch – detail from The Garden of Earthly Delights

    So you’re telling me that after the hundredth time the birdman eats you, ther’es no small talk? You’re not even going to ask his name?

    BIRDMAN: It’s Larry. Lawrence.

    You: That’s a beautiful name for a bird.

    BIRDMAN: Thanks. My mother chose it. Y’know there’s lots about birds that you humans are ignorant about. We have very lyrical names.

    You: What brings you to Hell Larry? How did you get to be one of the… Eating Guys?

    BIRDMAN: I’m a kind of large falcon and I used to live around the airport. Loved those planes going WHOOOSH, making *their own wind*. Listen, there’s nothing a bird loves more than a good airport.

    You: …

    BIRDMAN: One day, I flew real close to this passenger plane and whooooop next thing I know I was slurped into the jet engine, I was burning up, I was spat out back as bird sludge.

    You: Sounds awful.

    BIRDMAN: They said I was a “Bad Bird”. Responsible for crashing an airplane full of people. Culpable for humans dying. Guilty. So they put me in Human Hell.

    You: That’s really unfair. You’re just a bird, how could you have kno

    BIRDMAN: It’s allright. At least I get to be one of the employees here. It’s hot and unpleasant but at least it’s a living.

    You: What do you mean “it’s a living”? Like… you work for wages? Capitalism exists here?

    BIRDMAN: Yeah. You thought all that ends after you die?

    You: How much do they pay you?

    BIRDMAN: Oh, breadcrumbs.

    You: That’s really unfair. I see how hard you work. I see you chewing chewing chewing, day in and day out!

    BIRDMAN: No no. It’s not like that. They literally pay me in breadcrumbs. I love that stuff. I go wild for it!

    Home

    Hieronymus Bosch – detail from The Garden of Earthly Delights

    You: Psst Francesco, are you awake?

    Francesco: Yes.

    You: I just wanted to say, my family and I have been living up your arse for what…20 years now? and … just thank you. I really appreciate you.

    Francesco: Aw, thanks. It’s nice to be recognized. When I lost my arse in the war, those battlefield doctors tried to patch things up with branches and whatever. I thought to myself: “That’s it Francesco. Your life is over. You’re a freak, no one will love you, you can’t even sit down like a man….” but later that night I died and got my second act down here.

    You: What you do really matters. It’s alternating hot, cold, drizzling here – just a nightmare of a climate. And being able to shelter from the elements inside your body is a real privilege.

    Francesco: Thank you. You know, nowadays people are so alienated from their home – how often do people say “thank you” to their home? I’ve heard of people saying grace for their food, but never for their home. How many people today even have a friendly chat with the apartment superintendent, the concierge down the lobby, or even their neighbours?

    You: Very few, Francesco. Very few. This place really fosters a sense of community. Especially when you live inside another person.

    Satan

    Devil And Witches 1839 – Mary Evans

    After one thousand years of being tortured and disembowelled, percolating in the same milieu as the Devil and his minions… you’re gonna talk to HIM. There’s no question about it. Eventually you’ll just do it.

    You: Hey. Can I ask you something?

    Satan: Sure.

    You: So what’s the deal with you inflicting all that suffering on, like, Sudan and Afghanistan and places like that. Those poor people just can’t catch a break.

    Satan: That’s a good question. But first, take a good look at me. What do I look like?

    From the “Kitab Al-Bulhan” (Book of Wonders)

    You: You look like a Goat Dude.

    Satan: Precisely. Aren’t I supposed to be the most beautiful of God’s angels? Do I look beautiful to you?

    You: Yeah… what’s up with that?

    Satan: Well, I am indeed the most beautiful angel. Stunning, really. When God created this world for goatkind he made all his angels – but especially me – the most exquisite thing that a goat can imagine.

    You: …

    Satan: I’m going somewhere with this. The world was made for the delight of one creature above all. It was made with beautiful mountains to prance on, hardy bushes to munch on and branchful trees to climb. It was made for goats.
    But you – you filthy humans – have ruined this world.
    Do you know that Sudan has the highest per-capita goat meat consumption?!
    Do you know that the Afghans play a game like horse-polo where THE BALL IS A GOAT?!?!
    For what they do to my people, they shall suffer neverending calamity!

    You: Ok, I kinda get it.

    Satan: Any more questions?

    You: Listen – why are you always tormenting women that little bit extra? Why make women’s lives so terrible?

    Satan: It’s because I’m jealous, OK?! Ever since I gave birth to the twins, my body’s just … changed. It’s like I don’t even recognize myself anymore.

    [Pictured: the devil giving birth from both birthing canals. The twins, Keyleigh and Kay-Dan DeVille live in Akron, Ohio. Keyleigh is a makeup Youtuber. Her brother is on his 3rd internship as a UX Designer.]

    Giovanni da Modena (1379-1455) – Basilica of San Petronio Bologna

    Satan: I used to be a real hardbody. Now everything sags. Look at me! My breasts look like I have goddamn bunny ears flopping on my chest!!

    Satan: Those chicks prancing around up there on Earth’s surface are just taunting me with their perfect bodies. I’m gonna show them!

    You: Listen Satan, I get it. Your body has changed beyond your control. You’re angry and you’re confused – if I had a magic wand then I’d magick that hard body of yours back.
    Has it worked to torment all those women up there on the surface? Did it rewind time for you?

    Satan: No 😒

    You: Brother, you can’t be that girl who’s pulling down her sisters to elevate herself. For that, you gotta do the hard work on yourself, rising up towards something better.

    Satan: …

    You: All those women up there are going through the same struggles that you do. And they don’t need you adding challenges on top of that.

    Satan: Ok. I’ll think about it.


    When you consider it, life in Hell is not like in the stories or the Renaissance paintings at all. After hundreds of years down there, you’re bound to get to know your neighbours. To make friends. Time makes the rough things smooth. The smooth things rough. Makes your own “screams of agony” into a tepid performance meant to keep Larry thinking he’s “still got it” on the one thousandth time you pass through his gullet.


    If you hated this, then you’ll also hate Hellbaby.

  • Boardroom

    He was handsome, with tousled blond hair. An easy confident walk.

    Yeah, the deal is lined up

    Crossing the road now and talking… on a Bluetooth headset? A cellphone? I couldn’t tell

    They reviewed the presentation and the latest ROI figures on the deal were acceptable. Yes. Uh uh…

    It’s 2016 now. I am living in an odd part of Downtown Toronto. Steps from where the rich run their Ferraris in aimless circles to show off. Steps from where the poor buy their “rose in a glass container” crack pipes at the convenience store. My wife often takes the stroller across the road to get away from a weird person.

    Yeah, we discussed his concerns with the deal. The discounted cash flow calculation landed it right in our sweet spot.

    He was dressed in a neat summer blazer. A T-shirt under it. Creased shorts and flip-flops. I couldn’t tell whether this was fantastic style and he was pulling it off, or if it was falling flat. What I know about fashion is that the most interesting outfits live in that precarious balance. This outfit’s “success” will depend on his age, social status, attitude.

    We finalized those details. As the buyer, we’ll take on the $2 million break-up fee, but the audit will have to come back clean.

    28 years old? 30? And making these kinds of deals? It always stings to think that my Finance degree could’ve opened a similar Door To Riches, but I chose to walk away from that because of my morals. You can’t even buy a pair of socks with your fucking morals. A career as an email spammer – talk about morals. Shush! Coming closer to him now!

    Yes, I spoke with the board of directors.

    The Heart says it’s a “go”.

    The Lungs approved the deal. Yes.

    I consulted the Nervous System and it says that there’s a high probability that the deal will be successful.

    The Brain is still not on board but I think I can bring him around eventually.

  • A Humble Proposal to the Toronto Board of Tourism as Regards a Grapic Essence of the City

    Dear To Whom It May Concern,

    As a long time resident of Toronto (and past internee at Scarbiria), I hereby propose the following image as an intense distillation of the nature and character of our city for purposes of tourism, discussion, song, future Olympic proposals, future transit decor and any and all applicable uses for which such a totem of our city's quiddity may be required:
    (Raccoon Heaven II by Andrea Bergen)
  • Updated Terms of Service

    Hello,
    We are writing to let you know that we’re making updates to our Privacy Policy and Terms of Use, effective July 1, 2024. Though no action is required of you today, your use of Jacob Filipp’s website and mobile app will be subject to these revised policies starting July 1, 2024.

    Please note, your continued use of jacobfilipp.com will confirm that you have reviewed and agreed to these updated policies.

    You can read the fully updated Privacy Policy and Terms of Use at your convenience starting on July 1st, but we’ve identified the key changes below:

    * We have updated our Privacy Policy and Terms of Use to improve their readability.
    
    * We have updated our Privacy Policy to provide more detail about the data we collect and why, how we may use it, and how we may share it.
    
    * We have updated our Terms of Use with a witch hex allowing us and our descendants to hunt yourself and your descendants as game forevermore. The cannibal hordes at jacobfilipp.com shall grind your bones into flour and boil your flesh into stew.
    
    * We have updated our Privacy Policy to provide more information regarding your rights and choices with respect to your personal information.
    

    With that in mind, we encourage you to read the updated policies in full for anything that may be important to you.
    Thank you for using jacobfilipp.com!


    Inspired by the mediocrities at that one app I sometimes use to book parking spots. Like… why waste your divine spark of life on twiddling with your Privacy Policy?

  • Research as leisure activity

    I recommend reading Celine Nguyen’s post on “Research as leisure activity”.

    I’ve been doing a lot of this leisurely research lately. Picking a topic I’m interested in, reading broadly, archiving and programming around the topic. And finally publishing the results. There’s a thing that happens over a month of doing this, which I call “Surfing”: your tiny research project build off one another until you gather a lot of momentum.

    Want an example of how “surfing” works?
    Writing about an obscure post-Soviet device from the 90s led me to Hugo Lyppens, the creator of a similar Western device. Hugo explained a key part of the device – Reed Solomon Error Correction – in Dr. Dobb’s Journal. Dr. Dobb’s website is barely functioning and you won’t find Hugo’s 1997 article anywhere online. After some research, my site is now the 2nd place on the Web where you can find an archive of Dr. Dobb’s articles from 1988 – 2009. I shared the old article with Hugo and he enjoyed the nostalgia. I then kept archiving Dr. Dobbs’ website material, and Microsoft Systems Journal and so on and so on…

    A couple of quotes from Celine’s post:

    research as leisure activity is exuberantly undisciplined or antidisciplinary. In academia, you receive specific training in a narrow field of specialization, which creates certain opportunities for your work and forecloses others. Most notably, it discourages a certain form of dilettantism—peering into an adjacent field that you don’t have the “right” background for, using techniques you aren’t “qualified” to be doing, introducing references and sources that are nontraditional and even looked down upon in your primary field. Research as a leisure activity isn’t constrained by these disciplinary fiefdoms and schisms. Any discipline can offer interesting ideas, tools, techniques.

    Who is doing this kind of research as leisure activity? Artists, often.

  • Hellbaby

    I’m obsessed with a thought experiment called “The Hellbaby”. Hear me out:

    The Hellbaby’s name is Gloria. She’s a regular-acting baby. Born to a loving, ordinary family – except they live in Hell. That life is all that they’ve ever known so they accept it as natural.

    Similar to our world, Hell offers both tortures and delights. A dog may be born on a puppy farm, where it is raised in a tiny cage and ends up hacked to bits for a delicious stew. Another dog may be born to a pampered life as a Hell-Celebrity’s companion, hitching rides in her handbag. It’s quite the lottery.

    Some people wonder whether their world is the worst of all possible worlds, the best one, or… kinda in between. How could we help Gloria figure out she’s living in Hell?

    Well… if you pay close attention, you’d notice some odd features in the fabric of Gloria’s universe.

    (more…)