HNHacker News
TopNewBestAskShowJobs

mitchellpkt

68 karma · joined March 22, 2018

Researcher & nerd. For personal correspondence: hn-contact@mitchellpkt.com (please no cold call sales emails)
submissionscomments
mitchellpkt··on Show HN: Numtease – My new number word puzzle game
Just played a round, pretty fun! Thanks for sharing.
mitchellpkt··on Langton’s ant
Update: I wrote a toy python library for evaluating Langton's ant in procedurally-generated infinite adversarial environments.

https://github.com/Mitchellpkt/infinite_adversarial_langtons...

mitchellpkt··on Ask HN: What cheaper cities are the best?
I second this :) Lived in Madison in my 20's and loved it. Great people, great environment, great food. Easy to get around on foot, on bike, or by bus.
mitchellpkt··on Has ChatGPT Been Neutered?
I have been using chatGPT with GPT4 since it came out, and I have not experienced decreased quality.

I wonder why you can’t get it to give approximations. I have not encountered difficulties there. I asked it to approximate the weight of argon in the atmosphere and it performed a fairly standard back of the envelope calculation. Do you want to share a particular prompt, so I can try and reproduce the issue you're experiencing?

mitchellpkt··on Langton’s ant
No idea. Hmm, off the cuff maybe I’d conjecture that there cannot exist any initial configurations such that the ant gets stuck in a loop of finite length for infinite iterations.

On any Nth iteration, the ant has only touched <= N tiles. Suppose we do a thought experiment where we create a second board that is empty except for the initial states of the touched tiles up to the Nth step. This second board has finite support, and so the usual theorems kick in, and consequently the ant will eventually start building a highway that would carry it away from the initial loop.

I’m just making up guesses though, I have no clue if that is right.

mitchellpkt··on Langton’s ant
Yep, it's a deterministic perfect information game. To "win" one needs only produce an initial board (or board generating procedure) that achieves certain characteristics, such as bounded highway length even with infinite iterations by the ant.

What I am curious about is whether these boards/procedures exist, and how to find them.

mitchellpkt··on Langton’s ant
I keep wondering about the dynamics of Langton's ant within an infinite adversarial environment. The game I have in mind retains the standard behavior and movement patterns of Langton's ant. However, it introduces an adversarial component: upon the ant's first encounter with any given tile, an adversary determines the initial color of the tile, either black or white. The adversary's influence is constrained to this initial tile color determination, without any additional intervention capabilities.

The adversarial objective is twofold: primary is the prevention of 'highway' construction by the ant, and secondary, if the primary objective cannot be fully achieved, is to disrupt the 'highways' as swiftly as possible post-formation.

I do not have a good intuition for who has the upper hand here. The adversary can be deliberate, but its influence is strictly limited to controlling initial conditions of the board.

Maybe this falls under the Cohen-Kong Theorem, or a potential extension of it. I'm not sure whether that applies here since the adversary may provide a board with finite support or may choose to instead provide a board (or board-generating procedure) with infinite support.

mitchellpkt··on Ask HN: Could somebody use GPT make Git super easy to use?
I haven't had a chance to test it personally, but I think this is a main premise of GitHub's Copilot CLI product. Quoting below from https://githubnext.com/projects/copilot-cli

> Copilot for CLI provides three shell commands: `??`, `git?` and `gh?`:

> `??` is meant as the general-purpose goto for arbitrary shell commands. It will compose commands and loops, and throw around obscure find flags to satisfy your query.

> `git?` is used for searching specifically for git invocations. Compared to ?? it will be more powerful at generating Git commands, and your queries can be more succinct when you don't need to explain that you're in the context of Git.

> `gh?` combines the power of the GitHub CLI command and query interface with the convenience of having AI generate the complicated flags and jq expressions for you.

mitchellpkt··on Ask HN: Did anyone already got access to GitHub Copilot X?
Keep an eye out for emails from noreply@githubnext.com

On 27-Mar 2023 I registered for some of the "X" waitlists.

On 13-Apr 2023 I received an email with the subject line "Welcome to the Copilot for CLI technical preview!"

