HNHacker News
TopNewBestAskShowJobs

dhotson

8,324 karma · joined March 18, 2008

Dennis Hotson

https://dn.ht

http://dhotson.tumblr.com

https://twitter.com/dennishotson

dennis.hotson@gmail.com

submissionscomments
dhotson··on Ask HN: Who is hiring? (September 2021)
Influx | Software Engineer | Remote | Latin America, Mexico, Brazil, Argentina | Full-time | https://influx.com

Influx is looking for talented software engineers to join our small but growing team.

We build full-service customer support teams that can flex and scale monthly. Influx enables companies of all sizes to deliver consistent and high quality service 24/7.

Influx is looking for experienced Ruby engineers. This is primarily a back-end role using Ruby on Rails and Postgres with infrastructure hosted on Heroku and AWS.

The Influx engineering team is small but growing. There will be enormous opportunities for learning, personal growth and taking on more responsibility as the team continues to expand.

What we’re looking for:

- Someone that is curious, collaborative and ready to take ownership and responsibility.

- Comfortable being part of a small, autonomous and distributed team.

- Top-notch communication skills are essential.

- Eager to learn and grow.

Email me at dennis@influx.com to apply or ask questions. Thanks! :)

dhotson··on Ask HN: Who is hiring? (August 2021)
Influx | Software Engineer | Remote | Latin America, Mexico, Brazil, Argentina | Full-time | https://influx.com

Influx is looking for talented software engineers to join our small but growing team.

We build full-service customer support teams that can flex and scale monthly. Influx enables companies of all sizes to deliver consistent and high quality service 24/7.

Influx is looking for experienced Ruby engineers. This is primarily a back-end role using Ruby on Rails and Postgres with infrastructure hosted on Heroku and AWS.

The Influx engineering team is small but growing. There will be enormous opportunities for learning, personal growth and taking on more responsibility as the team continues to expand.

What we’re looking for:

  - Someone that is curious, collaborative and ready to take ownership and responsibility.
  - Comfortable being part of a small, autonomous and distributed team.
  - Top-notch communication skills are essential.
  - Eager to learn and grow.
Email me at dennis@influx.com to apply or ask questions. Thanks! :)
dhotson··on Need Something Sorted? Sleep on It
This reminds me of a clever hack I learned for finding bottlenecks when using a debugger or in cases where you're able to get a backtrace from a running program.

If you run the program and then just randomly trigger the debugger with CTRL-C.. the probability is that you're likely to have landed on a slow code path because that's where the program is spending most of its time.

dhotson··on Oblique Strategies
I really liked this version "Oblique Strategies: Prompts for Programmers" especially for when you're stuck on something.

https://kevinlawler.com/prompts

dhotson··on Compression Streams – JavaScript APIs to compress and decompress binary data
I think having gzip available for sending text and json POST data could be really good. In some testing I found that it can help squeeze some requests into a single packet.
dhotson··on National Park Typeface
The closest font I’ve seen is Coniferous https://www.futurefonts.xyz/ohno/coniferous
dhotson··on Intermediate Vim
Hey yeah thanks, it's really difficult to know where to start and how much to cover in an article like this.

I think I agree now that the title isn't quite right—my intention was to help beginners get towards some intermediate topics.

dhotson··on Intermediate Vim
Hey all, I'm the author. Feedback is welcome! :)

The reason I wrote this is because I've been pair programming quite a bit lately and also mentoring some new vim users—so I wrote this little guide to help vim beginners level up their skills a bit.

What I noticed is that a lot of vim beginners find composing commands and text-objects to be kind of mind blowing.. and even more experienced vim users mentioned that these were the things that made them have that "aha" moment and convinced them to learn more.

dhotson··on Ask HN: What discontinued company/product do you wish was still around?
I really miss Muxtape.
dhotson··on Neovim 0.3 released
When you test it out, make sure you try:

   :set inccommand=split
