HNHacker News
TopNewBestAskShowJobs

W0lf

425 karma · joined December 26, 2012

Computer scientist (M.Sc.) with a strong focus on Computer Vision, Image Processing and Machine Learning mainly in the languages C, C++(11,14), Java and Python. http://kai-wolf.me

[ my public key: https://keybase.io/newproggie; my proof: https://keybase.io/newproggie/sigs/IGvw8WxNVmB5OPL1uJCvhQ5H2-8CnTLkMg6Z1efp9mI ]

submissionscomments
W0lf··on How To Edit A Low-Budget Blockbuster [video]
Ha, reminds me strongly of 'The Scene' [1]. Does anybody remember that series?

[1] https://en.wikipedia.org/wiki/The_Scene_(miniseries)

W0lf··on Ask HN: Best things in your bash_profile/aliases?
I have a whole repository also including several dotfiles that I maintain for already several years [1]. Following are some snippets from the dotfiles/.alias and dotfiles/.functions files from that repository that probably are the most interesting and which I am using on a regular basis:

    # easier navigation
    alias ..="cd .."
    alias ...="cd ../.."
    alias ....="cd ../../.."
    alias .....="cd ../../../.."
    alias ~="cd ~"

    # Get current public ip address
    alias ip="dig +short myip.opendns.com @resolver1.opendns.com"

    # Alias for summing a column
    alias mksum="paste -sd+ - | bc"

    # Export pbcopy / pbpaste to linux 
    if [[ "${OSTYPE}" == "linux"* ]]; then
        alias pbcopy="xclip -selection clipboard"
        alias pbpaste="xclip -selection clipboard -o"
    fi

    # create a new directory and enter it
    function mkd() {
        mkdir -p "$@" && cd "$_";
    }

    # plot stuff directly from the command line.
    # Example: seq 100 | sed 's/.*/s(&)/' | bc -l | plot linecolor 2
    # -> Generate 100 numbers, wrap it in s(<num>) and calc sin(<num>)
    function plot() {
        { echo 'plot "-"' "$@"; cat; } | gnuplot -persist;
    }

    # wrapper for easy extraction of compressed files
    function extract () {
      if [ -f $1 ] ; then
          case $1 in
              *.tar.xz)    tar xvJf $1    ;;
              *.tar.bz2)   tar xvjf $1    ;;
              *.tar.gz)    tar xvzf $1    ;;
              *.bz2)       bunzip2 $1     ;;
              *.rar)       unrar e $1     ;;
              *.gz)        gunzip $1      ;;
              *.tar)       tar xvf $1     ;;
              *.tbz2)      tar xvjf $1    ;;
              *.tgz)       tar xvzf $1    ;;
              *.apk)       unzip $1       ;;
              *.epub)      unzip $1       ;;
              *.xpi)       unzip $1       ;;
              *.zip)       unzip $1       ;;
              *.war)       unzip $1       ;;
              *.jar)       unzip $1       ;;
              *.Z)         uncompress $1  ;;
              *.7z)        7z x $1        ;;
              *)           echo "don't know how to extract '$1'..." ;;
          esac
      else
          echo "'$1' is not a valid file!"
      fi
    }
[1] https://github.com/NewProggie/Dev-Utils
W0lf··on An Introduction to Modern CMake
Exactly what I am trying to fix [1] (if I somehow manage to actually finish the book hopefully soon). I was missing a hands-on guide as well that actually guides you through a typical to large-size project with many internal/external dependencies. This is what I am discussing in the linked book with working approaches that I have tested and verified in production.

[1] http://effective-cmake.com

W0lf··on SIGGRAPH 2018 Papers: Machine Learning, Graphics, and Rendering
Here [1] is an overall video overview over some selected papers in this years SIGGRAPH

[1] https://www.youtube.com/watch?v=t952yS8tcg8

