Site uses cookies to provide basic functionality.
Javascript rendering is set to off by default when visiting the site via .onion and .i2p domains. It can be enabled back again in user's settings section. Javascript rendering set to off means, that you can disable javascript in your browser now and the site will remain functional.
There is also IRC server now available via native IRC clients or non javascript web based one.
Fonts can be adjusted in user's settings section as well.
Check FAQ for more.

OK

This is the world in the eyes of a dog The poor things have such a cold experience of the world. Our eyes while giving us a richer experience of the world are also a limited mechanical tool. The world doesn’t care though. It stays the same regardless of the tools we use to perceive it - whether it’s the eyes of a dog or my presbyc ones. This sounds like stoner talk, but hear me out.

My first post - apurva-shukla.me - 6 years ago - eng
I’m learning React & Gatsby’s framework all in one go in an effort to build my own personal website. I’m hoping for it to house my blog…

In the technology world today, the term Open is most commonly associated with Open Source . Open Source refers to software released under a license that gives other software developers access to modify the original Source code that was used to create the software. This, in turn allows other software developers worldwide to quickly identify and fix bugs and security loopholes, as well as make feature improvements to the software. Co..

In the technology world today, the term Open is most commonly associated with Open Source . Open Source refers to software released under a license that gives other software developers access to modify the original Source code that was used to create the software. This, in turn allows other software developers worldwide to quickly identify and fix bugs and security loopholes, as well as make feature improvements to the software. Co..

UPDATE: I'm no longer using these steps. See Emacs plus –with-native-comp for an easier alternative. Below are the instructions I use to build Andrea Corallo's gccemacs on macOS. It is based on Allen Dang 's handy instructions plus some changes of my own. Install gcc and libgccjit via homebrew brew install gcc libgccjit Save configure script Create configure-gccemacs.sh #!/bin/bash set -o nounset set -o errexit # Configures Em....

How playing the game Factorio reminds me of software engineering, from managing complexity to teamwork and automation

In this post we'll write a Python to C compiler in Python. This is especially easy to do since Python has a builtin parser library and because a number of CPython internals are exposed for extension writers . By the end of this post, in a few hundred lines of Python, we'll be able to compile and run the following program: $ cat tests / recursive_fib . py def fib ( n ): if n == 0 or n == 1 : retu....

How playing the game Factorio reminds me of software engineering, from managing complexity to teamwork and automation

Use the dependency injection of Symfony to configure super-easily a strategy pattern with your services.

While benchmarking a custom concurrent functor queue against standard library containers, I noticed something that I didn’t expect. The common concern about the standard containers, especially ones such as std::list,...

The August 4th explosions in Beirut were very jarring to me due to the loss of human life, and the numerous , direct videos that looked like something out my 80s youth nightmares. Hearing that it was caused by 2,750 tonnes of ammonium nitrate , I started working on my phone to quantify my fear by figuring out how easy it would be to ship that much, and how much it would cost. According to wikipedia, there were at least 171 deaths;....


Not long after I found an old piece on attribution from Thinkst Applied Research , Cisco’s Talos Intelligence group posted an article on the same topic . Attribution is fraught, as both pieces explain. IP geolocation is woefully inaccurate, many of the tactics, techniques, and procedures tied to specific actors are either so common that they apply to several groups or so general that they might as well, and the proliferation of viable too..

Do you want to distribute your Python applications to other users who don't have or even use Python? Maybe you're interested in seeing your Python application run on iOS or Android mobile devices. This week on the show we have Russell Keith-Magee, the founder and maintainer of the BeeWare project. Russell talks about Briefcase, a tool that converts a Python application into native installers on macOS, Windows, Linux, and mobile devices.

Recently I have been learning about remote procedural calls (RPCs) in * Golang and realized I was unable to find an easy example on how to write a unit test for RPCs. In this post, I’ll explain how I figured out a solution.

About - makedist.com - 6 years ago - eng

There are a *lot* of React Component libraries to choose from. This guide attempts to put them all on one page.



The Bigger the Tos - rjp.is - 6 years ago - eng

If you’re like me, most of the mail you get anymore is junk mail. One common type of junk mail is “scratch-off promotions” from car dealerships. You know, those lottery-looking pieces that seem to award everyone the top prize?