Note that the "X" is a placeholder and not one of the actual products you can try. From their website [1]:

> The “X” represents a placeholder for where we intend GitHub Copilot to become available, and what we expect it to be capable of doing (e.g. “Copilot <for pull requests>“, “Copilot <for security>“). It is extending the product from one experience, code completion, to X experiences across the developer’s workflow.

[1] https://github.com/features/preview/copilot-x

mitchellpkt··on Anyone not honor the “email+who_is_spamming_me[at]gmail.com” strategy?
+1. To expand on your friction comment: I’ve been doing unique @myname.com for years and learned quickly to avoid putting the full company name to avoid confusion.

Now, I just use the first 2 and last 2 letters, so for example hackernews would be haws@myname.com. When I go back later to log in, it is easy to re-derive on the spot. And if I forget what an email address corresponds to I can just search my inbox history for that address to find the site registration confirmation or whatever they sent previously.

mitchellpkt··on Best resources to learn about Automated Market Makers?
There's a nice overview at [0] "An Analysis of Uniswap markets." Some very interesting larger dynamics are discussed in [1] "When Does The Tail Wag The Dog? Curvature and Market Making."

The Uniswap mechanism varies significantly by version number:

+ For k=x*y mechanism used in Uniswap v2, check out [2] "Improved Price Oracles: Constant Function Market Makers" and/or the [3] the Uniswap V2 whitepaper.

+ For newer liquidity range mechanism, there is a very nice explanation in [4] the Uniswap v3 core whitepaper.

-----

0. https://cryptoeconomicsystems.pubpub.org/pub/angeris-uniswap...

1. https://cryptoeconomicsystems.pubpub.org/pub/angeris-curvatu...

2. https://dl.acm.org/doi/abs/10.1145/3419614.3423251

3. https://uniswap.org/whitepaper.pdf

4. https://uniswap.org/whitepaper-v3.pdf

mitchellpkt··on Ask HN: Was programming more interesting when memory usage was a concern?
There are still some performance-sensitive niches that you might enjoy. Large scale numeric simulation workloads can have a variety of bottlenecks, and the difference between the easiest solution and the fastest solution can be orders of magnitude. Smart contract development also requires tight memory management, otherwise the fees can become prohibitively high.
mitchellpkt··on Worried Recent Grad
Congrats on graduating, and good move building experience with the latest dev tooling like ChatGPT.

I don’t think you should feel too discouraged. Plenty of companies do not allow their developers to use third party language models/services (due to privacy, legal, or other concerns) so they’ll have plenty of standard unassisted dev work. And for the companies that do leverage the tech, your experience with it will make you an even stronger candidate.

mitchellpkt··on PyCharm 2023.1
I’ve been using pycharm pretty much daily for a few years, and switched to the new UI a few weeks ago.

I like it, especially when doing dev work with only one monitor. You might hate it, but it’s worth giving it a shot.

mitchellpkt··on Ask HN: Can you think of a sci-fi novel that feels like ChatGPT now?
[No spoilers] This was a bit of a mind bender for me:

I was halfway through "Revelation Space" by Alastair Reynolds when ChatGPT was released. Throughout the book, it is common for characters to use natural language to delegate technical tasks to AI helpers, and then review the results later.

As somebody who does a lot of technical work and had hands-on experience with GPT-2 this seemed quite implausible. A few months ago I couldn't just instruct an AI to go find X and Y and then calculate Z and show me a visualization of that.

But now with copilot, Bing, ChatGPT, et al this is a pretty standard task! Using natural language to instruct an AI to find some information or write a first rough draft of some code is no longer some far-future fiction.

The timing with ChatGPT dropping when I was halfway through the book meant that one of the elements of its world went from feeling very "sci-fi" to being quite ordinary. o_0

mitchellpkt··on Will wealthier people access better AIs?
Arguably this is the case now. I don’t think there’s any way to access chatGPT-4 unless you have the financial bandwidth to allocate an extra $20/month for an OpenAI subscription.
mitchellpkt··on Ask HN: Why is the AI black box such a big deal?
Sometimes it isn’t a big deal, depends on the context and whether unexpected failure modes have dire consequences.