W0lf··on Ask HN: Learning multiple languages vs. mastering one
I'd suggest to learn different _types_ of programming languages. That is, one object-oriented (like Java as you already have), one logical such as Prolog, one functional such as Haskell, you get the idea. In my mind learning several languages that all more or less belong into the same domain probably won't gain you any more insight into this field since all you're actually learning are subtle differences in syntax.
W0lf··on Engineering and Software Engineering (2010) [pdf]
Yes, but at least he wanna get started something
W0lf··on 2017 Tax Software Developer's Guides and Test Cases
Can you provide a link to the mentioned flowchart as well, please?
W0lf··on Nobody's just reading your code
I don't. There are a few indicators though like the overall structure of the source files, how they are laid out on the file system. Minor details like inconsistent formatting. Typically if one or more of those indications is messed up, I'm pretty sure the rest of the codebase is also not in a good state. I still do skim through some files to confirm my expectation though.
W0lf··on Nobody's just reading your code
I wouldn't have thought to be in the minority when stating that I actually read a lot of foreign code out of curiosity. Especially when dealing with architectural decisions, I like to dig into codebases I consider to be good and professional (a rarity in the professional/proprietary development world unfortunately). For instance, reading the chromium source code or mozilla for that matter, give you a lot of good input since both codebases are sufficiently complex and deal with a lot of layers and stacks.
W0lf··on Maintaining code quality when nobody cares
Yes, you summed up perfectly what I've been experiencing in my professional career for quite some time now.
W0lf··on The Myths and Realities of Studying Computer Science
Programming is to Computer Science what telescopes are to astronomers
W0lf··on Afraid of Makefiles? Don't be
May I kindly plug my upcoming book [1] for writing CMake in an effective and straightforward manner :-) I was just porting a large Makefile based build system over to CMake and had the 'pleasure' to find out why recursive Make really is the root of all evil and just doesn't scale well enough for large software systems. At least to my mind.

[1] https://leanpub.com/effective-cmake

W0lf··on Effective Tensorflow
There are clear instructions [1] for mobile (iOS and Android) in the official TF Repository.

[1] https://github.com/tensorflow/tensorflow/tree/master/tensorf...

W0lf··on Tools for Remote Software Development and Pair Programming
I've used a shared tmux session over ssh in the past, which worked quite nicely without installing any extra software (besides tmux obviously)
W0lf··on Ask HN: What language-agnostic programming books should I read?
I've gathered all the book titles in this thread and created Amazon affiliate links (if you don't mind. Otherwise you still have all the titles together :-) )

A Pattern Language, Alexander and Ishikawa and Silverstein http://amzn.to/2s9aSSc

Advanced Programming in the Unix Environment , Stevens http://amzn.to/2qPOMjN

Algorithmics: the Spirit of Computing, Harel http://amzn.to/2rW5FNS

Applied Crytography, Wiley http://amzn.to/2rsULxS

Clean Code, Martin http://amzn.to/2sIOWtQ

Clean Coder, Martin http://amzn.to/2rWgbEP

Code Complete, McConnel http://amzn.to/2qSUIwE

Code: The Hidden Language of Computer Hardware and Software, Petzold http://amzn.to/2rWfR9d

Coders at Work, Seibel http://amzn.to/2qPCasZ

Compilers: Principles, Techniques, & Tools, Aho http://amzn.to/2rCSUVA

Computer Systems: A Programmer's Perspective, O'Hallaron and Bryant http://amzn.to/2qPY5jH

Data Flow Analysis: Theory and Practice, Khedker http://amzn.to/2qTnSvr

Dependency Injection in .NET, Seemann http://amzn.to/2rCz0tV

Domain Driven Design, Evans http://amzn.to/2sIGM4N

Fundamentals of Wireless Communication, Tse and Viswanath http://amzn.to/2rCTmTM

Genetic Programming: An Intrduction, Banzhaf http://amzn.to/2s9sdut

Head First Design Patterns, O'Reilly http://amzn.to/2rCISUB

Implementing Domain-Driven Design, Vernon http://amzn.to/2qQ2G5u

Intrduction to Algorithms, CLRS http://amzn.to/2qXmSBU

Introduction to General Systems Thinking, Weinberg http://amzn.to/2qTuGJw

Joy of Clojure, Fogus and Houser http://amzn.to/2qPL4qr

Let over Lambda, Hoyte http://amzn.to/2rWljcp

Operating Systems: Design and Implementation, Tanenbaum http://amzn.to/2rKudsw

Parsing Techniques, Grune and Jacobs http://amzn.to/2rKNXfn

Peopleware: Productive Projects and Teams, DeMarco and Lister http://amzn.to/2qTu86F

Programming Pearls, Bentley http://amzn.to/2sIRPe9

Software Process Design: Out of the Tar Pit, McGraw-Hill http://amzn.to/2rVX0v0

Software Runaways, Glass http://amzn.to/2qT2mHn

Sorting and Searching, Knuth http://amzn.to/2qQ4NWQ

Structure and Interpretation of Computer Programs, Abelson and Sussman http://amzn.to/2qTflsk

The Art of Unit Testing, Manning http://amzn.to/2rsERDu

The Art of Unix Programming, ESR http://amzn.to/2sIAXUZ

The Design of Design: Essays from a Computer Scientist, Brooks http://amzn.to/2rsPjev

The Effective Engineer, Lau http://amzn.to/2s9fY0X

