Skip to content

Instantly share code, notes, and snippets.


Maksim Ivanov satansdeer

View GitHub Profile
View Ancient Tech To Translate Modern Apps
# Using Ancient Technologies To Localize Modern Apps
People often stop me on the streets to ask one question. Maksim, what makes you so happy
about localization workflow you have at Mojang?
Today I will tell you how localization is usually being done, or at least how I've seen it being done.
What kind of solution did we come up in mojang, and why am I more happy about it than previous ones.
As you could aldeady notice this talk is going to be very opinionated and experience based so if at any point
you'll disagree - feel free to discuss it with me after the talk, i'll be more than happy.
View What is

What is doctype in HTML documents? And why do you have to specify the doctype?

If you open any webpage, and look at it's source code, you'll always see a little thingy just before the opening html tag. So what is it, and what does it do?

This string is a document type declaration, and it's important to note that it's not an html tag itself, but it's an instruction for the browser on what version of HTML is used on this page.

Good news, modern web developers don't have to know any doctypes other than doctype html, because since the html5 it's the only doctype you should set for your webpages.

Before html5, there were several others that had more complex syntax. You had to specify the link to the actual doctype declaration. For example like in this html4.01 strict. We specify the link to the doctype on website

View testGenerics.ts
type Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>;
function testGenerics<
P extends { stays: string; getsRemoved: string },
R = Omit<P, "getsRemoved">,
>(argumentP: P, argumentR: R) {
return null;
testGenerics({ stays: "foo", getsRemoved: "bar", test: 1 }, {}); // Why doesn't it complain about missign "stays" attribute?
View gist:3ebffebf82b5386805172caf704123f0
# Introduction
Awesome that you are interested in hosting an event!
This is a template that we use here at Stockholm React JS.
Since we parse this file programatically, please **do not** change headers or bold text, but feel free to change any text inside of a section or add anything you find appropriate.
# Your event intro
{{The intro text of this event, use this to quickly explain what the event
will be all about, be clear and try to get peoples attention. Don't write too much.}}
View button.css
.button {
padding: 3px;
width: 100%;
border-radius: 8px;
font-size: 24px;
border: none;
cursor: pointer;
color: #fff;
font-family: "Saira Condensed";
background-color: #5A56FD;
View checkmark.svg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View list.css
.list {
color: #333;
text-align: left;
list-style-type: none;
font-size: 24px;
padding: 0;
flex: 1;
margin: 0;
View cities.json
{"title":"St Petersburg",
View api.js
export const getWeatherForLocation = city => {
const [lat, long] = city["latt_long"].split(",");
return fetch(
mode: "cors"
).then(res => res.json());
View clear-day.svg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.