11:49, 27th January 2022
Hugo Multilingual Part 1: Content translation
Setting up multilingual support in Hugo involves configuring language settings, translating content through filename or directory-based systems and ensuring proper linking between translations. Resources such as images or data files can be shared across translations or localised individually using page bundles, while data files require manual handling to match language-specific content. URLs can be adjusted to reflect localised slugs and the .Sites method allows access to default language content from other language contexts. The process also includes managing theme strings for localisation in subsequent steps, ensuring consistency across all language versions of a site.
11:48, 27th January 2022
How to Convert HTML to Markdown in Python?
Converting HTML to Markdown in Python is achieved using the third-party markdownify package, which must be installed via pip before use. Once imported, the process involves passing an HTML string to the markdownify() function, along with optional parameters such as heading style, to produce a properly formatted Markdown output. For example, HTML elements such as headings and unordered lists are converted into their Markdown equivalents, with headings rendered using hash symbols and list items preceded by asterisks.
11:13, 22nd January 2022
Markdown Guide
This free and open-source resource provides comprehensive guidance on using Markdown, a straightforward markup language designed to simplify document formatting for web use. It includes a cheat sheet, explanations of basic and extended syntax features such as tables and code blocks and tools to help users create and enhance content. The guide is accessible to beginners and experienced users alike, with options to subscribe for updates, and is maintained as a project by Matt Cone under a Creative Commons licence.
11:06, 22nd January 2022
In Hugo, layouts define the structural framing of a page, such as headers and footers, while content files store the actual written material in its purest form using front matter metadata and markdown. Different layouts can be applied across multiple pages, with a default hierarchy determining which layout is used when no specific one is assigned. The two primary default layouts are single for standard content pages and list for index-style pages such as a home page.
To avoid duplicating similar layouts, a base layout file can be created to hold shared HTML structure, with child layouts only defining the unique portions of each page through a block system. Styling is handled by placing Sass files in an assets directory, which Hugo processes and links automatically through the base layout, meaning any style changes apply consistently across all pages that inherit from it. Navigation between pages is not covered within layouts themselves but is instead handled separately through Hugo partials.
11:05, 22nd January 2022
How to change Bootstrap default input focus glow style
In Bootstrap, form elements such as input fields, text areas and select dropdowns are highlighted with a blue glow by default when they receive focus. This default styling can be overridden by applying custom CSS to the .form-control:focus selector, specifically by adjusting the border-color and box-shadow properties to achieve a different visual effect. For example, setting a pink border colour alongside a corresponding box shadow value will replace the default blue glow with a custom pink one, allowing developers to tailor the appearance of focused form elements to suit a particular design.
21:09, 16th January 2022
Numba is an open-source, just-in-time compiler that converts a subset of Python and NumPy code into fast machine code using the industry-standard LLVM compiler library, allowing numerical algorithms to reach speeds comparable to C or FORTRAN. It works by applying simple decorators to Python functions at runtime, requiring no separate compilation step or additional compilers. Designed with scientific computing in mind, it integrates well with NumPy arrays, Jupyter notebooks and distributed frameworks such as Dask and Spark. Numba supports parallelisation across multiple CPU cores, SIMD vectorisation for further speed gains and GPU acceleration via NVIDIA CUDA, all from within standard Python code. It is compatible with a broad range of hardware including Intel, AMD and ARM processors as well as NVIDIA GPUs, and runs across Windows, macOS and Linux, with precompiled binaries available through conda and pip.
21:09, 16th January 2022
Learn Julia For Beginners – The Future Programming Language of Data Science and Machine Learning Explained
Julia is a high-level, dynamic programming language designed to combine the speed of C/C++ with the ease of use associated with Python, making it particularly well-suited to computationally complex problems in fields such as chemistry, biology, machine learning and data science, though it is also capable of supporting web and game development. The language features a flexible variable system with dynamic typing, support for Unicode and emoji variable names, and straightforward conditional statements and loops that use an end keyword rather than brackets or braces.
One of its most powerful features is multiple dispatch, which allows functions of the same name to be defined with different argument types, enabling developers to write both generic and type-specific code without cramming every scenario into a single function. Julia also supports structs, which function similarly to classes in object-oriented languages, allowing developers to define custom objects and types with optional constructors and typed attributes.
Package management is handled through a built-in manager accessible directly from the read-evaluate-print loop, with commands to add, remove and inspect installed packages, and the language allows packages to be loaded using either the using or import keywords, with the key difference being how functions are brought into the current namespace. For those wishing to explore the language further, official documentation and guided learning resources are available through the Julia project's own platform.
14:15, 16th January 2022
JuliaAcademy is a free online learning platform dedicated to teaching the Julia programming language, offering a range of courses suited to different skill levels and interests. Available courses cover topics including the fundamentals of the language for those with prior programming experience, data science methods and visualisation, an introductory course aimed at hesitant beginners, computational modelling, machine learning foundations and a short guide to getting started with the platform itself. Each course is led by a named instructor, several of whom hold doctoral qualifications, and all courses are available at no cost to learners.
14:13, 16th January 2022
How to install NumPy package in Julia?
Installing NumPy in Julia involves verifying the presence of the language on a system and leveraging Python integration to access the library. Users first check for an existing Julia installation by executing commands in the terminal, then proceed to install the PyCall package through Julia's package manager, which acts as a bridge to Python's ecosystem.
Once PyCall is added, it enables the import of NumPy using a specific function, allowing Julia to utilise Python's numerical computing capabilities. This process highlights Julia's compatibility with Python libraries, facilitating tasks such as data analysis and machine learning within its environment.
The steps outlined focus on the technical workflow required to integrate external Python modules into Julia, ensuring that users can harness the functionalities of NumPy without relying on native Julia implementations. The approach underscores the interoperability between Julia and Python, offering a pathway for developers familiar with Python to extend their tool set within Julia's high-performance framework.
14:07, 16th January 2022
The Future of Machine Learning and why it looks a lot like Julia
The Julia programming language is increasingly being considered a strong candidate for the future of machine learning and deep learning, despite its ecosystem being less mature than Python's. Its core framework for deep learning, Flux.jl, is written entirely in Julia, making its internals far more accessible than those of TensorFlow or PyTorch, which rely heavily on C++ with Python wrappers.
Julia offers native support for multidimensional arrays, eliminating the need for additional libraries like NumPy, and its data handling tools such as CSV loading and DataFrames.jl are significantly faster than their Python counterparts. Flux is designed with simplicity and extensibility in mind, allowing developers to build custom functions that integrate seamlessly into the broader ecosystem, and unlike TensorFlow or PyTorch, it is not backed by a single large corporation, making it more genuinely open to community contribution.
The language also enables powerful combinations with scientific computing packages, such as DiffEqFlux.jl, which merges neural networks with differential equations to support physics-informed machine learning. Where Julia currently falls short is in community-generated learning resources and convenience utilities for data loading and image processing, areas where TensorFlow and PyTorch remain more user-friendly, though active development continues to close these gaps.