The Elements of Style, Strunk and White http://amzn.to/2svB3Qz

The Healthy Programmer, Kutner http://amzn.to/2qQ2MtQ

The Linux Programming Interface, Kerrisk http://amzn.to/2rsF8Xi

The Mythical Man-Month, Brooks http://amzn.to/2rt0dAR

The Practice of Programming, Kernighan and Pike http://amzn.to/2qTje0C

The Pragmatic Programmer, Hunt and Thomas http://amzn.to/2s9dlvS

The Psychology of Computer Programming, Weinberg http://amzn.to/2rsPypy

Transaction Processing: Concepts and Techniques, Gray and Reuter http://amzn.to/

Types and Programming Languages, Pierce http://amzn.to/2qT2d6G

Understanding MySQL Internals, Pachev http://amzn.to/2svXuFo

Working Effectively with Legacy Code, Feathers http://amzn.to/2sIr09R

Zen of graphics programming, Abrash http://amzn.to/2rKIW6Q

W0lf··on Build2 – A C++ Build Toolchain and Package Manager
Well, I'm in the middle of writing a book titled "Effective CMake" [1] where I'm going to explain how to use CMake in a nice and modern way and some of the tricks which are not covered by the (very good) documentation.

[1] https://leanpub.com/effective-cmake

W0lf··on Bangkok plans to ban all street food by year′s end
I'm already curious, if he will mention it in one of his next vlogs
W0lf··on Input Mono – A Typeface for Code, from Font Bureau
I'm using Operator Mono as my programming font for over a year now and never looked back. For me it's the most beautiful looking font (at least on Linux/Mac). I've tried it once on Windows but the hinting was somehow broken. Im also using the italic monospaced version for code comments and never saw anything similar in any other font . Unfortunately it's not very cheap though

https://www.typography.com/fonts/operator/styles/

W0lf··on 3D Comics
Interesting, the music theme from the third comic in the first row[1] is the exact copy of the famous game Star Trail[2] (The Dark Eye) from the nineties. I hear such similarities occasionally and always wonder if this is either a strong influence or a deliberate copy (No offense, just curious).

[1] http://yiwenl.github.io/Sketches/exps/28

[2] https://www.youtube.com/watch?v=7NyJlx2Ws18

W0lf··on TensorFlow 0.12 adds support for Windows
Nice, I was just fixing some of their CMake configuration recently (still waiting for my other PR to be merged though)
W0lf··on New MacBook Pro outsold every competing laptop in just five days
"But you should have known better and been using emacs anyway." That made me laugh out loudly harder than I've intended to do :-)
W0lf··on Visual Studio Code 1.5
This may be due to a bug I've filed a few days ago: https://github.com/Microsoft/vscode-cpptools/issues/191#issu... Unfortunately, it seems that the fix hasn't been landed on this release yet.
W0lf··on Ask HN: Typical work hours
Germany, 7am-4pm, with half an hour of unpaid lunch time. Usually by the time I arrive at work I already did my workout (gym or running). Since I'm living close to my work place I also drive my bike from/to work which takes about 20 min.
W0lf··on Ask HN: What's your favorite way to save money?
Hey, I pretty much have the same setup you've described except the second money transfer if your current account balance is above a given threshold. How did you solve this? Do you use a special tool for this such as MoneyMoney for example? (This is what I'm currently using for dealing with my bank accounts)
W0lf··on Show HN: QuickQwerty – Touch typing tutor
As a german guy (with qwertz keyboard) I feel like I'm left out :-(
W0lf··on Golang on GitHub
You can select a timeframe like this: https://github.com/golang/go/graphs/contributors?from=2008-0...
W0lf··on Golang on GitHub
Did someone else notice the c joke (?) in the first 3-4 commits?
W0lf··on Image Background Removal
There's a really good paper from 2011 which does quite a good job in image segmentation with very noisy background[1]. Their algorithm is biologically motivated and analyses contrast changes in different parts of the image as this is exactly how we separate interesting parts in images from uninteresting parts.

[1] http://vecg.cs.ucl.ac.uk/Projects/SmartGeometry/contrast_sal...

W0lf··on Download Atom editor without an invite
And boom. The script is gone :)
W0lf··on A back-projection algorithm to extract 3D volume from shadows
Yes, the linked video just shows the first step of the whole scanning process. I'm optimizing the 3d reconstruction based on texture correlation and estimate true depth for each surface point via cross ratio from four known points. Depth estimation from calibrated images via cross ratio is particularly interesting (imho), since it seems that it hasn't been done before.
← PreviousPage 4 of 5Next →