HNHacker News
TopNewBestAskShowJobs

ryan-duve

768 karma · joined October 4, 2020

submissionscomments
ryan-duve··on How SSH port became 22 (2017)
Looks like I've got BSD SSH installed. From `man ssh`:

     -o option
             Can be used to give options in the format used in the configura‐
             tion file.  This is useful for specifying options for which there
             is no separate command-line flag.  For full details of the op‐
             tions listed below, and their possible values, see ssh_config(5).
`Port` is on the list underneath. So I think the idea is you run

    ssh -o <option_name> <option_value>
where the first can be `--port`. This looks like it will be really handy for me for the exact reason GP said.
ryan-duve··on 20.5 Years of XP and Agile (2020)
Parent commenter said "basically" have 100% test coverage, and I'm not sure what is meant by that. From the text[0]:

> Any program feature without an automated test simply doesn't exist. Programmers write unit tests so that their confidence in the operation of the program can be part of the program itself. Customers write functional tests so that their confidence in the operation of the program can become part of the program, too. The result is a program that becomes more and more confident over time -- it becomes more capable of accepting change, not less.

> You don't have to write a test for every single method you write, only production methods that could possibly break. Sometimes you just want to find out if something is possible. You go explore for half an hour. Yes, it is possible. Now you throw away your code and start over with tests.

[Emphasis mine.]

I can see how this is interpreted both ways, so I'll leave it to you. For what it's worth, I found the book to be an easier read than most books on coding practices.

[0] Extreme Programming Explained by Kent Beck, Chapter 10 under "Testing"

ryan-duve··on Thinking in an array language
Do you remember which book it was you read?
ryan-duve··on Sys.monitoring: Python Execution event monitoring
Does anyone know how this would be used in practice? An example would be useful because words like "tool" and "event" in this context are too abstract to make it clear how this is intended to be used.
ryan-duve··on Positive news from 2023
I used to follow Tank's Good News[1] each week for this type of thing, but it seems it stopped being updated. I am hoping the owner eventually brings it back one day.

[1] https://tanksgoodnews.com/

ryan-duve··on Maybe getting rid of your QA team was bad
> Going deeper into the training aspect, something I find very useful are fuzz tests.

Could you share some details of fuzz tests that you've found useful? I tend to work with backend systems and am trying to figure out whether they will still be useful in addition to unit and integration tests.

ryan-duve··on Israeli Queues
Maybe I'm looking at a different paper than you? Among other places, on page 16 I see:

> A comparison between the Israeli queue and a regular queue

> It turns out that the Israeli queue is very efficient. To demonstrate this we calculate...

I downloaded it from https://www.researchgate.net/publication/228675335_Polling_w...

ryan-duve··on Ask HN: Do You Use LinkedIn?
I have an account. When I was on the job market it was helpful to see what companies my friends are working at so I can ask them things. I've also been able to field some questions and help some people who found me on LinkedIn, so that's been nice.

For a while I tried using it as a blogging platform, but I didn't have much luck. I think is more of a function of my ability to write well than any characteristic of the platform.

ryan-duve··on Algebra
It doesn't sit with me well to see this being downvoted. I assume downvoters found it dismissive, but I do not read it that way.

I agree, at first it *is* surprising to see a Nobel laureate walk from the most-obvious-count-on-my-fingers-elementary-school-math all the way up to Euler's Formula, only to stop there without taking the very short step, done in the comment above, to land on Euler's Equation. After all, that is how I see it done most often.

The goal here is not to reproduce famous results. That would be the "we could bring forth this formula in two minutes or so, and be done with it" thing that is deliberately called out at the start. Instead, it is explained

> Every so often it is a great pleasure to look back to see what territory has been covered, and what the great map or plan of the whole thing is.

Seeing famous relations reduced to one another is probably enjoyable for you, and judging how many authors do it I think you've got a lot of good company. What is done here is different. It starts with things we all know as children and ends with a relationship between algebra and geometry, covering lots of mathematical apparatuses in between. It is notable that this is done without relying on the formality of landing on "famous results" at each step. That approach, combined with the easygoing language, is what I found most enjoyable about the writing.

ryan-duve··on The C4 model for visualising software architecture (2017)
> Ideally this diagram would be automatically generated using tooling...

The biggest problem I've seen with architecture diagrams is they fall out of sync with the code base. In my opinion, automatic generation of these diagrams is necessary. Otherwise, teams have no way to know whether the picture in front of them accurately represents the latest state of the system.

