monk_the_dog

Joined 17 years ago

Karma
253
Submissions
77
Member since
Oct 3
I love working on computer vision problems. email: monk (dot) scott (at) google's mail.
View on Hacker News

Recent submissions

Comment · 2 years ago
I am a happy customer, and recently discovered their URL rewrite rules: https://help.kagi.com/kagi/features/redirects.html. This lets me automatically rewrite urls so reddit automatically opens in "old" reddit and boost docs open with the latest version of boost. Really feels like this search engine was built for people like me.
Comment · 4 years ago
Ripple | REMOTE or ONSITE | full-time

Hi, I'm a C++ software engineer at Ripple. I work on the XRP Ledger, a peer-to-peer decentralized payment server (see https://github.com/ripple/rippled).

If you like working with C++, you'll be very happy here. We use `17 and intend to move to `20 soon.

Our software is cross platform, and you're welcome to use your preferred tools. The team is split pretty evenly across Windows, Linux, and Mac.

We're a "remote first" team, spread across the U.S. Almost all communication is done through slack/email.

Ripple is growing fast. We've got great funding, and a great team. Feel free to email me with any questions: determan at ripple.com (My name is Scott).

Our open jobs are listed here: https://boards.greenhouse.io/ripple/ and we're looking to hire many roles, not just C++ roles (although I have less visibility into the non-C++ roles).

I truly like the people I work with - we're a great place to work. Come join us!

Comment · 4 years ago
Ripple | REMOTE or ONSITE | full-time

Hi, I'm a C++ software engineer at Ripple. I work on the XRP Ledger, a peer-to-peer decentralized payment server (see https://github.com/ripple/rippled).

If you like working with C++, you'll be very happy here. We use `17 and intend to move to `20 soon.

Our software is cross platform, and you're welcome to use your preferred tools. The team is split pretty evenly across Windows, Linux, and Mac.

We're a "remote first" team, spread across the U.S. Almost all communication is done through slack/email.

Ripple is growing fast. We've got great funding, and a great team. Feel free to email me with any questions: determan at ripple.com (My name is Scott).

Our open jobs are listed here: https://boards.greenhouse.io/ripple/ and we're looking to hire many roles, not just C++ roles (although I have less visibility into the non-C++ roles).

I truly like the people I work with - we're a great place to work. Come join us!

Comment · 5 years ago
Just tried it and my first impression is: "this was built for me! I love it!". One bit of friction: I'm in vi mode. I hit 'f' to follow links. Apparently I need to hit 'i' before it will accept input. It would be better if it started in insert mode. Example: 'f' followed by 'g' just prints 'pressed key g'.
Comment · 6 years ago
Two lesser known books that I enjoyed: 1) "Colossus: The secrets of Bletchley Park's code-breaking computers", and 2) "The Dream Machine: J.C.R. Licklider and the Revolution That Made Computing Personal".

One thing I learned from the "Colossus" book was the contribution of British engineers to early computers (Tommy Flowers in particular). They didn't get the credit they deserved because their work was kept secret for so long.

