<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Computing on The Negation</title><link>https://www.thenegation.com/tags/computing/</link><description>Recent content in Computing on The Negation</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Fri, 30 Aug 2024 22:39:46 +0000</lastBuildDate><atom:link href="https://www.thenegation.com/tags/computing/index.xml" rel="self" type="application/rss+xml"/><item><title>More Haskell Diagrams: Contribution Graph</title><link>https://www.thenegation.com/posts/haskell-diagrams-plot-calendar/</link><pubDate>Fri, 30 Aug 2024 22:39:46 +0000</pubDate><guid>https://www.thenegation.com/posts/haskell-diagrams-plot-calendar/</guid><description/></item><item><title>Shell Cacophony</title><link>https://www.thenegation.com/posts/shell-cacophony/</link><pubDate>Thu, 29 Aug 2024 20:05:47 +0000</pubDate><guid>https://www.thenegation.com/posts/shell-cacophony/</guid><description>&lt;p&gt;I am using &lt;a href="https://stedolan.github.io/jq/"&gt;&lt;code&gt;jq&lt;/code&gt;&lt;/a&gt;, &lt;a href="https://github.com/jqnatividad/qsv"&gt;&lt;code&gt;qsv&lt;/code&gt;&lt;/a&gt;, &lt;a href="https://github.com/red-data-tools/YouPlot"&gt;&lt;code&gt;uplot&lt;/code&gt;&lt;/a&gt; quite often. This post is
to make sure that you know and use them, too. I hope you will waste as much time
as I do, especially with &lt;a href="https://github.com/red-data-tools/YouPlot"&gt;&lt;code&gt;uplot&lt;/code&gt;&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Web Browser Extension Workshop - Part 5</title><link>https://www.thenegation.com/posts/browser-wext-5/</link><pubDate>Wed, 28 Aug 2024 22:12:02 +0000</pubDate><guid>https://www.thenegation.com/posts/browser-wext-5/</guid><description>&lt;p&gt;This is the last post in the series of the Web Browser Extension Workshop. In
this post, we will populate our popup using the service we created in the
previous post.&lt;/p&gt;</description></item><item><title>Web Browser Extension Workshop - Part 4</title><link>https://www.thenegation.com/posts/browser-wext-4/</link><pubDate>Tue, 27 Aug 2024 21:53:14 +0000</pubDate><guid>https://www.thenegation.com/posts/browser-wext-4/</guid><description>&lt;p&gt;This is the fourth part of the Web Browser Extension Workshop series. In this
part, we will populate a database with the OpenGraph information parsed from the
Webpage on active tabs. For this, we will implement a service that we can use
later to query the OpenGraph information as well.&lt;/p&gt;</description></item><item><title>Web Browser Extension Workshop - Part 3</title><link>https://www.thenegation.com/posts/browser-wext-3/</link><pubDate>Mon, 26 Aug 2024 21:53:14 +0000</pubDate><guid>https://www.thenegation.com/posts/browser-wext-3/</guid><description>&lt;p&gt;This is the third part of the series of blog posts about creating a Web browser.
In this part, we will change the extension icon based on the OpenGraph
information parsed from the Webpage on the active tab. We will also refactor the
code by encoding parse results in a better type.&lt;/p&gt;</description></item><item><title>Web Browser Extension Workshop - Part 2</title><link>https://www.thenegation.com/posts/browser-wext-2/</link><pubDate>Sun, 25 Aug 2024 15:42:40 +0000</pubDate><guid>https://www.thenegation.com/posts/browser-wext-2/</guid><description>&lt;p&gt;This is the second part of the series of blog posts about creating a Web browser
extension using &lt;a href="https://wxt.dev"&gt;WXT&lt;/a&gt;. In this part, we will try to read the OpenGraph tags of
the Webpage that is rendered on the active tab.&lt;/p&gt;</description></item><item><title>Web Browser Extension Workshop - Part 1</title><link>https://www.thenegation.com/posts/browser-wext-1/</link><pubDate>Sat, 24 Aug 2024 22:31:40 +0000</pubDate><guid>https://www.thenegation.com/posts/browser-wext-1/</guid><description>&lt;p&gt;I am starting a short series of blog posts about creating a Web browser
extension using &lt;a href="https://wxt.dev"&gt;WXT&lt;/a&gt;. In this first part, we will set up the development
environment and try to read the content of the navigated Webpage or Webpage on
the active tab.&lt;/p&gt;</description></item><item><title>Managing NixOS on DigitalOcean with Colmena</title><link>https://www.thenegation.com/posts/nixos-do-colmena/</link><pubDate>Fri, 23 Aug 2024 21:14:29 +0000</pubDate><guid>https://www.thenegation.com/posts/nixos-do-colmena/</guid><description>&lt;p&gt;In this post, we will prepare a &lt;a href="https://www.digitalocean.com"&gt;DigitalOcean&lt;/a&gt; image for &lt;a href="https://nixos.org"&gt;NixOS&lt;/a&gt;, launch a
droplet with it and manage it using &lt;a href="https://colmena.cli.rs"&gt;Colmena&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Plot GeoJSON on Your Blog Posts</title><link>https://www.thenegation.com/posts/cloud-map/</link><pubDate>Thu, 22 Aug 2024 21:50:38 +0000</pubDate><guid>https://www.thenegation.com/posts/cloud-map/</guid><description>&lt;p&gt;If you wonder how to plot GeoJSON data on your blog posts, here is a simple
example. In this blog post, I will show how to plot Microsoft Azure regions on a
map using the Leaflet.js JavaScript library.&lt;/p&gt;</description></item><item><title>Cross-Posting to Hashnode with API</title><link>https://www.thenegation.com/posts/crosspost-api-hashnode/</link><pubDate>Wed, 21 Aug 2024 17:42:49 +0000</pubDate><guid>https://www.thenegation.com/posts/crosspost-api-hashnode/</guid><description>&lt;p&gt;In my previous post, I showed how to cross-post to &lt;a href="https://dev.to"&gt;Dev.to&lt;/a&gt; using its API. In
this post, I will show how to cross-post to &lt;a href="https://hashnode.com"&gt;Hashnode&lt;/a&gt; using its API.&lt;/p&gt;</description></item><item><title>Cross-Posting to Dev.to with API</title><link>https://www.thenegation.com/posts/crosspost-api-devto/</link><pubDate>Tue, 20 Aug 2024 22:54:52 +0000</pubDate><guid>https://www.thenegation.com/posts/crosspost-api-devto/</guid><description>&lt;p&gt;Let&amp;rsquo;s cross-post this blog post to &lt;a href="https://dev.to"&gt;Dev.to&lt;/a&gt; using its API.&lt;/p&gt;</description></item><item><title>Easy GitHub CLI Extensions with Nix</title><link>https://www.thenegation.com/posts/custom-gh-ext/</link><pubDate>Mon, 19 Aug 2024 20:35:24 +0000</pubDate><guid>https://www.thenegation.com/posts/custom-gh-ext/</guid><description>&lt;p&gt;GitHub CLI (&lt;code&gt;gh&lt;/code&gt;) is one of my favourite tools. In addition to its built-in
commands, it allows you to write your own extensions. In this post, I will show
you how to write a simple GitHub CLI extension and how to package it with Nix,
in particular under Nix Home Manager.&lt;/p&gt;</description></item><item><title>Learning to Like Neovim</title><link>https://www.thenegation.com/posts/liking-neovim/</link><pubDate>Sun, 18 Aug 2024 21:43:13 +0000</pubDate><guid>https://www.thenegation.com/posts/liking-neovim/</guid><description>&lt;p&gt;After using Emacs for almost 20 years, usually day-in and day-out, I decided to
give Neovim a try. I have been using Neovim for two months now, and I can say
that I am starting to like it. In this article, I will share my experience of
switching from Emacs to Neovim, highlighting the differences, challenges, and
benefits I encountered along the way.&lt;/p&gt;</description></item><item><title>Hacking Watson with Haskell - Part 3</title><link>https://www.thenegation.com/posts/hacking-watson-part-3/</link><pubDate>Sat, 17 Aug 2024 21:02:23 +0000</pubDate><guid>https://www.thenegation.com/posts/hacking-watson-part-3/</guid><description>&lt;p&gt;In the previous blog posts (&lt;a href="https://www.thenegation.com/posts/hacking-watson-with-haskell-part-1/"&gt;part 1&lt;/a&gt;, &lt;a href="https://www.thenegation.com/posts/hacking-watson-with-haskell-part-2/"&gt;part 2&lt;/a&gt;), we managed to read &lt;a href="http://tailordev.github.io/Watson/"&gt;Watson&lt;/a&gt;
frames and state from its JSON files. In this blog post, we will do something
more useful: start and stop timer.&lt;/p&gt;</description></item><item><title>Hacking Watson with Haskell - Part 2</title><link>https://www.thenegation.com/posts/hacking-watson-part-2/</link><pubDate>Fri, 16 Aug 2024 22:50:46 +0000</pubDate><guid>https://www.thenegation.com/posts/hacking-watson-part-2/</guid><description>&lt;p&gt;In the &lt;a href="https://www.thenegation.com/posts/hacking-watson-with-haskell-part-1/"&gt;previous blog post&lt;/a&gt;, we read the &lt;a href="http://tailordev.github.io/Watson/"&gt;Watson&lt;/a&gt; frames from a JSON file. In
this blog post, we will read the &lt;a href="http://tailordev.github.io/Watson/"&gt;Watson&lt;/a&gt; state file and print it to the
standard output.&lt;/p&gt;</description></item><item><title>Hacking Watson with Haskell - Part 1</title><link>https://www.thenegation.com/posts/hacking-watson-part-1/</link><pubDate>Thu, 15 Aug 2024 21:33:55 +0000</pubDate><guid>https://www.thenegation.com/posts/hacking-watson-part-1/</guid><description>&lt;p&gt;&lt;a href="http://tailordev.github.io/Watson/"&gt;Watson&lt;/a&gt; is a command-line tool that helps you to track your time. It is simple
and powerful, yet it lacks some features that I would like to have. In this blog
post, I will start hacking &lt;a href="http://tailordev.github.io/Watson/"&gt;Watson&lt;/a&gt; with Haskell.&lt;/p&gt;</description></item><item><title>More Haskell Diagrams: Dynamic OpenGraph Images</title><link>https://www.thenegation.com/posts/haskell-diagrams-dynamic-og/</link><pubDate>Wed, 14 Aug 2024 20:29:55 +0000</pubDate><guid>https://www.thenegation.com/posts/haskell-diagrams-dynamic-og/</guid><description>&lt;p&gt;This blog post is a Literate Haskell program that produces its own OpenGraph
image using the infamous Haskell &lt;a href="https://diagrams.github.io"&gt;diagrams&lt;/a&gt; library.&lt;/p&gt;</description></item><item><title>More Haskell Diagrams: Wrapping Text</title><link>https://www.thenegation.com/posts/haskell-diagrams-text/</link><pubDate>Tue, 13 Aug 2024 19:14:35 +0000</pubDate><guid>https://www.thenegation.com/posts/haskell-diagrams-text/</guid><description>&lt;p&gt;Working with text, especially wrapping it, can be tricky when generating images
with Haskell&amp;rsquo;s &lt;a href="https://diagrams.github.io"&gt;diagrams&lt;/a&gt; library. In this blog post, we will write a literate
Haskell program to generate an image with text that fits in a box and wraps if
we want so.&lt;/p&gt;</description></item><item><title>More Haskell Diagrams: OpenGraph Images</title><link>https://www.thenegation.com/posts/haskell-diagrams-og/</link><pubDate>Mon, 12 Aug 2024 21:15:53 +0000</pubDate><guid>https://www.thenegation.com/posts/haskell-diagrams-og/</guid><description>&lt;p&gt;In this blog post, we are continuing to play with Haskell&amp;rsquo;s &lt;a href="https://diagrams.github.io"&gt;diagrams&lt;/a&gt; library.
We will write a literate Haskell program to generate an &lt;a href="https://ogp.me"&gt;OpenGraph&lt;/a&gt; image.&lt;/p&gt;</description></item><item><title>Executable Blog Posts: Second Take</title><link>https://www.thenegation.com/posts/executable-blog-post-pandoc-filters/</link><pubDate>Sun, 11 Aug 2024 22:35:12 +0000</pubDate><guid>https://www.thenegation.com/posts/executable-blog-post-pandoc-filters/</guid><description>&lt;p&gt;This is a second take for my previous blog post &lt;a href="https://www.thenegation.com/posts/abuse-haskell/"&gt;Abusing Haskell: Executable
Blog Posts&lt;/a&gt;. This time, I am going to improve the solution with a &lt;a href="https://www.lua.org"&gt;Lua&lt;/a&gt; filter
for &lt;a href="https://pandoc.org"&gt;pandoc&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>More Haskell Diagrams: Images</title><link>https://www.thenegation.com/posts/haskell-diagrams-images/</link><pubDate>Sat, 10 Aug 2024 11:03:50 +0000</pubDate><guid>https://www.thenegation.com/posts/haskell-diagrams-images/</guid><description>&lt;p&gt;Let&amp;rsquo;s continue exploring the Haskell &lt;a href="https://diagrams.github.io"&gt;diagrams&lt;/a&gt; library. In this post, we will
embed external images in our diagrams.&lt;/p&gt;</description></item><item><title>Introduction to Haskell Diagrams</title><link>https://www.thenegation.com/posts/haskell-diagrams-intro/</link><pubDate>Fri, 09 Aug 2024 23:20:10 +0000</pubDate><guid>https://www.thenegation.com/posts/haskell-diagrams-intro/</guid><description>&lt;p&gt;I need a solid declarative diagramming library or tool that I can invest time
in. I always wanted to learn Haskell&amp;rsquo;s &lt;code&gt;diagrams&lt;/code&gt; library. In this post, I will
give it a try.&lt;/p&gt;</description></item><item><title>Pomodoro Timer: Waybar and uair</title><link>https://www.thenegation.com/posts/pomodoro-waybar-uair/</link><pubDate>Thu, 08 Aug 2024 21:02:30 +0000</pubDate><guid>https://www.thenegation.com/posts/pomodoro-waybar-uair/</guid><description>&lt;p&gt;Most life hackers know about the &lt;em&gt;&lt;a href="https://en.wikipedia.org/wiki/Pomodoro_Technique"&gt;Pomodoro Technique&lt;/a&gt;&lt;/em&gt;. I tried it, and saw its
merits in the past, but I never adopted it as a habit. I decided to fully invest
in it this time, starting with my &lt;em&gt;Pomodoro Timer&lt;/em&gt; on my desktop.&lt;/p&gt;</description></item><item><title>Hasura CLI on NixOS: A Working Solution</title><link>https://www.thenegation.com/posts/hasura-cli-on-nixos/</link><pubDate>Wed, 07 Aug 2024 22:02:10 +0000</pubDate><guid>https://www.thenegation.com/posts/hasura-cli-on-nixos/</guid><description>&lt;p&gt;This post comes after an exciting discovery of a solution to a problem I and my
team have been facing for a while: Getting Hasura CLI work on NixOS like any
other program.&lt;/p&gt;</description></item><item><title>Using niv to Manage Haskell Dependencies</title><link>https://www.thenegation.com/posts/using-niv-with-hackage/</link><pubDate>Tue, 06 Aug 2024 20:31:10 +0000</pubDate><guid>https://www.thenegation.com/posts/using-niv-with-hackage/</guid><description>&lt;p&gt;Using Nix to manage project dependencies and development environments is a great
way to keep your projects reproducible and isolated. &lt;a href="https://github.com/nmattia/niv"&gt;niv&lt;/a&gt; can help you further
in this by pinning the versions of your dependencies outside of your Nix code as
JSON data.&lt;/p&gt;
&lt;p&gt;In this post, I will show you what using &lt;a href="https://github.com/nmattia/niv"&gt;niv&lt;/a&gt; looks like and how to override
Haskell dependencies. I will also demo a small script I wrote to add Hackage
packages to the &lt;code&gt;sources.json&lt;/code&gt; file.&lt;/p&gt;</description></item><item><title>Backup GitHub Repositories with gidek</title><link>https://www.thenegation.com/posts/backup-github-repos/</link><pubDate>Mon, 05 Aug 2024 21:24:10 +0000</pubDate><guid>https://www.thenegation.com/posts/backup-github-repos/</guid><description>&lt;p&gt;Do you backup your Git repositories? If not, you should consider doing so. I
might even have a solution for you if you are using GitHub: &lt;a href="https://github.com/vst/gidek"&gt;gidek&lt;/a&gt;. It even has
some NixOS goodies packed with it.&lt;/p&gt;</description></item><item><title>Abusing Haskell: Executable Blog Posts</title><link>https://www.thenegation.com/posts/abuse-haskell/</link><pubDate>Sun, 04 Aug 2024 12:21:10 +0000</pubDate><guid>https://www.thenegation.com/posts/abuse-haskell/</guid><description>&lt;p&gt;Why? Because I can, and it is a rainy Sunday.&lt;/p&gt;
&lt;p&gt;I post my notes on &lt;a href="https://www.thenegation.com"&gt;my blog&lt;/a&gt;, &lt;a href="https://thenegation.hashnode.dev"&gt;Hashnode&lt;/a&gt; and &lt;a href="https://dev.to/vst"&gt;dev.to&lt;/a&gt;, which require slightly
different markdown formats. I have been doing the sane thing to fix formats so
far. But it is a rainy Sunday and I am bored, so I decided to make this blog
post an executable Haskell program to do the same.&lt;/p&gt;</description></item><item><title>Managing NixOS Secrets via SOPS, sops-nix and opsops</title><link>https://www.thenegation.com/posts/sops/</link><pubDate>Sat, 03 Aug 2024 18:29:25 +0000</pubDate><guid>https://www.thenegation.com/posts/sops/</guid><description>&lt;p&gt;Secret provisioning is a critical operation during the deployment and management
of a software system. The way it is done can have significant impact on both
security and operational efficiency.&lt;/p&gt;
&lt;p&gt;In this post, I am going to discuss &lt;a href="https://getsops.io"&gt;SOPS&lt;/a&gt;, &lt;a href="https://github.com/Mic92/sops-nix"&gt;sops-nix&lt;/a&gt; and &lt;a href="https://github.com/vst/opsops"&gt;opsops&lt;/a&gt; tools for
managing secrets and how I and my team use it.&lt;/p&gt;</description></item><item><title>Your package.json as a Credit Account</title><link>https://www.thenegation.com/posts/packages-credit-account/</link><pubDate>Fri, 02 Aug 2024 21:54:10 +0000</pubDate><guid>https://www.thenegation.com/posts/packages-credit-account/</guid><description>&lt;p&gt;It is quite easy to install a new &lt;code&gt;npm&lt;/code&gt; package into your project. I go one step
further, and insist on that actually it is &lt;em&gt;too&lt;/em&gt; easy.&lt;/p&gt;
&lt;p&gt;Every dependency in your project is like an expense on your credit account. And
that is &lt;a href="https://youtube.com/shorts/eIKqfujuxIQ?si=nEiLZG3siiZXKlQ6"&gt;not good&lt;/a&gt; if this credit account is not managed properly.&lt;/p&gt;</description></item><item><title>OpenResty on NixOS for an API Gateway</title><link>https://www.thenegation.com/posts/nixos-openresty-api-gateway/</link><pubDate>Thu, 01 Aug 2024 11:45:40 +0000</pubDate><guid>https://www.thenegation.com/posts/nixos-openresty-api-gateway/</guid><description>&lt;p&gt;Are you using an API gateway? Do you really need one? If you are using &lt;a href="https://nixos.org"&gt;NixOS&lt;/a&gt;
and feel comfortable with some &lt;a href="https://www.lua.org"&gt;Lua&lt;/a&gt;, you may want to consider &lt;a href="https://openresty.org"&gt;OpenResty&lt;/a&gt; on
NixOS as an API gateway.&lt;/p&gt;</description></item><item><title>Running NixOS Guests on QEMU</title><link>https://www.thenegation.com/posts/nixos-on-qemu/</link><pubDate>Wed, 31 Jul 2024 14:41:19 +0000</pubDate><guid>https://www.thenegation.com/posts/nixos-on-qemu/</guid><description>&lt;p&gt;Once in a while, I want to test some NixOS configuration without affecting my
main system or launching new hosts on the cloud.&lt;/p&gt;
&lt;p&gt;Running NixOS on a virtual machine (VM) is a safe and reproducible way to test
such configurations. As for VMs, I have used &lt;a href="https://www.virtualbox.org"&gt;VirtualBox&lt;/a&gt;, &lt;a href="https://www.vagrantup.com"&gt;Vagrant&lt;/a&gt; and &lt;a href="https://canonical.com/lxd"&gt;lxd&lt;/a&gt;
in the past. However, I have found QEMU to be the simplest and most flexible
solution for my needs.&lt;/p&gt;
&lt;p&gt;This guide is a quick reference to create and run NixOS guests on QEMU.&lt;/p&gt;</description></item><item><title>Archiving PostgreSQL Backups on NixOS</title><link>https://www.thenegation.com/posts/nixos-pg-archives/</link><pubDate>Tue, 30 Jul 2024 09:18:10 +0000</pubDate><guid>https://www.thenegation.com/posts/nixos-pg-archives/</guid><description>&lt;p&gt;This is a technical note on how to archive PostgreSQL backups on &lt;a href="https://nixos.org"&gt;NixOS&lt;/a&gt; to one
or more targets using &lt;a href="https://rclone.org"&gt;rclone&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Develop R Packages under Nix Shell</title><link>https://www.thenegation.com/posts/nix-r-package-guide/</link><pubDate>Fri, 05 Jan 2024 08:22:10 +0000</pubDate><guid>https://www.thenegation.com/posts/nix-r-package-guide/</guid><description>&lt;p&gt;This is a guide for creating, developing and testing &lt;a href="https://www.r-project.org"&gt;R&lt;/a&gt; packages under a &lt;a href="https://en.wikipedia.org/wiki/Nix_package_manager"&gt;Nix&lt;/a&gt;
Shell using R tools such as &lt;a href="https://devtools.r-lib.org"&gt;devtools&lt;/a&gt;, &lt;a href="https://testthat.r-lib.org"&gt;testthat&lt;/a&gt; and &lt;a href="https://usethis.r-lib.org"&gt;usethis&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Modern Web-based APIs: What to Expect?</title><link>https://www.thenegation.com/posts/modern-web-based-apis/</link><pubDate>Wed, 03 Jun 2020 00:00:00 +0000</pubDate><guid>https://www.thenegation.com/posts/modern-web-based-apis/</guid><description>&lt;p&gt;Here are some quick notes for mysels on what to expect from a modern, Web-based
API that facilitates data query and manipulation (and possibly remote procedure
calls).&lt;/p&gt;</description></item><item><title>Unreasonable Revolutionary</title><link>https://www.thenegation.com/posts/unreasonable-revolutionary/</link><pubDate>Sun, 10 Jun 2012 23:10:00 +0000</pubDate><guid>https://www.thenegation.com/posts/unreasonable-revolutionary/</guid><description>&lt;p&gt;&lt;em&gt;&lt;a href="http://www.goodreads.com/book/show/192221.How_to_Solve_It"&gt;How to Solve It: A New Aspect of Mathematical Method&lt;/a&gt;&lt;/em&gt; by &lt;a href="http://en.wikipedia.org/wiki/George_P%C3%B3lya"&gt;George Pólya&lt;/a&gt;
provides a detailed and entertaining survey of general methods for problem
solving, namely &lt;em&gt;heuristics&lt;/em&gt;. I guess that most people dealing with mathematics
in daily life have read this book.&lt;/p&gt;</description></item><item><title>Redefining the Ontology of Accounting</title><link>https://www.thenegation.com/posts/redefining-the-ontology-of-accounting/</link><pubDate>Sun, 15 Jan 2012 08:03:01 +0000</pubDate><guid>https://www.thenegation.com/posts/redefining-the-ontology-of-accounting/</guid><description>&lt;p&gt;&lt;em&gt;Accounting&lt;/em&gt; is more than 7,000 years old. This discipline helps us to plan,
execute and assess business transactions. It is also the universal language of
business.&lt;/p&gt;
&lt;p&gt;In particular, &lt;em&gt;double-entry accounting&lt;/em&gt; (also known as &lt;em&gt;double-entry
bookkeeping&lt;/em&gt;) system has been used for about the last five centuries as a
framework to record business transactions. We can then consolidate these
transactions and report summaries through standardized documents such as
ledgers, balance sheets, income statements, etc.&lt;/p&gt;
&lt;p&gt;However, we are living in the age of information technology. And the way we
perform accounting still looks like it is pre-computer age.&lt;/p&gt;
&lt;p&gt;Can we do any better now?&lt;/p&gt;
&lt;p&gt;In the following, I will briefly explain my concerns. Then, a relatively recent
and exciting ontological approach to accounting follows.&lt;/p&gt;</description></item></channel></rss>