bLog

Tech stuff all over. It's not really a Blog.
You'll figure it out, otherwise read the manual.

  • Dynamic variables in posts

      • parentnode.dk

    A manual explaining how to use i:dynamicVariablesPost

  • The Webby Awards praises himmelmekanik.dk as honorably weird

      • parentnode.dk

    Our anti-interactive music site, himmelmekanik.dk, is a 2019 Webby Award honoree. This calls for cake!

  • Cleaning your working directory after updating to parentNode's new asset-builder

      • parentnode.dk

    After you've pulled a project that has been updated to use the new asset-builder, your working directory will contain some unwanted Git residue. Here's how to remove it.

  • Himmelmekanik – The most difficult listening experience?

      • parentnode.dk

    We worked with songwriter Marc Facchini and his team to create an undisturbed listening experience for his new album, Himmelmekanik.

    The result was dubbed by the media as "the simplest and most difficult listening experience".

  • Including the parentNode default skin in your website as a git subtree

      • parentnode.dk

    To use the parentNode default skin, you can include it in your project as a git subtree.

  • Installing the web stack on Ubuntu

      • parentnode.dk

    This will guide you through installing the parentNode web stack on an Ubuntu 18.04 client. The full stack includes Apache 2.4, PHP 7.2, MariaDB 10.2, Redis, Imagick and optionally FFmpeg for JIT video and audio conversion and wkhtmltopdf for PDF generation.

  • Enable a site

      • parentnode.dk

    Let's say you just cloned or downloaded a parentNode project to you local computer, and now you want to see it in your browser. That is what Enabling a site is all about. It means, that you'll make the Apache HTTP server aware of you local code, so it can serve it through your browser on a specific domain, typically only accessible on your local computer.

  • Segment market share statistics, December 2017

      • parentnode.dk

    Desktop browsers are still – but only barely – the most common way of browsing the web, representing approximately 49% of page visits (vs. 60% back in June 2015). Mobile browser numbers are still climbing and mobile/smartphones now represent approximately 46% of the total page visits (up from 35% in 2015), while tablets is stable on about 5%.

  • The Chrome Browser

      • parentnode.dk

    In 2008 Google released the first version of Google Chrome based on Apples WebKit engine. The browser was a remarkable improvement for Windows users which didn't have access to a WebKit browser yet. Since then the WebKit based browsers have become a dominant player on both desktop and mobile devices. In 2013 Chrome switched to a WebKit fork named Blink to allow more freedom for the Chrome development.

  • The Firefox browser

      • parentnode.dk

    Firefox is an open source browser developed by the Mozilla foundation. Firefox is by all means a full feature browser and one of the few browsers with its own rendering engine as more and more producers switch to the WebKit engine.

  • The Safari browser

      • parentnode.dk

    In 2003 Apple released the first version of Safari, using a fork of the KHTML rendering engine they called WebKit. Safari became the default browser of the OS X series and the rendering engine has been adopted by a wide range of browsers since then, most notably Google Chrome uses a WebKit fork called Blink.

  • The Edge browser

      • parentnode.dk

    Microsoft Edge is the successor to the infamous Internet Explorer. It was first released in 2015, with a strong orientation towards web standards. When it first came out it almost parred it's competitors, but since then, possibly due to a very slow adoption, development has slowed down.

  • The Internet Explorer browser

      • parentnode.dk

    Internet Explorer is the default browser for the Windows OS, first released in 1995 to compete with Netscape. During 2002 and 2003 it had a market share of about 95% but the market share declined with the release of Firefox and later Chrome.

  • Installing web stack on Windows 10

      • parentnode.dk

    This will guide you through installing the parentNode web stack on a Windows 10. The full stack includes Apache 2.4, PHP 7.2, MariaDB 10.2, Redis, Imagick, FFMpeg and wkhtmltopdf.

  • SSL certificates with Let's Encrypt

      • parentnode.dk

    Let's Encrypt is free and easy SSL certificates for the almost- masses. Through a few simple commands, you'll have free domain validated SSL certificates.

  • The desktop segment

      • parentnode.dk

    The desktop segment contains modern desktop browsers like Chrome 49+ , Firefox 49+ , Safari 10+ and Edge 13+. The purpose is to be able to target all modern browsers in one segment, to enable using the newest technology, without the need for extensive hacks or polyfills, which impairs performance. (~41%, 2017)

  • The desktop_ie11 segment

      • parentnode.dk

    The desktop_ie11 segment is a compromise to meet IE halfway. As IE11 is still more used than it's replacement, Edge, it could be a candidate for the desktop segment, but it is just not good enough. In some cases the lack of features are not important - in other cases they are vital. Giving it its own segment is the most flexible approach as developers can then individually decide how to group it with other segments. (3%, 2017)

  • The desktop_ie10 segment

      • parentnode.dk

    The desktop_ie10 segment is compromise to meet IE halfway. It hardly makes any sense anymore, but we'll keep it for another round. Giving it its own segment is the most flexible approach as developers can then individually decide how to group it with other segments. (0%, 2017)

  • The desktop_ie9 segment

      • parentnode.dk

    The desktop_ie9 segment is a somewhat sad compromise. Feature wise it does not deserve its own segment and should simply be degraded to desktop_light. Despite a low public market share some large corporations and organizations still use this browser internally and thus it is still occasionally a part of the primary support requirement. Therefore degradation is not a valid approach. Giving it its own segment seemed to be the most flexible approach as developers can then individually decide how to group it with other segments. (1%, 2017)

  • The desktop_light segment

      • parentnode.dk

    The desktop_light segment basically covers all older desktop browsers as far back as the earliest Netscapes and Internet Explorers. It is considered a fallback segment to ensure even old browsers can be supported if so desired. (3%, 2017)

  • The tablet segment

      • parentnode.dk

    The tablet segment contains the most modern tablet browsers like Chrome 49+ , Firefox 49+ and Safari 10+. This covers iOS 9+ and Android 4+. (4%, 2017)

  • The tablet_light segment

      • parentnode.dk

    The tablet_light segment starts with the earliest iPads and Android tablets. It contains tablet OS' like the Android 2.3-4.1 and iOS 3-8. Anything falling below the tablet_light specifications will be indexed as mobile. (1%, 2017)

  • The smartphone segment

      • parentnode.dk

    The smartphone segment includes smartphones with Safari 10+, Chrome 49+, Firefox 49+ or Edge 13. It is advanced browsers but with limited screen sizes and processing power, compared to desktop computers. (37%, 2017)

  • The mobile segment

      • parentnode.dk

    The mobile segment includes mobile- and feature phones released within the past 5 years. They have small screens and limited support for JavaScript and CSS due to limited processing power. (8%, 2017)

  • The mobile_light segment

      • parentnode.dk

    The mobile_light segment includes mobilephones released within the past 15 years. The have very small screens and limited support for CSS and likely no support for JavaScript. (1%, 2017)

  • The tv segment

      • parentnode.dk

    The tv segment covers TVs and console devices with internet access, using the remote control or game pad for navigation and interaction. Like Playstation 3, Nintendo Wii and SMART-TVs. Featurewise this is a very broad segment as the browsers in these devices range from very old NetFront mobile browsers to state of the art WebKit browsers. (0%, 2017)

  • The seo segment

      • parentnode.dk

    The seo segment is a purely semantic segment targeting search engines, content aggregators and screen readers for the visually impaired. This is just minimal and well structured content in HTML - nothing more, nothing less. It's for machines, not for people.

  • The Baidu browser

      • parentnode.dk
  • Getting stated with programming: Taking control of your WordPress site

      • parentnode.dk

    Learning how to program makes a hell of a lot of sense. It's just smart. It actually means that you get to tell computers what to do or show and when to do it. We're gonna need a lot more of that in the very near future as it is much preferable to have machines do the hard work. Learning how to program also means that you get to control the computer and I think that's particularly important given the current, completely uncontrolled and profitdriven, AI development. Honestly, I think it is fucking scary. So please, anyone, feel free to jump on the defence though knowledge wagon :-)

  • The parentNode web stack

      • parentnode.dk
  • Setup Ubuntu Linux production server and install the parentNode web stack

      • parentnode.dk

    This will guide you through installing the parentNode web stack on a clean Ubuntu 18.04 server for production deployment. The full stack includes Apache 2.4, PHP 7.2, MariaDB 10.2, Redis, Imagick, FFmpeg for JIT video and audio conversion and wkhtmltopdf for PDF generation.

  • Modulator is now Templator

      • parentnode.dk

    Modulator has changed name to Templator to better signal what is is all about: Easy templating with copy/paste SEO HTML.

  • Change Git repository origin

      • parentnode.dk

    Your local Git repository origin setting should be updated if you moved to a different Git hosting provider or if you renamed the existing origin repository. Here is how you change the origin.

  • Installing the web stack on Mac OS

      • parentnode.dk

    This will guide you through installing the parentNode web stack on Mac OS or OS X. The parentNode development environment is a full web stack based on Apache, MariaDB, PHP, Redis, Imagick, FFmpeg and wkhtmltopdf, which enables you to run all the parentNode tools, as well as most other PHP based frameworks and CMS', including WordPress, Joomla or TYPO3.

  • Smartphone testing with Squid

      • parentnode.dk

    Testing local websites on smartphones using Squid proxy server. This is a guide to install and configure your own Squid proxy server, for testing and debugging local websites, using your local hosts file to route the requests.

  • The Favicon overkill

      • parentnode.dk

    Remember back when all you needed was just one favicon? Today it's not quite that simple. A lot of new device types support a custom favicons for even more different use case scenarios. But do you really need 27 specific favicon's for your website? I don't think so.

  • Release of Janitor v0.7.6

      • parentnode.dk

    Woopwoop - Janitor 0.7.6. is available since now. It’s a minor update with major improvements.

  • Buying and setting up a domain validated SSL certificate for Apache

      • parentnode.dk

    Setting up a SSL certificate might seem like a complicated and expensive matter. It doesn't have to be expensive but it truly is bit complicated with a lot of new terms to deal with. Here are some hints to help get you through the process.

  • Using Cron jobs for automation of scheduled tasks

      • parentnode.dk

    The Cron is a Linux/Unix utility which allows you to schedule a specific scripts to be run at a specified time – a Cron job. This makes it a perfect tool for automation of maintenance- or synchronisation-scripts. Here I will share some of my experiences with Cron and how I use it.

  • How to make custom mail signatures for Apple Mail and Gmail

      • parentnode.dk
  • Release of Manipulator v0.9.1

      • parentnode.dk

    We're SO diligent - version 0.9.1 of Manipulator is out now!

  • Create a personal SSH key

      • parentnode.dk
  • Internet video optimisation using FFmpeg

      • parentnode.dk

    This guide will explain how to encode video in the following formats: .mp4 (h264), .webm (VP8), .ogv (theora), .3gp (h263) and .mov (mpg), which should provide you with all the formats required to have your video shown on all devices.

  • Release of Detector v3.1

      • parentnode.dk

    Ever wished for serverside Detector in Java, an advanced drag'n'drop segment builder or a /text api endpoint, returning the segment as plain text?

  • Size matters (disks and folders)

      • parentnode.dk

    This post is about the linux commands "df" and "du" and will show you how to get information about available diskspace and determine the accumulated size of a directory/folder using terminal on Linux/OS X.

  • gzip'ing tarballs

      • parentnode.dk

    This post is about the linux commands "tar" and "gzip" and will show you how to use these convenient tools in terminal on Linux/OS X. Gzip is a compression tool much like Zip or RAR. A tarball is a collection of files bundled into one .tar file. A tarball is not compressed, only glued together for ease of handling.

  • Create new users on a Linux server using the terminal

      • parentnode.dk

    In some cases you need to install more users on your server - to allow other people to maintain the server or just upload files. Here is a short guide to adding other users, and granting them privileges to perform relevant tasks.

  • Setting file permissions for Janitor project

      • parentnode.dk

    Guide to setting the correct file permissions for a Janitor project on live or development servers.

  • Segment market share statistics, June 2015

      • parentnode.dk

    Desktop browsers still dominate with about 60% of page visits. Mobile phones take up about 35%, while the tablets only have a 5% market share. Modern browsers across platforms make up about 80% of page visits.

  • Browserstack - cross browser testing doesn't have to suck

      • parentnode.dk

    Recently I switched back to Browserstack and I must say I am impressed with the updates they have made over the last years. Roughly estimated it is top of class in all areas. Shortest way to local live testing, really good speed and all the testing features one can expect of a complete testing environment. And I especially want to applaud them for having a cheap freelancer plan - finally someone who is also considering the needs of the small individual businesses.

  • The Detector method

      • parentnode.dk

    The Detector identification is unique because it groups all browsers in unambiguous segments based on common denominators, allowing you to safely develop for a narrow target group within each segment. The browsers in each segment has a clearly specified level of JavaScript and CSS support, uses the same input method and has a limited screen resolution range.

  • Downloading old versions of Firefox

      • parentnode.dk

    Argh ... found a bug in an old version of Firefox and want to download an old version to run local tests.

  • The UC Browser

      • parentnode.dk

    The UC Browser or UCWeb is a Chinese mobile browser first released in 2004. Initially it used a server proxy compression to speed up page rendering, using its own proprietary rendering engine (U1 + U2) and minimize data load. It currently has a leading market share in China and India.

  • The Opera browser

      • parentnode.dk

    The Opera browser has been developed by Norwegian software developer Opera Software since 1995. The browser has played a major role in early mobile devices but today it is a rare sight for both desktop and mobile devices. Opera used to have it's own rendering engine, Presto, but with version 15 they switched to Blink.

  • The Teleca/Obigo browser

      • parentnode.dk

    The Teleca/Obigo browser was created by Swedish company AU System in 1999. It was known as MIC (Mobile Internet Client) when it was released as the worlds first WAP browser. It played an important role in the very early years of WAP technology due to low memory requirements.

  • The Openwave/Myriad browser

      • parentnode.dk

    The Openwave browser was a large player in the dawning mobile market and closely tied in with the development of the WAP protocol. In 2006 it was installed on almost 50% of all shipped mobile devices. In 2008 it was sold to Purple Labs and later changed its name to Myriad. As of version 9 the browser switched to WebKit.

  • The NetFront browser

      • parentnode.dk

    The NetFront browser is produced by Japanese company Access Co. Ltd. By 2011 the NetFront browser has been embedded in more than 1 billion devices. The browser is still being embedded in devices but is no longer considered an important player.

  • The SEMC browser

      • parentnode.dk

    The homegrown mobile browser of SonyEricsson Mobile Company was a very early mobile browser optimized for the WAP-protocol. It never really made a serious entry in the HTML scene.

  • Git filemode - Making Git ignore file permission changes

      • parentnode.dk

    Sometimes you want to have a very relaxed set of file permissions on your local development source, but setting new file permissions will be reflected in the Git repository and before you know it, you are committing file mode changes to every file in your repos.

  • Delete files from Git repository and history

      • parentnode.dk

    Deleting and permanently removing files from Git repository and history.