shakthimaan

@shakthimaan

Joined on Mar 12, 2021

  • Python Enhancement Proposal Pros The PEP author is responsible for building consensus within the community and documenting dissenting opinions (ownership). Text files in a versioned repository. A single PEP contains a single key proposal or new focussed idea. If in doubt, split your PEP into several well-focused ones. PEPs are posted to discuss.python.org for comments. Vetting an idea publicly before going as far as writing a PEP is meant to save the potential author time. Once the champion has asked the Python community as to whether an idea has any chance of acceptance, a draft PEP is prepared, formatted, of high quality, and to address initial concerns about the proposal. Proposal should be submitted as a draft PEP via a GitHub pull request. The draft must be written in PEP style.
     Like  Bookmark
  • Reference: https://ocaml.ci.dev/github/mirage Status Package Issue Comments DONE Either WARNING: updating https://dl-cdn.alpinelinux.org/alpine/v3.19/main: temporary error (try again later)
     Like  Bookmark
  • Building mirage-www unikernel on Ubuntu 22.04 LTS Clone the mirage-www repository on the Raspberry Pi: $ git clone https://github.com/mirage/mirage-www.git Update opam: $ sudo bash -c "sh <(curl -fsSL https://raw.githubusercontent.com/ocaml/opam/master/shell/install.sh)" $ opam init $ opam update && opam upgrade $ opam switch create 4.14.0 ocaml-base-compiler.4.14.0
     Like  Bookmark
  • Download raspi-solo5.img.gz file (1.3 GB) from https://drive.google.com/file/d/1veuzY0L51MSRpceCzdukAdiHu5Gtw4Zc/view?usp=sharing Gunzip and flash the image to the SD card: $ gunzip raspi-solo5.img.gz $ sudo dd bs=4M if=raspi-solo5.img of=<SD card device path> status=progress Connect the raspberry pi to Ethernet and SSH into the device. The default credentials are user: pi, password: raspberry. Extend the partition to use the full SD card. You can expand the file system using sudo raspi-config, then selecting: 6 Advanced Options, then A1 Expand filesystem, and finally reboot. From the Raspberry Pi, you can setup the bridge by running the following script: $ sudo ./bridge.sh
     Like 1 Bookmark
  • OCaml is an industrial-strength, pragmatic, functional programming language used in Academia and Industry. It has been gaining traction since the inclusion of parallelism and concurrency with the Mulicore merge support (https://github.com/ocaml/ocaml/pull/10831) from companies such as Jane Street Capital, Bloomberg, Ahrefs, Galois, Hyper, LexiFi et al. In this talk, I will teach the syntax and semantics of the OCaml programming language, and help the participants get started with the essential data structures, libraries and packages to write their next OCaml application! Outline/Structure of the Demonstration OCaml Syntax and Semantics (5 minutes) Data Structures (5 minutes) Modules (5 minutes) Libraries and Packages (5 minutes) Learning Outcome Become familiar with the OCaml programming language syntax.
     Like  Bookmark
  • Summary An oft overlooked aspect of programming language development process is benchmarking. While popular CI/CD tools such as Azure pipelines, Gitlab CI, Circle CI, Drone.io and Github Actions are regularly used for continuous testing and deployment, there is a dearth of such tools for continuous benchmarking. This is because benchmarking well is challenging due to the care needed to choose appropriate benchmarks, the complexity of modern OSes and hardware that makes it hard to obtain reproducible results, and a powerful dashboard needed to surface resultant metrics in a useful manner that can be explored interactively by the developer. For benchmarking the compiler of the OCaml [1] programming language, we have developed Sandmark [2]. Sandmark is a (a) suite of well chosen benchmarks aimed at exercising different performance axes including CPU, memory and IO (b) a tool to run the benchmarks, building the compiler and its dependencies under varying configuration settings and (c) a dashboard [3] to interactively explore the results of the benchmark runs. Sandmark was originally developed for supporting the Multicore OCaml [4] project, which aims to add native support for concurrency and parallelism to OCaml, and has undergone significant improvements since the initial release [5]. We have learnt several useful lessons in building a continuous benchmarking infrastructure that we would like to share in this talk, which may benefit developers who work on projects where performance is critical. In this talk, I will describe the Sandmark tool, illustrate the quirks of modern OSes and hardware and how we overcame them, highlighting useful takeaways for setting up continuous benchmarking for your own projects. References [1] OCaml https://ocaml.org/ [2] Sandmark https://github.com/ocaml-bench/sandmark
     Like  Bookmark