Author: Gustav

  • Boom in da Box 3.0 – Black Box Edition

    Boom in da Box 3.0 – Black Box Edition

    This boom box survived for a much longer period of time than the Boom in da box – v1.0 and Chill out box 2011. It was alive and kicking between 2012-2019

    Created from sturdy 13mm plywood paired with 6×9″ JBL speakers this thing was a beast, design inspired by the black boxes in airplanes for some reason. Total operational weight: 20-30kg depending on battery 🙂

    During the years it survived some abuse and a couple of incidents and only needed minor repairs (like a new battery

    Right before midsummer 2019 the lead acid battery died for the second time. This time, instead of fixing it I opted to buy the JBL Boombox since it was: a) available, b) lightweight, c) bluetooth enabled, d) had great sound.

    It took another 3 years to mentally let go of this memory filled beauty, but in 2022 – it was finally time for it to be retired and recycled for real.

    The end.

  • Boom in da box 2.0 – Chill out box

    Boom in da box 2.0 – Chill out box

    Cleaning out old hard drives can mean that sometimes you come across old treasures.

    Back in 2011, for the music festival Peace and Love I wanted to bring my trusty home built “boom-in-da-box” (see previous post). However, the rules for the festival camping stated that no lead-acid batteries were allowed into the area and the “boom-in-da-box” ran on a car battery + 600W car-amplifier.

    To fix this I needed two things:

    1. More energy efficient 12V amplifier.
    2. Smaller speakers.
    3. A box to build in.

    I opted to build the speaker inside of an empty wine box, a “chill out” boom box was born. It lasted the festival, but mono-sound and the hassle of AA’s meant this box eventually died.

    Here’s the pictures from the project, enjoy 🙂

    From this angle it’s difficult to know that this is not an ordinary wine-box.
    Samsung Galaxy S phone hooked up, imagine some sweet 2011 tunes playing in the summer sun 🙂
    Velcro (Hook-and-loop fasteners) to close to bottom of the box, amplifier and battery pack visible. Much more refined than what I remembered 🙂

    That’s it for now – likely there’ll be a post about the other boom boxes if I find any interesting pictures 🙂

  • Boom in da box 1.0

    Boom in da box 1.0

    Below is a first version of the boom in the box, anno 2011.

    It was built to play music outdoors, engineered to be cheap and loud (and with surprisingly high quality if you didn’t max out the poor old Volvo V40 car speakers from 1998).

    This box was active for about 1-2 years and repaired a few times after it had had too much dancing (it fell of bikes more than once, you can see the boxes changing color and style in the pictures).

    Below you can see the boom-in-da-box v.1 in it’s natural habitat, surrounded by loud friends, alcohol and plastic boxes.

    For some reason the amplifier was outside of the box itself, I’m guessing to allow for cooling in the hot Swedish summer sun (April 30th). The smiley-face ventilation on the back apparently wasn’t enough…

    Below is a sound test during the creation of the box.
    Cell phones back in 2011 recorded sound … differently 🙂

    Listen at your own risk, you have been warned!

    More from this category:

  • Fast ads matter blogpost on web.dev


    While few people loves ads, most people don’t mind them and understand that it’s one way to keep the internet open and accessible to as many people as possible. It’s hard to argue against ads that loads fast and don’t interrupt your browsing experience (and respects your privacy).

    There are a couple of ways to finance content you publish online, popular choices include display ads and pay walls. As a user I usually prefer ads over paywalls, as long as the ads are not disturbing my overall experience.

    This is just a short note to link to another blog article about why and a bit of how you can make display ads faster on your website that I wrote together with my colleagues.

    Read it here: Fast ads matter

  • Fog… again

    Fog… again

    I really like fog it seems… Here are some more pictures 🙂

  • Visualizing focal lengths used in photos

    I am currently in the process of (perhaps) buying a new camera. Currently I have a Sony A6000 with one standard zoom lens that has a focal length that goes from 18-50mm (or 24-75mm if you translate to 35mm sensors).

    The cameras I’m looking at currently are full-format cameras, and the lenses for those cameras can get quite expensive – so I’m wondering if I can get away in the beginning just buying a fixed lens for the camera (cheaper).

    The structured approach would of course be to analyze my photos taken with the zoom lens and see which focal length I use the most – since I want to get better at Python I decided that writing a Python script for this was the way forward. The script turned out to be quite short – the only dependency I didn’t already have installed was pillow.

    The programming part

    First we need to see if we can get the focal length easily, searching the spec for suitable EXIF information I found that 41989 is the key with the descriptive name “FocalLengthIn35mmFilm” – let’s try that!

    import PIL.Image
    import matplotlib.pyplot as plt
    FocalLengthIn35mmFilm = 41989
    img = PIL.Image.open("image.JPG")
    exif_data = img._getexif()
    print exif_data[FocalLengthIn35mmFilm]

    It seems to work for most of my images, lets loop through all images in the folder and try it out

    import PIL.Image
    import matplotlib.pyplot as plt
    import glob, os
    for file in glob.glob("./**/*.JPG"):
      FocalLengthIn35mmFilm = 41989
      img = PIL.Image.open("image.JPG")
      exif_data = img._getexif()
      print exif_data[FocalLengthIn35mmFilm]

    This appears to be working for most of my pictures – some images doesn’t contain any FocalLengthIn35mmFilm parameter so I’m skipping those images for now with a try/except and logging to stdout.

    Instead of printing the sizes I need to add it to an array to visualize it with a histogram – check below for finished script.

    Finished script

    import glob, os
    import PIL.Image
    import matplotlib.pyplot as plt
    
    focal_length_35 = []
    FocalLengthIn35mmFilm = 41989
    
    # Go through all JPG-files in all folders 
    for file in glob.glob("./**/*.JPG"):
        img = PIL.Image.open(file)
        exif_data = img._getexif()
        try:
            focal_length_35.append(int(exif_data[FocalLengthIn35mmFilm]))
        except:
            print "ERROR in file %s" % (file)
    # Show histogram
    plt.hist(focal_length_35)
    plt.show()

    Running the script above in a folder with some pictures gave me the following histogram

    It seems that I’m a clear fan of focal length 24mm (at least for the folder I ran this on), something to think about at least. Now I probably need to go through all photos and separate the ones I like the most so I know which focal length I’m most happy with (the above script only gives me quantity, not the quality).

  • Foggy morning

    Foggy morning

    Wonderful morning today, sunshine and some fog.

  • Pixel 2 vs A6000

    Pixel 2 vs A6000

    A comment on my instagram sparked a long running debate in my head – is carrying a real camera worth it?
    I’ve felt that the need for a “real” camera is disappearing more and more with smartphones really stepping up the game.

    The picture in question
    Pixel 2
    ƒ/1.8      1/17s   4.442mm   ISO 1587
    Sony A6000
    ƒ/3,5    1/3s  ISO 3200
  • Relaunching the Blog

    The blog has just moved to a brand new server since the old one had to be “sent to the farm”, stay tuned for updates 🙂

    Since the old blog had so many no-so-interesting and / or outdated blog posts containing a mixed variety of Swedish and English I decided to clear the blog and give it a new consistent lifestyle.

    Hopefully for the better, the future will tell 🙂