Comment · 7 years ago
Comment · 7 years ago
Pattern matching is on many people's radar, including the "Direction Group" (See: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p093...). This proposal was discussed at the committee meeting last month: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p137... I'd love to see it standardized in 23, but I have no idea how likely that is. (It definately won't be in c++-20, which is now closed except for tweaks).
Comment · 8 years ago
I first heard the term "remote first" from a stack overflow blog post: https://stackoverflow.blog/2017/02/08/means-remote-first-com...

The key takeaway for me was: Remote-first means working remote is the default. It means making sure your remote employees are as much a part of the team as those in the office.

The team I work with - the rippled team - is 100% remote. Other teams within ripple work mostly onsite.

Comment · 8 years ago
Ripple | San Francisco, CA or REMOTE | full-time

Hi, I'm a C++ software engineer at Ripple. I work on the Ripple XRP Ledger, a peer-to-peer decentralized payment server (see https://github.com/ripple/rippled).

We're looking to hire a Senior C++ Software Engineer. The official ad is here: https://ripple.com/company/careers/all-jobs/#senior-software...

The team knows the C++ language well. Two members regularly attend committee meetings and one member has made substantial contributions to the language. If you like working with C++, you'll be very happy here. We use `14 and intend to move to `17 soon.

Our software is cross platform, and you're welcome to use your preferred tools. The team is split pretty evenly across Windows, Linux, and Mac.

We're a "remote first" team, spread across the U.S. Almost all communication is done through slack/email/skype.

Ripple is growing fast. We've got great funding, and a great team. Feel free to email me with any questions: determan at ripple.com (My name is Scott).

Comment · 9 years ago
rr is my goto debugger. It opens up new super-powers for debugging scripts. Consider this gdb script:

  b broken_1_in_1000_times_at_random.cpp:1
  c
  b usually_runs_normally.cpp:1
  reverse-continue
And now step through forward to figure out what went wrong. This tool is worth your time to learn. There are a couple of minor annoyances (you can't re-use existing gdb scripts that contain the "run" command because the inferior is already running, but there are workarounds. Here's what I use:

  python
  import gdb
  class MyRunOrContinue (gdb.Command):
      """Run inferior if not already running, otherwise continue (useful for rr)."""

      def __init__ (self):
          super (MyRunOrContinue, self).__init__ ("just-go", gdb.COMMAND_USER)

      def invoke (self, arg, from_tty):
          if gdb.selected_inferior().pid != 0:
              gdb.execute('continue')
          else:
              gdb.execute('run')

  MyRunOrContinue()
  end
There are a few other minor annoyances, but all in all a great tool.
Comment · 9 years ago
I'll have to add some of these to my list of quotes that emacs greets me with. Current list:

  (defvar scratch-quotes
  (list
   "Everybody has a plan until they get punched in the mouth. - Mike Tyson"
   "Look, I made a hat...where there never was a hat. - Finishing the hat, Sondheim"
   "Just fucking figure it out."
   "The universe is not here to please you. - Charles Murtaugh"
   "Your life is your life. The gods await to delight in you. - Bukowski"
   "Join the force and get a pension. - Salesman"
   "Beware of things that are fun to argue. - Eliezer Yudkowsky"
   "However beautiful the strategy, you should occasionally look at the result. - Winston Churchill"
   "Truth is much too complicated to allow anything but approximations. - John Von Neumann"
   "Writing program code is a good way of debugging your thinking. - Bill Venables"
   "Don't tell me what you value. Show me your budget, and I'll tell you what you value. - Joe Biden quoting his father"
   "Most haystacks do not even have a needle. - Lorenzo"
   "Experiment and theory often show remarkable agreement when performed in the same laboratory. - Daniel Bershader"
   "The important work of moving the world forward does not wait to be done by perfect men. - George Eliot"
   "It is astonishing what foolish things a man thinking alone can come temporarily to believe. - Keynes"
   "The purpose of computing is Insight, not numbers. - Richard Hamming"
   "Work on stuff that matters. - Tim O'Reilly"
   "Sometimes magic is just someone spending more time on something than anyone else might reasonably expect. - Teller"
   "You have to say something. It can't all be technique. - Woody Allen (on great actors)"
   ;; Paraphrased from a HN comment
   "Perfectionism is a failure to optimize across a complex goal space, settling, instead, on ignoring the difficult prioritisation problem in favor of over-optimizing a limited set of tangible and easily-defined goals over longer-run priorities" 
   ))
Comment · 10 years ago
Oodbs used a similar technique to translate addresses from a large "global" address space into smaller "local" one. Here is a paper if you're interested (ftp://ftp.cs.utexas.edu/pub/garbage/swizz.ps). Did you discover this technique on your own? At any rate, very cool.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton