- Read our resume from the beginning to end.
- Do not make us fill endless forms.
- Be polite, you don't need some human ASAP.
- If you are not going to hire 100%, do not invite to interview. It's should not be a trial game.
- Respond to the applicant as soon as possible, not later than 2 weeks.
- Give an honest, proper and constructive feedback stating why you are not hiring that person.
- No whiteboard interviews, stress testing, drills, brain teasers
- If you want to see how a person codes, give them a home task similar to what you expect.
I have a pet project I work on, every now and then. CNoEvil.
The concept is simple enough.
What if, for a moment, we forgot all the rules we know. That we ignore every good idea, and accept all the terrible ones. That nothing is off limits. Can we turn C into a new language? Can we do what Lisp and Forth let the over-eager programmer do, but in C?
This is a collection of the things I believe about software development. I have worked for years building backend and data processing systems, so read the below within that context.
Agree? Disagree? Feel free to let me know at @JanStette.
Keep it simple, stupid. You ain't gonna need it.
| /* MIT License | |
| Copyright (c) 2019-2020 Unlimiter | |
| Permission is hereby granted, free of charge, to any person obtaining a copy | |
| of this software and associated documentation files (the "Software"), to deal | |
| in the Software without restriction, including without limitation the rights | |
| to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | |
| copies of the Software, and to permit persons to whom the Software is | |
| furnished to do so, subject to the following conditions: |
| WAYLAND_PROTOCOLS=/usr/share/wayland-protocols | |
| # wayland-scanner is a tool which generates C headers and rigging for Wayland | |
| # protocols, which are specified in XML. wlroots requires you to rig these up | |
| # to your build system yourself and provide them in the include path. | |
| xdg-shell-protocol.h: | |
| wayland-scanner server-header \ | |
| $(WAYLAND_PROTOCOLS)/stable/xdg-shell/xdg-shell.xml $@ | |
| xdg-shell-protocol.c: xdg-shell-protocol.h |
| package main | |
| import ( | |
| "database/sql" | |
| "fmt" | |
| "flag" | |
| "os" | |
| "log" | |
| "runtime" | |
| "html/template" |
This is a short post that explains how to write a high-performance matrix multiplication program on modern processors. In this tutorial I will use a single core of the Skylake-client CPU with AVX2, but the principles in this post also apply to other processors with different instruction sets (such as AVX512).
Matrix multiplication is a mathematical operation that defines the product of
| "====================================================================== | |
| " | |
| " vinegar.vim - Vinegar & Oil (fork from tpope/vim-vinegar) | |
| " | |
| " Created by skywind on 2017/06/30 | |
| " Last Modified: 2018/03/16 22:33 | |
| " | |
| " Split windows and the project drawer go together like oil and | |
| " vinegar. I don't mean to say that you can combine them to create a | |
| " delicious salad dressing. I mean that they don't mix well! |
| # Copyright 2018 Cloudera, Inc. | |
| # | |
| # Licensed under the Apache License, Version 2.0 (the "License"); | |
| # you may not use this file except in compliance with the License. | |
| # You may obtain a copy of the License at | |
| # | |
| # http://www.apache.org/licenses/LICENSE-2.0 | |
| # | |
| # Unless required by applicable law or agreed to in writing, software | |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| from collections import defaultdict | |
| n=len(channels) | |
| shapley_values = defaultdict(int) | |
| for channel in channels: | |
| for A in v_values.keys(): | |
| if channel not in A.split(","): | |
| cardinal_A=len(A.split(",")) | |
| A_with_channel = A.split(",") |