A black box AI algorithm that generates shirts in a video game? Sure, sign me up. Worst case scenario the shirt looks weird or the game crashes. I’ll live on the edge a little and file some bug reports.

A black box AI algorithm that handles critical safety systems? This requires more thoughtful scrutiny.

mitchellpkt··on When will signal support signing up without a phone number?
Session messenger is a fork of Signal that ditches phone numbers for IDs and verification. https://github.com/oxen-io/session-android
mitchellpkt··on I need your help. I'm having a hard time wrapping my head around ChatGPT
Anecdotally: I do a decent amount of DS work and use GPT to help me move faster through the mundane data tooling work like ingesting new file formats or updating schemas. This enables me to spend more of my time and energy on the interesting science parts (research, algo dev, experiments, etc). I don't see it as threatening the role, rather empowering it.

[usual disclaimers: LLMs hallucinate, never trust their output without review and testing, etc]

mitchellpkt··on Show HN: Using GPT-3 and Whisper to save doctors’ time
Just read the blog post, very interesting. I thought sections about changing the temperature and repetition penalty were particularly neat, thanks for including examples.
mitchellpkt··on Ask HN: What are people skeptical about when it comes to synthetic data?
It warrants professionally-cautious skepticism because the synthetic data generation process often involves assumptions, approximations, and spurious or omitted dynamics. These limitations can then impact the model, as it is learning on dynamics present in the synthetic data but not real life.

Not saying there is no place for synthetic data. Just needs to be in situations where the salient dynamics are well understood such that they are realistically reproduced in the generated data.

mitchellpkt··on Ask HN: What decade or older games surprise you with how well they have held up?
Portal (2007) is timeless. Chess (600) has also held up pretty well.
mitchellpkt··on Ask HN: Who here learned to program for the first time in grad school?
Grad school was the first time I had to get under the hood with numeric simulation code.

Experience: It was a bit of a learning curve, but a manageable one. I think maybe 80% of my energy went into improving my domain expertise (physical chemistry) and 20% went into learning enough coding & scripting to execute the research.

How / Courses: Never took any coding classes myself, but in retrospect I think it would have helped me move quicker if I'd at least taken an online course to brush up on the basics. I'd try to solve problems on my own for an hour or two, and ask somebody if I got stuck for too long. I think the main drawback here is that I was able to break through any given concrete problem (why is this code throwing an exception? why is this array all NaNs? why is time negative?) but never learned big picture patterns for writing reliable, extensible, and reusable codebases. I probably could have moved quicker if I'd started learning & thinking about that sooner.

Languages: If you can, use open source languages (e.g. python) where possible. One of my biggest regrets is that I did 100% my thesis work in MATLAB, which requires an annual software license that was paid for by my university. Now that I've graduated, I can't run or work on my own research, even though my code is not proprietary. (You may not have a choice in some cases, e.g. one of the key models in my field was implemented it MATLAB, but I could have done some of the other work in python).

Later digging: I've picked up more software engineering and computer science skills since grad school, but that's because there is more emphasis on performance and code hygiene in industry. For my grad school research, it was VERY important that the code produced the right numeric results, but nobody cared if it was fast or pretty.

Things it would have been helpful to learn earlier: version control (how to use GitHub and atomic commits to never lose work), writing tests for core functions that might fail in non-obvious ways, clean handling of parameter & configurations, etc. Oh, and comments! During an REU I spent an entire summer writing spaghetti Perl code with no notes; a year later the professor asked me to re-run something, and I had to spend a week reverse engineering my own work.

mitchellpkt··on Ask HN: It seems I lost imagination, what to do?
I had a vivid imagination as a kid, lost it in my 20s, and regained it in my 30s. After decades of schooling, reading had beed reduced to a mechanical necessity.

It took some work and intention to slow down and learn to actually imagine the world that the author is laying out for us. But like any other learned habit it becomes easier and eventually not noticed with practice.

Finding engrossing fiction (in my case, science fiction) helped me break through. Given your references to visualizing physics, you might enjoy the first book or two of the Three Body Trilogy.