ryan-duve··on Ask HN: How to be a manager? Any good sources for learning how to delegate?
The four-quadrant matrix I am familiar with is:

                      Urgent  Not-Urgent
    Important             Q1          Q2
    Not-Important         Q3          Q4

- Q1: Do it now

- Q2: Do it the next time you can

- Q3: Do it now or don't do it at all

- Q4: Don't do it at all

Compare this to the modified matrix:

                    One-Time   Repeating
    Important            MQ1         MQ2
    Not-Important        MQ3         MQ4

If I understood your post, the translation is:

- MQ1: Do it yourself

- MQ2: Delegate

- MQ3: Don't do it at all

- MQ4: Delegate but maybe not done at all

It is interesting that Q1->MQ1 and Q2->MQ2 quite straightforwardly, but (Q3, Q4) -> (MQ4, MQ3) seem to be swapped.

ryan-duve··on Ask HN: Alternative News Websites/Feeds
I think the "feed" you're looking for is a physical newspaper subscription. If this sounds totally incorrect, hear me out. My wife gifted me a twice-a-week newspaper subscription a few months ago and it has many of the characteristics you're describing:

- Delayed news so the speculative-by-the-hour stuff is just not there.

- Fee that removes (most) ads, about $2/week.

- While authors can't truly keep their partisan opinions out of their writing, the "opinion" section contains most of it (I skip it).

- Turning the page and throwing out the paper when done "marks stories as read". Repeating article themes usually have important updated information.

There are additional benefits like the date and author of every article is very clear. There is a consistent quality of writing/editing. A solid half of the paper is about stuff local to my town and region in the state. A nice bonus is my elementary school aged kids sometimes catch a headline that interests them and I give them the page to read, after which we talk about it.

The downsides are:

- I get news later. For example, my wife found out Peewee Herman died like 3 days before I did.

- Going outside and physically picking up the paper isn't always convenient. Some days it comes at 6 AM, other days at 9 AM. I guess it depends on the paper person's route?

- There is a need to remember to get to a computer if there's something to remember for later, like a recipe or an event to schedule on the calendar.

If the above sounds appealing, I recommend getting some local paper subscription and cancelling if you don't like it after a few weeks. I don't have experience paying for an online-version of a newspaper, but I'm sure of the above benefits carry over.

ryan-duve··on Shapeup – An Alternative to Scrum
I think the strongest parts of Shape Up are the betting table and the circuit breaker. The betting table is where 2-3 company leaders select projects employees will work on from all the pitched ones. The circuit breaker is a calendar date, circled at the beginning of a project, after which all work on that project comes to an abrupt, screeching halt. I also think these are the hardest things to implement for social reasons.

The parts about shaping and cycles are good, but I think the amount of attention the book gives them underemphasizes the importance of the betting table and circuit breaker.

ryan-duve··on Show HN: Hacker News user blogroll
A workaround while you're waiting for this to be supported by OP is to go to inspector and change the last dropdown option to

    <option value="10000">10000</option>
then select it in the UI.
ryan-duve··on TOML: Tom's Obvious Minimal Language
I think it is not needed? Or did you mean something other than this?

    Python 3.11.3 (main, May  4 2023, 05:53:32) [GCC 10.2.1 20210110]
    Type 'copyright', 'credits' or 'license' for more information
    IPython 8.13.2 -- An enhanced Interactive Python. Type '?' for help.
    
    In [1]: !cat /tmp/x.toml
    [servers.alpha]
    x = 10
    
    In [2]: import tomllib
       ...: 
       ...: with open("/tmp/x.toml", "rb") as f:
       ...:     t = tomllib.load(f)
       ...: 
       ...: t
    Out[2]: {'servers': {'alpha': {'x': 10}}}
ryan-duve··on I liked this simple calculus exercise
This reminds me of an exercise I'll never forget from my Math Methods course: finding the derivative of arcsin(x).

It seems almost impossible because, just looking at it, there seems to be nothing you can do to simplify it. Then, out of sheer nothing-else-to-do-ism, you take the sin() of it and realize sin(arcsin(x)) = x. Take the derivative of both sides, apply chain rule and draw a right triangle and you have the answer.

Like the words the author uses for the integral, it's all valuable technique.