It's pretty cool, but I just prefer the nosplit way since it's less obtrusive. :)

It ends up being similar in use to how many modern editors have multiple cursors.

dhotson··on Neovim 0.3 released
Clipboard seems to work well for me with this config:

    set clipboard+=unnamedplus
More details on that here: https://neovim.io/doc/user/provider.html#provider-clipboard

A couple of small things I really like:

    :set inccommand=nosplit
... this gives you a live view of substitutions as you type out a replacement e.g :%s/foo/bar/

    :term
    :vs term://bash
... these gives you a proper embedded terminal window inside vim.

Also, I think vim8 has it as well, but something people might not realise is you can use truecolor gui color schemes (not limited to 256 color) in the terminal with

    :set termguicolors
It also has a guicursor option for making the cursor display as a block or bar in the terminal depending on which mode you're in: https://neovim.io/doc/user/options.html#'guicursor'

Other than that, there's a more thorough list of differences here: https://neovim.io/doc/user/vim_diff.html

dhotson··on Reinforcement Learning – Bandit Problems
Hmm, perhaps something like UCB1? The UCB (upper-confidence-bound) family of algorithms might be appropriate—it's not quite what you've described though.

They'll explore the arm with the highest potential payoff i.e. the highest upper-confidence-bound, which often is the arm you know the least about since they're roughly calculated as (average + confidence interval) and early on the confidence bound is large. This style of algorithm means you can add arms as you go through the experiment and they'll be explored/exploited in a reasonable way.

What you're describing sounds more like you're exploring a frontier and "discovering" new options along the way..?

dhotson··on Drawing better-looking Bézier curves
It should run fine on Windows as well, but I haven't had a chance to test.
dhotson··on Drawing better-looking Bézier curves
It's really interesting if you look at how CAD handles this stuff. It lets you set the degree of curvature-continuity/smoothness you want—and it kind of takes care of filling in the curve for you. You have to give up some direct control over the curve if you need it to meet these constraints.

Here's what different degrees of curvature continuity look like: http://help.autodesk.com/cloudhelp/2017/ENU/Alias-Tutorials/...

.. or in 2d: http://help.autodesk.com/cloudhelp/2017/ENU/Alias-Tutorials/...

To make smooth surfaces you just need the tangents to line up. This is called G1.

But if you also want surface reflections to look smooth you need a higher degree of curvature continuity. G2 or higher.

http://help.autodesk.com/cloudhelp/2017/ENU/Alias-Tutorials/...

dhotson··on Drawing better-looking Bézier curves
Thanks! Actually it wasn't too difficult. It's all in C++ but the Adobe Illustrator SDK came with some examples that were pretty close to what I wanted already. Once I'd figured out the maths I had a prototype working in about a day.

The one thing left that I can't figure out is how to have the curvature comb update live as you drag the Bezier control points. Currently it only updates when you mouse up.

dhotson··on Drawing better-looking Bézier curves
Hello :) I'm the author of this notebook if you have any questions.

I'm also currently working on a plugin for Adobe Illustrator based on this. Screenshot: https://i.imgur.com/tIPTjLsr.png

dhotson··on Coding without a keystroke: The hands-free creation of a full video game
Demo: https://www.youtube.com/watch?v=hGPNs5C1Lp0
dhotson··on Revisiting 'Monadic Parsing in Haskell'
Great article! Also, I was surprised at how short and readable the original paper was. This is a really nice follow up.

I only recently started learning Haskell seriously, and it was surprising to learn that “Applicative” is a more recent discovery.

dhotson··on How it works: Compiler Explorer
Thank you for making Compiler Explorer!

I was teaching some workmates a few things about how assembly programming works by looking at compiler output and this was a huge help. :)

dhotson··on One Player's Quest to Beat the Seemingly Endless 'Desert Golf'
Semi-related, I'd highly recommend the game "Freeways" by the same game author:

https://captaingames.itch.io/freeways

dhotson··on Font editor FontLab VI is finally released
Yup, bringing tools like these for drawing better bezier curves in Illustrator would be so so great. :)

I've started making a plugin to help visualise curvature continuity (using the Illustrator C++ SDK). For example: https://i.imgur.com/4dvV4pN.png

The problem I'm facing is I can't figure out how to make it update live as you drag curve control points around. Currently it only updates once you let go.. :-/

dhotson··on Ask HN: Who is hiring? (January 2018)
99designs | Frontend Web Developer | Melbourne | Fulltime ONSITE

99designs is a marketplace for graphic design work. We connect businesses needing graphic design work with our community of over one million talented designers from all over the world.

We're looking for a Frontend Web Developer to join our Melbourne office and expand our Engineering team. You'll be a steady contributor, working predominantly in the frontend, helping your team create great customer experiences with quality technical work.

Apply online: https://www.seek.com.au/job/35159436

https://99designs.com

Feel free to email me dennis@99designs.com if you have any questions :)

dhotson··on Is AlphaZero really a breakthrough in AI?
I would recommend some analysis videos by agadmator. Here's a good one: https://www.youtube.com/watch?v=lb3_eRNoH_w
dhotson··on Ask HN: What horrible things do you do in your own code when no one is watching?
Single letter variable names.
dhotson··on What on earth possessed me... (2008)
The fontforge guide is a really good start: http://designwithfontforge.com/en-US/index.html

Also, there are some great tutorials on the Glyphs website: https://glyphsapp.com/tutorials/drawing-good-paths

Sometimes I've asked for advice on type design forums such as http://typedrawers.com/ .. be prepared for possibly blunt but honest and useful feedback. ;-)

dhotson··on What on earth possessed me... (2008)
Thanks! Yeah heh.. it turns out the spacing and kerning is probably more work than the lettering.

I've also been looking at this long enough now that I often can't tell what looks "normal" anymore.

dhotson··on What on earth possessed me... (2008)
Semi-related, I recently got into type design as a hobby.

I've primarily been using an app called Glyphs https://glyphsapp.com/ as well as FontLab VI https://www.fontlab.com/font-editor/fontlab-vi/

Both are excellent. FontForge is pretty good but I found it slightly overwhelming. I found it's great if you need to fix parts of existing fonts though.

There are some excellent guides out there on how to use FontForge. I really liked this guide about adjusting for optical illusions: http://designwithfontforge.com/en-US/Trusting_Your_Eyes.html .. I found it kind of mind blowing.

For those interested, I'm currently working on a 19th century French Didot style font, here's my progress: http://dn.ht/didhot/test.html .. feedback welcome. :)

dhotson··on Visualizing ice flows with animated color cycling
Similar to a technique that was popular in 8-bit games: http://amiga.lychesis.net/special/ColorCycling.html
dhotson··on SVG heat shimmer
Oh neat, I didn't know you could do this in SVG. Very cool! Displacement maps are really useful for achieving a bunch of graphical effects like this.

I used them in WebGL for a couple of different effects in this demo: http://dn.ht/picklecat/

It uses a noise texture to do the background warping: http://dn.ht/picklecat/clouds.jpg

It also uses this image http://dn.ht/picklecat/mesmercatdisplacement.jpg as a displacement map for http://dn.ht/picklecat/mesmercat.png to achieve the fake 3d effect on the cat.

dhotson··on iTerm2 version 3 beta released
Hmm, are you sure you've got the latest version? Check for `+termtruecolor` when you run `vim --version`. Can you see something like that?

For reference I've got vim-7.4.1795 installed. Version string looks like this:

    VIM - Vi IMproved 7.4 (2013 Aug 10, compiled May  6 2016 11:18:41)
Also, if you're using tmux you'll need the latest version of that too.

Edit: Also, just remembered you might need to run brew update before brew install to get the latest installation formula.

← PreviousPage 2 of 15Next →