mitchellpkt··on Ask HN: How do you become a better Python developer?
A while back when I was familiar with coding but wanted to improve my python skills, I found this video helpful: https://www.youtube.com/watch?v=qUeud6DvOWI

Once I understood fstrings, list/dict/set comprehension, and tuple unpacking, it became much easier to read and learn from others' python code.

mitchellpkt··on Ask HN: Would you use an app that turns emails into tasks and suggest replies?
One of my previous jobs involved tracking a lot of threads across a lot of emails. It would have been handy if we had a private LLM that was trained/prompted to classify emails according to internal systems, like custom CRM stages.

I would still read all my emails at the end of the day, but having important state changes (e.g. lead becoming qualified, or a time-sensitive ask from management) highlighted sooner would have been convenient.

mitchellpkt··on Ask HN: How to Deal with ChatGPT Anxiety?
I use a number of GPT-based products on a day-to-day basis and find them incredibly useful, so unfortunately I can't assuage your concerns by downplaying current and future language model technology.

The great news is that many of these products are free or relatively inexpensive, so you can start gaining experience with them today.

The best way to future-proof your career in the event that language models become widely applied is to make it one of your core competencies. :)

If you start practicing today, you'll quickly be at the front of the curve. And try to practice deliberately, for example gaining experience with:

- how to give it all the necessary information and nothing superfluous,

- how to effectively articulate the desired deliverable and its requirements,

- how to guide it through iterating on the solution and when to stop (often I do the first 10% of the work, then the model does the next 60% of the heavy lifting, and then I finish off the last 30% to fix its mistakes and tailor the result)

mitchellpkt··on Ask HN: Friendly ways of adding ads to app?
I don’t mind ads that are in the margins or added to a list of results that I’m scrolling through anyways. These don’t feel intrusive because they don’t break the flow I would have without ads.

On the other hand I become frustrated when ads are blocking features that I am trying to interact with, and require me to click to close. I have uninstalled apps over this.

Appreciate your thoughtfulness on this matter, good luck!

(Edit: autocorrect typo)

mitchellpkt··on Any disadvantages of using multiple encryption algorithms on same data?
I agree. There are various complexity downsides (implementation, key management, etc) but it should be fine from a practical cryptographic security perspective.

While I can't offer you a formal cryptanalysis, I do have a handwave-y thought experiment & proof by contradiction for intuition:

Consider two encryption algorithms A[...] and B[...] that are "good" in the standard ways (adversary cannot decrypt messages without keys, keys cannot be leaked by chosen plaintext attack, etc).

If putting A inside of B like B[A[...]] renders the system insecure, it would imply that B[...] was not a "good" encryption function! (if it was good, it would not break just because the input message happens to be the output of A[...]).

Therefore by handwave-y proof by contradiction, if A[...] and B[...] are "good", then A[B[...]] should be OK.

(Disclaimer: Again, this is a casual thought experiment and not real cryptanalysis. This result may not be true under formal cryptanalysis.)

mitchellpkt··on Ask HN: Can you crowdfund the compute for GPT?
Good questions. Hmm do you think maybe it would be viable if the payouts were based on [model] performance rather than ostensible training time?

There's a useful asymmetry we can exploit: finding weights that perform well is computationally intensive and takes time, but scoring a set of weights is fast and easy.

A number cruncher could spend 2 weeks training a model, and then when they submit the results it takes me 10 seconds to score the model - to verify the quality of the results, and calculate the performance-based payout. In the #1 or #3 scenario where they didn't do or didn't complete the computations, they wouldn't have a well-trained model to submit for payout. (The lost time in #3 is inconvenient in time-sensitive situations, but mechanisms exist to address that - SLAs, up-front collateral, etc)

Regarding privacy, that's an EXTREMELY good and important question. There's some really neat prior art for privacy-preserving machine learning that could be useful here, e.g. https://arxiv.org/abs/2106.07229 "Privacy-Preserving Machine Learning with Fully Homomorphic Encryption for Deep Neural Network"

(note I'm approaching this as an interesting DistML thought experiment, not proposing it as an immediately viable or sensible initiative)

← PreviousPage 2 of 3Next →