Note : Updated on 2022-06-04 to reflect experience with actually maintaining these gems. This blog post talks about my experiences converting a handful of Ruby class libraries to gems. As do a lot of software engineers, I have a series of routines that I bring into almost every Ruby project I tackle that deal with what I consider core stuff you always need: url handling, database stuff, time parsing and so on. Normally I just copy th....

mdfind is an OSX executable which taps into the underlying spotlight index to find files quickly. However if you want to quickly sort results you need to pipe its output (the symbol i.e. shift key + forward slash) into another program. The program we are going to send its results to is xargs which then handles integrating the results from mdfind with another command and organizing the results. Note : I regard xargs as "Unix Dark Mag..

Note : Updated on 2022-06-04 to reflect experience with actually maintaining these gems. This blog post talks about my experiences converting a handful of Ruby class libraries to gems. As do a lot of software engineers, I have a series of routines that I bring into almost every Ruby project I tackle that deal with what I consider core stuff you always need: url handling, database stuff, time parsing and so on. Normally I just copy th....

mdfind is an OSX executable which taps into the underlying spotlight index to find files quickly. However if you want to quickly sort results you need to pipe its output (the symbol i.e. shift key + forward slash) into another program. The program we are going to send its results to is xargs which then handles integrating the results from mdfind with another command and organizing the results. Note : I regard xargs as "Unix Dark Mag..

Like a lot of engineers, I have a handful of personal projects I keep around for various reasons. Some are useful and some are just for fun, but none of them get the same sort of investment as a funded commercial effort. The consequence of this is that it's all the more important to keep things as simple as possible, to focus the investment where it counts. Part of the way I achieve that is that I've spent some initial time putting together....

Conventionally, robust competitive analysis identifies current and potential competitors, reflects on their strengths and weaknesses subsequently highlighting trends and uncovering opportunities. A popular framework to summarize the results of such an investigation is the fairly common Competitor Analysis Matrix (Fig 1). The matrix is a bird’s eye view of competition with an in-depth analysis of their offering.


Cargo actually provides a way to cleanly rename tables without any “downtime,” but it’s not obvious or documented how to do this.

Cargo actually provides a way to cleanly rename tables without any “downtime,” but it’s not obvious or documented how to do this.

Cargo actually provides a way to cleanly rename tables without any “downtime,” but it’s not obvious or documented how to do this.

Cargo actually provides a way to cleanly rename tables without any “downtime,” but it’s not obvious or documented how to do this.

Code refactoring is an essential part of the job of software developers. As time goes on, technology evolves, product requirements change…

Series Index Python and Go: Part I - gRPC Python and Go: Part II - Extending Python With Go Python and Go: Part III - Packaging Python Code Python and Go: Part IV - Using Python in Memory Introduction In the previous post we compiled Go code to a shared library and used it from the Python interactive shell. In this post we’re going to finish the development process by writing a Python module that hides the low level detai..

Code refactoring is an essential part of the job of software developers. As time goes on, technology evolves, product requirements change…


Do you want more traffic, but don’t know where to start? Are you on Quora? Did you know you can use Quora to get traffic to your blog?

Using SVG icons instead of PNG or JPG has a few performance benefits, but they're not always straightforward to use. Here's how you do it.

One form or another of Two Factor Authentication - 2FA - (sometimes called Two step verification - 2SV) is becoming increasingly common. In particular, Time-based One Time Password (TOTP) is very widely used. TOTP is implemented in products like Google Authenticator , Microsoft Authenticator and Authy (amongst others). You absolutely should use an app like this for your day-to-day needs. However, sometimes it's useful to have a C..

Sometimes you want a BASH script to be able to fork itself, so that it continues to run in the background, so that it keeps running even if (say) the SSH session is disconnected. Although you could trigger it manually when calling your script, sometimes you want it to be conditional - if a lock exists you may not want to fork The mechanism this snippet uses is fairly simple, it checks to see if an environment variable is set, if not, it..

Previously, we have shared our AngularJS Security Fundamentals cheatsheet. This time around, we dive straight into the modern Angular security best practices.

This structure of this blog is almost completely maintained by hand: I manually add entries to the index page, often going back to edit existing posts, and several entries are perennial -- such as my Book list, as well as the syntopical collections on different sets of books. That makes it fairly tricky to automate an RSS feed: at the same time, enough (4) people have directly reached out to request one. Instead of spending a lo....


190 visitors online