Yossi Kreinin - blog archive
- Advantages of incompetent management
- Profiling with Ctrl-C
- A 100x speedup with unsafe Python
- The state of AI for hand-drawn animation
inbetweening
- Managers have no human rights
- refix: fast, debuggable, reproducible builds
- Don't ask if a monorepo is
good for you – ask if you're good enough for a monorepo
- Patents: how and why to get them
- Things want to work, not punish errors
- Fun won't get it done
- The habitat of hardware bugs
- Evil tip: avoid "easy" things
- Love thy coworker; thy work, not necessarily
- The overblown frequency vs cost efficiency
trade-off
- People can read their manager's mind
- Stock options: a balanced approach
- A manager's pitfall: striving to "add value"
- The C++ FQA is on GitHub
- Fun with UB in C: returning uninitialized floats
- Accidentally quadratic: rm -rf??
- "Information asymmetry" cuts both ways
- A Sokoban levels design programming contest
- Capital vs labor: who risks more?
- Do company names actually matter?
- A better future
- Things from Python I'd miss in Go
- How to make a heap profiler
- Why bad scientific code beats code following
"best practices"
- Working simultaneously vs waiting simultaneously
- Can your static type system handle linear algebra?
- A simple way to "get more people to code"
- Very funny, gdb. Ve-ery funny.
- Delayed printf for real-time logging
- Coroutines in one page of C
- Do call yourself a programmer, and other career
advice
- How FPGAs work, and why you'll buy one
- The bright side of dark silicon
- Parallelism and concurrency need different tools
- 10x more selective
- checkedthreads: bug-free shared memory parallelism
- Amdahl's law in reverse: the wimpy core advantage
- Is program speed less important than X?
- Efficiency is fundamentally at odds with elegance
- How profilers lie: the cases of gprof and
KCachegrind
- It's "locking" if it's blocking
- C++ template fuckwittery
- Why custom allocators/pools are hard
- "Value", the irksome euphemism
- Will OpenCL help displace GPGPU? Parallella, P2012,
...
- Do you really want to be making this much money
when you're 50?
- C as an intermediate language
- Error codes vs exceptions: critical code vs typical
code
- Aren't side effects fundamental in complexity
analysis?
- What "Worse is Better vs The Right Thing" is really
about
- "It's done in hardware so it's cheap"
- Work on unimportant problems
- Hardware macroarchitecture vs microarchitecture
- Which of those would you like me to write?
- Passing shell script arguments to a subprocess
- Why programming isn't for everyone
- Compensation, rationality and the project/person
fit
- Cycles, memory, fuel and parking
- Could SOPA give us back a decentralized Internet?
- Coding standards: is consistency prettier than
freedom?
- Graham & Coase: when big companies are a good
idea
- Engineers vs managers: economics vs business
- SIMD < SIMT < SMT: parallelism in NVIDIA GPUs
- An unusual hardware architecture: APA
(Associative Processing Array)
- Machine code monkey patching
- Making data races manifest themselves
- The Iron Fist Coding Standard
- My history with Forth & stack machines
- The Internet age/reputation paradox
- If a tree falls in a forest, it kills Schrödinger's
cat
- Applied mathematics in business consulting
- Lack of wealth through lack of empathy
- API users & API wrappers
- Digital asses in the computing industry
- The Virtue of a Manager
- Getting the call stack without a frame pointer
- What makes cover-up preferable to error handling
- The C++ Sucks Series: petrifying functions
- Coding standards: having more errors in code than
code
- The nomadic programmer
- Humans and compilers need each other: the VLIW SIMD
case
- Pearls of wisdom
- The C++ Sucks Series: the quest for the entry point
- The internal free market
- Consistency: how to defeat the purpose of IEEE
floating point
- I want a struct linker
- The cardinal programming jokes
- I love globals, or Google Core Dump
- Extreme Programming Explained
- OO C is passable
- Redundancy vs dependencies: which is worse?
- I can't believe I'm praising Tcl
- Python: teaching kids and biting bits don't mix
- Side effects or not, aliasing kills you
- Optimal processor size
- IHateCamelCase
- Code, data and interactive programming
- The Algorithmic Virtual Machine
- "High-level CPU": follow-up
- The "high-level CPU" challenge
- Everybody agrees with yosefk
- Fun at the Turing tar pit
- Interrupt? Let the Bastard handle it!
- Why don't we have a word for it?
- Teeth marks at the rear end
- AI problems
- A writer of the lame kind
- Low-level is easy
- Blogging is hard