The Mac series with the Apple Silicon M1 chip has been released. Weren’t you surprised by the amazing performance of it? I was also. I hoped we can use the wonderful power and Apple’s ecosystem for Elixir programming, so I tried to write Elixir code to call Swift code. …
This story shows important history of software engineering between 1990s and 2000s, which includes the background of the birth of Agile software development, Software product line engineering (SPLE) and eXtreme derivative development process (XDDP).
Most of the actual cost of software development is personnel expenses because it is a human-intensive…
Software testing is an activity as part of verification and validation or software verification and validation.
In other words, verification is to check whether or not software or system meets to its requirements, while validation…
If a program has no structure and is chaotic as the below figure shows, the following quality characteristics will be getting worse:
This is called commonly, “a status like spaghetti”.
Such a program can be replaced into a nested program (the below figure shows)…
I’ll give typical examples for each type of construction languages, which is explained at Chapter 3 of SWEBOK Evolution:
One of typical examples of configuration languages is setting files of Windows and Unix operating systems.
For example, /etc/X11/xorg.conf is a setting file for X server, which provides graphic…
You may feel software engineering is difficult and confuses you. If so, it is due to differences between it and other sciences.
Reason 1: Software is an artifact, that is, an object made by persons. It may be often so large that the creators of it can't understand the whole…
Traditional and typical kinds of a human resource are a generalist and a specialist. A generalist has literacy, knowledge and skills for all fields. On the other hands, a specialist has a specified knowledge and skills to one field, which also is called I-typed human resource (I型人材) in Japan.
I've just released Pelemay 0.0.6:
A new feature of this release is to support String.replace.
defmodule M do
def string_replace(subject) do
String.replace(&1, "Fizz", "Buzz")
def enum_map_string_replace(list) do
|> Enum.map(& String.replace(&1, "Fizz", "Buzz"))
This code is 4x faster than…
Thank ElixirConf for giving me another chance to make a presentation at ElixirConf US 2019:
This presentation will be conducted by me and Mr. Hisae, who is a graduate student in my laboratory and a co-author of Hastega. He's a great meta-programmer because he wrote a new feature of…
Do you want to learn and use machine learning in Elixir / Phoenix / Nerves apps? Of course, you can, but the machine learning is written in Python and invoked from Elixir via ErlPort... Of course, you can implement some machine learning algorithms in Elixir. However, they have no computational…