RubyKaigi 2022 -- Tsu, Mie, Japan September 10, 2022
Are you an absolute beginner to Emacs? Are you so new to Emacs that you do not even have ~/.emacs.d on your file system? Have you come across recommendations to use starter kits like Doom Emacs, Spacemacs, etc. but then you wondered if you could use vanilla Emacs and customize it slowly to suit your needs without having to sacrifice your productivity in the initial days of using Emacs? Do you also
Filippo Valsorda 31 March 2022 Modern software engineering is collaborative, and based on reusing Open Source software. That exposes targets to supply chain attacks, where software projects are attacked by compromising their dependencies. Despite any process or technical measure, every dependency is unavoidably a trust relationship. However, the Go tooling and design help mitigate risk at various
A recent article on WebAssembly Garbage Collection (WasmGC) explains at a high level how the Garbage Collection (GC) proposal aims to better support GC languages in Wasm, which is very important given their popularity. In this article, we will get into the technical details of how GC languages such as Java, Kotlin, Dart, Python, and C# can be ported to Wasm. There are in fact two main approaches:
Opens in a new windowOpens an external siteOpens an external site in a new window Shopify builds internet infrastructure for commerce to serve the needs of millions of merchants. Doing that requires building both flexible business logic and robust, high-performance systems. In addition to our commitment to Ruby for its flexibility and expressiveness, we have recently adopted Rust as our official s
You may be aware of Nix or NixOS. Users love them for being superior tools for building, deploying, and managing software. Yet, Nix is generally perceived as notoriously hard to learn. The core Nix ecosystem consists of several distinct components: Nix is a build system and package manager that comes with a configuration language to declare software components, the Nix language. Software made avai
This tutorial introduces the basics of generics in Go. With generics, you can declare and use functions or types that are written to work with any of a set of types provided by calling code. In this tutorial, you’ll declare two simple non-generic functions, then capture the same logic in a single generic function. You’ll progress through the following sections: Create a folder for your code. Add n
Simon Peyton Jones, Tim Sweeney Lennart Augustsson, Koen Claessen, Ranjit Jhala, Olin Shivers Epic Games December 2022 Tim’s vision of the metaverse Social interaction in a shared real-time 3D simulation An open economy with rules but no corporate overlord A creation platform open to all programmers, artists, and designers, not a walled garden Much more than a collection of separately comp
Introduction to Go 1.15 The latest Go release, version 1.15, arrives six months after Go 1.14. Most of its changes are in the implementation of the toolchain, runtime, and libraries. As always, the release maintains the Go 1 promise of compatibility. We expect almost all Go programs to continue to compile and run as before. Go 1.15 includes substantial improvements to the linker, improves allocati
Jean de Klerk, Matt T. Proud 24 February 2021 Introduction In many Go APIs, especially modern ones, the first argument to functions and methods is often context.Context. Context provides a means of transmitting deadlines, caller cancellations, and other request-scoped values across API boundaries and between processes. It is often used when a library interacts — directly or transitively — with rem
The Rust Programming Language 日本語版 著:Steve Klabnik、Carol Nichols、貢献:Rustコミュニティ このテキストのこの版ではRust 1.58(2022年1月13日リリース)かそれ以降が使われていることを前提にしています。 Rustをインストールしたりアップデートしたりするには第1章の「インストール」節を読んでください。 HTML版はhttps://doc.rust-lang.org/stable/book/で公開されています。 オフラインのときは、rustupでインストールしたRustを使ってrustup docs --bookで開けます。 訳注:日本語のHTML版はhttps://doc.rust-jp.rs/book-ja/で公開されています。 rustupを使ってオフラインで読むことはできません。 また、コミュニティによるい
Ever since it was released in the 1980s, Microsoft Excel has changed how people organize, analyze, and visualize their data, providing a basis for decision-making for the millions of people who use it each day. It’s also the world’s most widely used programming language. Excel formulas are written by an order of magnitude more users than all the C, C++, C#, Java, and Python programmers in the worl
こんにちは。2022年11月に株式会社タイミーに入社した sinsoku です。 最近はGitHub ActionsのYAMLを書く機会が多く、YAMLも複雑化してきました。 しかし、日常的にYAMLを触っている職人以外にはパッと読めないことも多いので、社内の方々が読めるようにGitHub ActionsのYAMLの書き方をまとめたいと思います。 目次 三項演算子 環境変数(env) 変数(outputs) 関数(workflow_call) 関数 + 配列(dynamic matrix) GitHub CLIの活用 まとめ 三項演算子 GitHub Actions には三項演算子がないため、代わりに論理演算子を使います。 - steps: - run: echo "${{ (github.ref == 'refs/heads/main' && 'production') || 'stag
Across these repos, the savings average around 75%, but memory reductions are non-linear: as projects get larger, so does the relative decrease in memory usage. We’ll explain this in more detail below. Gopls and the evolving Go ecosystem Gopls provides language-agnostic editors with IDE-like features such as auto-completion, formatting, cross-references, and refactoring. Since its beginnings in 20
Introduction HTML, the programming language, is a practical, turing-complete[1], stack-based programming language based on HTML, the markup language. It uses elements defined in HTML, the markup language, in order to do computations. To give you a sense of what HTML, the programming langauge, looks like, below is a sample program that prints the values from 1 to 10 to standard out (console.log) A
// ExampleApp.vala public class ExampleApp : Gtk.Application { public ExampleApp () { Object (application_id: "com.example.App"); } public override void activate () { var win = new Gtk.ApplicationWindow (this); var btn = new Gtk.Button.with_label ("Hello World"); btn.clicked.connect (win.close); win.child = btn; win.present (); } public static int main (string[] args) { var app = new ExampleApp ()
Zigは、堅牢、最適、および再利用可能なソフトウェアをメンテナンスするための汎用プログラミング言語およびツールチェインです。 ⚡ シンプルな言語プログラミング言語の知識をデバッグするよりも、アプリケーションのデバッグにフォーカスしてください。 隠された制御フローはありません。隠されたメモリ割り当てはありません。プリプロセッサ、マクロもありません。⚡ コンプタイムコンパイル時のコード実行と遅延評価に基づくメタプログラミングへの新しいアプローチ。 コンパイル時に任意の関数を呼び出します。ランタイムオーバーヘッドなしに型を値として操作します。コンプタイムはターゲットアーキテクチャをエミュレートします。⚡ ZigでメンテナンスC/C++/Zigのコードベースを段階的に改善することができます。 Zigを依存性ゼロのドロップインC/C++コンパイラとして使用し、すぐにクロスコンパイルをサポートします。
こんにちは。今日はプログラミング教育用ボードゲーム「クールプログラミング」の感想を書いていきたいと思います! 2020年から義務教育にプログラミング教育が入ってくるというのは、かなり前から話題ですが、英語ならまだしも、親世代で未経験の人も多いプログラミング教育の導入には、戸惑われている親御さんも多いのではないでしょうか。 どうやって子どもにプログラミングの素養を持たせたらいいのか…? そもそもプログラミングの素養って何…? そんな疑問の声も聞こえてきそうですね。 そこで、今回は、プログラミングも(そこそこ)できてボードゲーム好きの筆者が2019年11月1日発売の、6歳からプログラミングが学べるボードゲーム教材についてレビューしていきたいと思います! 注:本ブログのメイン読者であるボードゲーマーさん向けに先に一言いうと、プレイ感はハイパーロボに近いです ~こんな記事もかいています~ まだ資本
When I first learned Python nearly 27 years ago, I was immediately struck by how I could productively apply it to all sorts of messy work projects. Fast-forward a decade and I found myself teaching others the same fun. The result of that teaching is this course--A no-nonsense treatment of Python that has been actively taught to more than 400 in-person groups since 2007. Traders, systems admins, as
Matt Pearring and Alex Rakoczy 16 August 2021 Today the Go team is thrilled to release Go 1.17, which you can get by visiting the download page. This release brings additional improvements to the compiler, namely a new way of passing function arguments and results. This change has shown about a 5% performance improvement in Go programs and reduction in binary sizes of around 2% for amd64 platforms
ブログのCMSとしておなじみのWordpressですが、これからブログを開設したい人や、すでにWordpressを使っているがその仕組みや機能について詳しく知りたいという人は少なくないのではないでしょうか。 WordPressをしっかり習得できれば、自身のブログをよりカスタマイズできたり、Web制作系でWordpress関連の案件を取れたりしますので、学習するメリットは大きいです。 ただ、HTML/CSS等に比べるとWordpress関連の学習サイトは多くないので、どこで学べるのかわからない人もいるかもしれません。 そこで本記事では、Wordpressをしっかり学びたい人向けにWordpressのおすすめ学習サイトを紹介していきたいと思います。 本章では、Wordpressのおすすめ学習サイトを紹介していきます。 それぞれカリキュラムが異なりますのでいろいろとチェックしてみましょう。 ドッ
Clawn is a programming language developed with the goal of making it easy to write high-quality, safe programs. Currently, Clawn has the following features Simple syntax Statically typing Higher rank polymorphism Safe "any" elegant C FFI Automatic memory management (WIP) I value a gentle learning curve, and Clawn is designed to be easy to learn. For example, Clawn's function definitions have no ty
Many JSON parsers (and many parsers in general) use recursion to parse nested structures. This is very convenient while programming the parser, but it has consequences on what the parser can parse: indeed, the size of the call stack is usually limited to a value several orders of magnitude smaller than the available RAM, and this implies that a program with too many levels of recursion will fail.
Playground Articles About English Nederlands Español Português do Brasil 日本語 Русский Українська Македонски 中文 Deutsch Türkçe Français Ruby is a programming language from Japan which is revolutionizing software development. The beauty of Ruby is found in its balance between simplicity and power. You can type some Ruby code in the editor and use these buttons to navigate: Run → Executes the code in
🚀 Mar. 29, 2024: v0.8.0 released. Now you can use Data Interpreter via pypi package import. Meanwhile, we integrated RAG module and supported multiple new LLMs. 🚀 Mar. 14, 2024: Our Data Interpreter paper is on arxiv. Check the example and code! 🚀 Feb. 08, 2024: v0.7.0 released, supporting assigning different LLMs to different Roles. We also introduced Data Interpreter, a powerful agent capable
Lately I’ve been messing around with Python 3.12, discovering new features around typing and pattern matching. Combined with dataclasses, they provide support for a style of programming that I’ve employed in Kotlin and Typescript at work. That style in turn is based on what I’d do in OCaml or Haskell, like modelling data with algebraic data types. However, the more advanced concepts from Haskell —
Alice Merrick 9 March 2021 Thank you for the amazing response! In 2020, we had another great turnout with 9,648 responses, about as many as 2019. Thank you for putting in the time to provide the community with these insights on your experiences using Go! New modular survey design You may notice some questions have smaller sample sizes (“n=”) than others. That’s because some questions were shown to
In 2013, I had an idea: "what if I were to build my programming language?". Back then my idea came down to "an interpreted language that mixes elements from Ruby and Smalltalk", and not much more. Between 2013 and 2015 I spent time on and off trying different languages (C, C++, D and various others I can't remember) to see which one I would use to build my language in. While this didn't help me fi
The Go Blog Finding unreachable functions with deadcode Alan Donovan 12 December 2023 Functions that are part of your project’s source code but can never be reached in any execution are called “dead code”, and they exert a drag on codebase maintenance efforts. Today we’re pleased to share a tool named deadcode to help you identify them. $ go install golang.org/x/tools/cmd/deadcode@latest $ deadcod
KubeCon + CloudNativeCon – The Cloud Native Computing Foundation’s flagship Kubernetes community conference which gathers adopters and technologists from leading open source and cloud native communities. Learn more and register — get 10% off with the code KCNACHANGELOG19 Feel free to use the Convince Your Boss letter in part or in full so you can your team can attend. TeamCity by JetBrains – Build
I’ve become convinced that “little languages”—small languages designed to solve very specific problems—are the future of programming, particularly after reading Gabriella Gonzalez’s The end of history for programming and watching Alan Kay’s Programming and Scaling talk. You should go check them out because they’re both excellent, but if you stick around I’ll explain just what I mean by “little lan
The Go Blog Go 1.22 is released! Eli Bendersky, on behalf of the Go team 6 February 2024 Today the Go team is thrilled to release Go 1.22, which you can get by visiting the download page. Go 1.22 comes with several important new features and improvements. Here are some of the notable changes; for the full list, refer to the release notes. Language changes The long-standing “for” loop gotcha with a
Arduino Leonardo等は、USBキーボードやマウスとして振舞わせ、PC等を操作するのに使うことができます。 同じくArduino IDEをプログラミング環境として使えるESP32ではUSBキーボード機能は付いていません。しかし、代わりにBluetooth LEを利用してキーボードとして振舞わせることができるはず。ということで、やってみました。 セットアップ 今回はM5StickCを使いましたが、ESP32ならどのボードでも同様です。 M5StickC ESP32 PICOミニIoT開発ボードフィンガーコンピューターカラーLCD付き Arduino IDEでESP32を使用するためのセットアップ手順は、下記サイトなどを参考にしてください。 esp32_setup – スイッチサイエンス BLE HID (Human Interface Device)のためのクラスはESP32のツ
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く