Working in his study.

If you are still reading this on medium I moved my blog to

It’s been a few months since I wrote a blog and I wanted to provide an update on what I’m doing. More blogs will come, just in the near future — got a couple drafts floating around.

Learning assembly, again

In college I did the binary bomb assignment (which i guess you can just do online now?) many computer science majors are familiar with. Since then I haven’t really touched assembly much. I read a book called programming from the ground up by jonathan bartlett. Programming assembly on i386…

How to setup a linux environment with chicken scheme installed.

Recently I was exploring different lisp variants and ran across chicken scheme. it sounds like a nefarious plot by the poultry stock of the world but it’s actually the premiere scheme implementation. I wanted an environment that could run chicken scheme with low setup and so created a basic image that has chicken scheme as well some other compilation tools. Attached here is that environment, and some basic guides/reading to get started.

Here is the docker image:

FROM ubuntu:bionicRUN apt-get update && apt-get install -y \…

Below is a list of coffee shops I’ve found in Vienna that are good for working. It contains relevant information for computer based work (wifi situation, plugs, weird opening hours). Plug situation at each cafe is rated on a scaled from none, few, some, many. Coffee quality is rated on a scale from bad, acceptable, good, very good.

short break

coffee — acceptable

wifi — yes

plugs — yes and plenty

hours — 6:30AM-8:30PM most days, weekends 8AM-8:30PM

coffee junkie

coffee — good

wifi — yes

plugs — not sure

hours — 7:30AM–6PM most days, 10AM-6PM saturday


coffee —…

Adding objectives to our game.

The end result will look something like this

If you are still reading this on medium I moved my blog to

A few months ago I wrote a post that goes over how to make a game with pygame. Please checkout that post first as it lays the foundation for this one. The game was a sandbox and lacked objectives but you could collect raw materials, craft, and build things. In this post we will add an objective to our game that creates something to build towards.

What is our objective?

Before that we need to ask: what is the point of our game? If you…

You may have heard COBOL before. If you search for it you will find images like this:

If you are still reading this on medium I moved my blog to

This is a picture of a COBOL program editor running in a mainframe. Below we will go over 7 examples to COBOL (COmmon Business Oriented Language). We’ll be running these programs on Linux. We are not going cover mainframe tutorials here; there’s a really good tutorial on mainframes here and I’ve added some mainframe resources at the end.

How to Install the GnuCobol compiler

This compiler transpiles COBOL to C bytecode that can run on…

If you are still reading this on medium I moved my blog to

Recently I became interested in graphics programming, specifically shaders. Alot of tutorials are very high level and don’t try to teach you what’s happening under the hood. I wanted to understand things happening under the hood. Below is my annotation for a set of openGL tutorials.

1 — Choose your language, platform.

I chose openGL, specifically PyOpenGL. openGL is an open standard maintained by many companies through Khronos. It’s very flexible and runs on basically every system. …

If you are still reading this on medium I moved my blog to

Today I’m releasing the cLPR dataset, a dataset for doing work in 3D machine learning. The name stands for Cubes for Learning Pose and Rotation. The goal is to provide a nice baseline dataset of colored 3D cubes in many different positions for testing machine learning algorithms whose goal is to learn about pose and rotation.

Download the dataset here:

The Data

The dataset contains 32x32, 64x64, 128x128, 256x256 jpeg images of a cube (2d projections of the 3d object).The jpegs do not have any quality loss…

Need to get image sizes using torchvision datasets?

If you are still reading this on medium I moved my blog to

If you try to load images with torchvision you may get an error like this:

May throw and give you an error like this at the bottom of the stack trace:

RuntimeError: invalid argument 0: Sizes of tensors must match except in dimension 0. Got 256 and 519 in dimension 2 at /opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/TH/generic/THTensorMath.c:2897

Basically because each batch is a single tensor (matrix) and pytorch is saying that all the images in a batch need to be the…

A quick reference for anyone new to the format.

If you are still reading this on medium I moved my blog to

Recently I was working with some .c3d files and I didn’t seem to be able to find a whole lot of information on how to read, and understand them. Here is what I’ve found so far.


If you read the file with the c3d python package (below) You’ll find the data probably has 2 sections, the 3D point data and the analog data.

The 3D point data is 5D for each data point in the animation. The…

A pyglet micro-tutorial.

If you are still reading this on medium I moved my blog to

I’ve been learning to program graphics with pyglet, a python binding for opengl. I’ve noticed that there aren’t any really great or clear tutorials that actually explain things. Most of the tutorials add code without explaining what each line of code is responsible for doing. The last point is particularly problematic in graphics because there are so many little settings and options. It’s also worth noting that many settings don’t really do much of anything in isolation and only work with other settings.

Yvan Scher


Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store