Software Development Mistakes, Apple Maps Look Around Web App and Automerge


Summary of my bookmarked videos and Github repositories from Oct 12th, 2023

Videos

  • Größte Fehler der Softwareentwicklung den viele machen!

    In this video, the speaker discusses common mistakes in software development. They emphasize that a fundamental understanding of software development is often lacking, even in teams and companies. The video explores the consequences of this issue and offers insights into how to avoid these pitfalls, using a real client history as an example. The key areas covered include the software development process, the evolution of software development, essential practices, roles and responsibilities, and the biggest mistake in software development. This video highlights the critical aspects of successful software development without promotions or distractions.

Github repositories

  • sk-zk/lookaround-map

    lookaround-map is a web app that allows you to view Apple Look Around imagery on any platform by reverse-engineering Apple's internal API. It offers a detailed coverage map, showcasing all roads and panorama positions at various zoom levels. You can filter and colorize this map by criteria. The setup involves cloning the GitHub repository and installing necessary dependencies. The tool converts HEIC images to JPG, with options like pillow-heif, pyheif, and heic2rgb. Some tasks are in progress, like solving the unknown roll and tilt values, rendering top and bottom faces of panoramas, and decoding specific map data. The app credits eva-icons and bqlqn for its icons. Check it out at lookmap.eu.pythonanywhere.com!

  • automerge/automerge

    Automerge is a versatile library that offers speedy implementations of various CRDTs (Conflict-free Replicated Data Types), along with a compact compression format for these CRDTs and an efficient synchronization protocol for transmitting changes over a network. Its primary goal is to support local-first applications, much like relational databases support server applications. Automerge intends to make life easier for application developers by handling the complexities of distributed computing. You can find documentation for the JavaScript implementation at https://automerge.org/docs/hello/. Although there are implementations in Rust and C, they are less documented. If you're interested in the project, they welcome you to join their Slack community. Automerge has a Rust core implementation exposed via FFI in JavaScript+WASM, C, and other languages, with ongoing development and plans for API enhancements. In JavaScript, @automerge/[email protected] is the stable release, and pre-release versions like 2.0.1-alpha.n are available. Rust's API is low-level and not well-documented, but they are working on improving this aspect. To build Automerge, you'll need various dependencies and targets, including Rust, Node, Yarn, CMake, and others. They provide detailed build instructions for different subprojects, and the provided macOS instructions worked as of November 29th, 2022. For contributing, they encourage splitting changes into independent commits with clear commit messages. When it comes to releasing, Automerge has different artifacts to release, including NPM packages and Rust crates. The JS packages are automatically released when version numbers in package.json files change. For Rust, you'll need to bump the version in automerge/Cargo.toml, create a PR, tag the release, push the tag to the repository, and publish the release with cargo publish.