ryan-duve··on Show HN: StarQueue - Postgres database backed message queue server for Python
Thanks for sharing! I noticed there's no LICENSE on the root level of the project. Could you let me know whether I'm overlooking something or if you're releasing it without a license?
ryan-duve··on Moving over a million uptime checks per week from Lambda to Fly.io
In your opinion, how is the developer experience of using fly.io compared to AWS?
ryan-duve··on Show HN: Wordga.com – A word puzzle game
This was fun! Especially nice job on the shortcuts, e.g., escape to quit, shift to shuffle.

One suggestion for improvement is a UX indicator to start typing. I was clicking around looking for a blinking cursor and was confused until I just started typing. Unfortunately, I am an archetypal user; I have no idea what I really want until I see it. You can probably come up with a better solution than me.

Also, have you considered showing the percentage of words completed during the game? That would give it more of a feeling of working towards something. Right now, it just sort of goes on and I have no idea how many more words I have left to solve.

ryan-duve··on Multi-Account Containers
We use different AWS accounts for different purposes at work. It would be an extreme productivity loss if I had to go back to using something other than Firefox's containers.
ryan-duve··on A Quick Guide to Mutt
My professor used Mutt and I was always in awe every time I watched him zip through emails. From time to time I try to get into it, but always fail for a different reason.

This time, I made it about 30% of the way through this "quick guide" with a Gmail account. I don't want to have my password in plaintext, so I'm fine typing it in each time to get started, but I never got over the finish line. I got stuck somewhere around minimizing the number of system headers that go out with each message.

Please let me know if anyone has recommendations for a CLI email client that hooks up with Gmail on a modern Linux distro relatively simply.

ryan-duve··on Stop Writing Classes by Jack Diederich (Python, 2012)
I probably watch this on average once every two years. It has helped me adopt the "do things as simply as possible" mentality when coding in Python.
ryan-duve··on Ask HN: What thing did you learn from fellow HNers recently?
A little while back, mothcamp published the "NLP Demystified" series: https://news.ycombinator.com/item?id=33815146

The video on the transformers, at around 19:00, has a visual explanation of how sinusoids were used in the original architecture to add positional information. Before seeing that the positional component was always just black magic to me. Thanks for that and the rest of the series, mothcamp!

ryan-duve··on The Quest for a Dumber Phone
What is the current Nokia you have that you hate?
ryan-duve··on Secure access to EC2 using Session Manager and Port forwarding
Does anyone know how to make it so CLI shortcuts like Ctrl+Y ("yanking" in Bash or IPython) don't completely break AWS Session Manager? This is the main thing keeping me from switching to AWS SSM.
ryan-duve··on Show HN: RecoverPy 2.0: Recover deleted or overwritten files from your terminal
This looks great, I will check it out the next time I `rm` something in the wrong folder.

My only question is if a CLI option is available (instead of the interactive interface)? That is, whether something like:

    python3 -m recoverpy --path /path/to/folder --string "My super important string" --outfile /path/to/file.txt

which outputs the match results to the output file without interaction.
ryan-duve··on Can Random Forests Overfit?
In your research for this paper, did you come across a derivation of the random forest from first principles that you found particularly accessible?

Side note: I like your styling for your website! The only thing that sticks out is the spacing around the inline TeX doesn't always render, e.g., around "we define a random".

ryan-duve··on [dead]
You haven't said what tech things interest you, but if you enjoy keeping up with programming languages or Linux development I recommend trying a subscription to https://lwn.net/ after you block HN. The comment noise is very low and the article quality is extremely high. It isn't constantly updating like HN or Reddit so if you check it 10x a day it might only change once.
ryan-duve··on I have reached Vim nirvana
I use IPython in a terminal and keep a Firefox tab open in a split screen to look at plots. When the IPython script is working, I write it out to a Python file. The only times I use Jupyter notebooks are:

1. If there's a really visually intensive workflow, like some sort of data exploration step where I need to be generating and inspecting multiple plots at the same time over and over.

2. If my goal is to make an instructional artifact and interleaving Python and explanatory HTML is helpful.

ryan-duve··on Show HN: Gamedrop – Videogame collection management, price alerts, and prices
This looks cool, very easy to use and look up some video games. I have a few random questions:

1. Where do you source the data about the video games?

2. Any consideration to either open sourcing or writing a technical post about the Elixir bits of your tech stack?

3. When it says "We don't have any prices yet, give us a few minutes!", what is going on under the hood that's taking a few minutes?

Thanks for sharing!

← PreviousPage 3 of 8Next →