HNHacker News
TopNewBestAskShowJobs

osteele

1,697 karma · joined March 30, 2008

submissionscomments
osteele··on Show HN: Talk to any ArXiv paper just by changing the URL
It works well with bookmarklets. This swizzles between arxiv.org <-> www.talk2arxiv.org. I've now added it to my Favorites bar, next to arxiv.org/abs <-> arxiv.org/pdf and twitter.org <-> nitter.net. Thanks for the service!

javascript:((u,a,b,c)=%3Ewindow.location.href=u.match(a)?u.replace(a,b):u.startsWith(b)?u.replace(b,c):u)(window.location.href,/https:\/\/arxiv\.org\/(abs|pdf)\//,'https://www.talk2arxiv.org/pdf/','https://arxiv.org/pdf/')

osteele··on Show HN: AI Playground by Vercel Labs
To be clear, that’s a link to a library meant for use in projects like yours. I’m not promoting a competing project (and haven’t provided a link to one).
osteele··on Show HN: AI Playground by Vercel Labs
Very nice! If you want to add a feature, feel free to make use of https://github.com/osteele/prompt-matrix.js, which I (well, ChatGPT and I) created for use in my own playground so that I could enter e.g. "Write a <Python|JavaScript> program to look for anagrams, in the style of <Norvig|Carmack>".
osteele··on Ask HN: How are you using GPT to be productive?
* Porting code (generally code that I've written) from one language or framework to another. For example, porting Python to JavaScript. [1]

* Getting started with a new platform. For example, describing the problem, and having it create a template in a front end framework, CSS framework, API generator.

* Creating instructional materials. Pasting in code and generating explanations, assessments, and grading rubrics. [2]

* Generating the first pass of API documentation, READMEs, test suites, and configuration files. Modifying configuration files. Finding configuration options based on NL descriptions.

* Quickly generating examples of API uses that are specific to my application. Finding out what libraries and APIs are available for a use case, based on an NL description.

* Learning what algorithms exist for a problem. Generating implementations of these in different languages, or that are specific to my code or data structures.

* Rarely-used system administrations commands. For example, how do I flush the DNS cache on macOS Safari and Chrome? (Questions such as this are actually better on Perplexity.ai than on ChatGPT.)

* Pasting in error messages or descriptions of problems, and asking for solutions.

* Tie-breaker questions about what to name a file, function, or set of functions.

In general, I find that it takes a lot of the drudgery out of programming. (Similar to Copilot, but for a different, generally more macro, set of areas.) For example, I asked it to solve a geometry problem and generate a test harness for both interactively and batch testing it. It's solution to the problem itself was a non-starter, but the test harness was great and would have been involved boring work in order to write.

I also use it to generate emails, project proposals, feedback, etc. I don't think it's ever come up with anything usable, but seeing what's wrong with its attempt is an easier way for me to get started than looking at a blank page or searching for examples of the writing form on the web are.

[1] https://notes.osteele.com/gpt-experiments/using-chatgpt-to-p... [2] https://notes.osteele.com/gpt-experiments/chatgpt-code-expla... [3] https://notes.osteele.com/gpt-experiments/discussing-an-ardu...

osteele··on GPT-4 performs significantly worse on coding problems not in its training data
Same. It seems similar to Copilot in that regard, but better at text-to-code, porting between languages or frameworks, and generating test cases and readmes: https://notes.osteele.com/gpt-experiments/using-chatgpt-to-p...
osteele··on The ThinkPad TrackPoint tried to build a better mouse (2020)
Ted Selker's description of the invention of the TrackPoint, as told to Bill Buxton, goes into a lot more detail about the path to product and the technical challenges overcome. https://www.microsoft.com/buxtoncollection/detail.aspx?id=60
osteele··on Interactive piano reference to major and minor scales
This looks really nice. Here's something I wrote when I starting learning music theory. It ended up sort of cluttered; I like yours better. But please feel free to take any ideas from it that you think might be useful.

https://osteele.github.io/fingerboard/

osteele··on CMU’s ‘Penrose’ Turns Complex Math Notations into Illustrative Diagrams
Figures 1, 7, 17, 18, 19, 22, 24, and 29 from the web page are not sets as circles. The paper contains additional counterexamples.
osteele··on What doctors on the front lines wish they’d known a month ago
Hospital capacity is one motivation for flattening the curve. The other is to move infections later in time, when there will be more effective treatments and therefore lower rates of fatality and permanent disability.
osteele··on MessagePack: like JSON, but fast and small
ArduinoJson https://arduinojson.org supports MessagePack. I haven't looked at its static or runtime memory requirements.
osteele··on Life and Death in a Wuhan Coronavirus ICU
Interestingly the article under discussion here begins “WUHAN (CAIXIN GLOBAL)”, ends “This story was originally published by Caixin Global”, and links to the original publication https://www.caixinglobal.com/2020-02-06/reporters-notebook-w...
osteele··on Webcam, Lights, and Audio for Remote Work, Podcasting, Videos, and Streaming
iMovie, Adobe Premier, Final Cut Pro, and Screenflow (screen casting software) all have chromakey.

The Zoom app, and the Logitech C922, each have live background replacement ("virtual green screen").

For post-production without a physical green screen, you can use a green rectangle as your virtual background in Zoom or with the Logitech, import into iMovie etc., and chromakey there.

osteele··on How might the coronavirus change our world?
"The drone project involves young tech enthusiasts from the Jinkui Community Youth Science and Technology Innovation Center. Every day — for two hours in the morning and two hours in the afternoon — youngsters wearing masks and gloves fly drones to patrol the community.

The drones carry loudspeakers which announce: “Please stay at home as much as possible. If you have to go out, don’t forget to wear a mask.”

The drones can also scan car plates and record which vehicles have entered the community.

The drones are also equipped with thermal scanners which can measure the temperatures of people idling in the community.

Those found with normal temperatures will be encouraged to return home. Officials will be alerted of people found with fever."

https://www.shine.cn/news/metro/2002051335/

osteele··on How might the coronavirus change our world?
Yes, there was a famous incident a couple of weeks ago. [1]

I remember reading in the local paper that you have to register with the pharmacy in order to buy fever medicine but I can't find an online source now and I haven't been into a pharmacy to observe it myself.

[1]: https://www.businessinsider.com/wuhan-coronavirus-woman-avoi...

osteele··on How might the coronavirus change our world?
In Shanghai (pop. 24M), IR scanning is also required to drive into the city and to enter the subway. The paper says that anyone with a high temperature is held in a quarantine area for hospital pickup.

In my district at least, an IR scan is also required to enter shopping malls, and at least some apartment complexes (including mine).

This morning the nearest Starbucks started requiring IR scan.

osteele··on New coronavirus can spread between humans, but started in a wildlife market
In Shanghai (at least, Pudong and Puxi), mask usage has jumped dramatically since last week. I haven't actually kept score, but my impressions of usage from walking around a lot are:

- Summer/spring (lower pollution — Chinese AQI around 60–100, with spikes to 150): 5-10% of people wear masks outdoors. The indoor rate is lower (2-3%?).

- December/early January (AQI typically above 120): 20-30% outdoors. The indoor rate is much lower.

- As of January 23/24: 80-90% outdoors. The indoor rate is at least as high. This time period includes a couple of anomalously low-pollution days (AQI 30 — the lowest I've ever seen in Shanghai), when I might otherwise expect mask usage to be even lower than that 20–30% from before the Wuhan events escalated.

This is just people walking around and shopping. As of a few days ago, some businesses, such as Starbucks and Didi (Chinese Uber/Lyft), require employees to wear respirators (and they've messaged to customers on WeChat and in the Chinese Starbucks and Didi apps).

osteele··on 49% of workers, forced to change passwords, reuse same one with minor change
This seems to be the default for web apps here in China, such as Taobao or JD. Either the home page or the login page presents a QR code, and the mobile app has a scan icon.
osteele··on So, today, for the first time in *25* years of Apple, I downgraded
See also Maciej Cegłowski's “Benjamin Button Reviews The New MacBook Pro” https://blog.pinboard.in/2016/10/benjamin_button_reviews_the...
osteele··on Emperor Akihito of Japan is a published marine biologist
Related: U.S. President James Garfield constructed an original proof of the Pythagorean Theorem.

https://www.maa.org/press/periodicals/convergence/mathematic...

https://blogs.scientificamerican.com/observations/presidenti...

osteele··on Creating a Faster Jekyll
(I'm not the OP, but I had a similar experience.)

At one point I tried switching to Hugo. I ended up moving back because I liked Liquid more than Go templates, and I liked the Jekyll plugins and ecosystem.*

Later I became frustrated with some complicated Jekyll sites that took 20 seconds to generate, so I ported Liquid, Jekyll, and some of the plugins, to Go.† This ran about twenty times faster.††

So that's kind of an apples-to-apples performance comparison between Jekyll (in Ruby) and Jekyll-like (in Go).

These days all my sites are simple, and I think Jekyll may have gotten faster too, so I've moved back to the Ruby implementation.

---

* YMMV. Many people are very happy with Hugo. Moving back to Jekyll was just my personal journey, not something I can defend with facts or figures.

† To be honest, at least as important was that I was looking for a Go learning project.

†† Presumably because (1) Go is a compiled language, and (2) goroutines.

osteele··on Show HN: Guitar Dashboard – Open source music theory explorer for guitarists
This is great!

A suggestion: show pitch constellations[1]. Piano/violin music theorists have written me that these were helpful in [2]. (I'd offer you code, but it's so ancient that it's probably not helpful :-( )

[1] https://en.wikipedia.org/wiki/Chromatic_circle#Pitch_constel...

[2] http://osteele.github.io/fingerboard/

osteele··on Show HN: Interactive guitar scales diagrams
Here’s a thing like this I made for violin/viola/cello scales, when I was learning music theory a few years ago.

http://osteele.github.io/fingerboard/

osteele··on How Many Objects Can Be Juggled (1997)
Claude Shannon authored Shannon's Juggling Theorem, and built juggling robots. I gave some links elsewhere in this thread.

My father-in-law knew worked with Shannon at Bell Labs, and then MIT. (Among other projects, they made useless machines[1].) One day Shannon rode in on a unicycle. "I don't know you could do that", Marvin said. "I just learned." "How long did it take you?" Shannon: "Only about twenty minutes of practice. But it took three months to get that twenty minutes."

Back to juggling: In addition to the other advice here, I recommend balls that don't bounce (or, balled-up socks), and stand over a bed so you don't have to chase the balls when you drop them. Then you can get your twenty (or thirty, or sixty) minutes of actual practice, in closer to twenty minutes (or thirty, or an hour).

Also, like many motor skills (sports, music), ten minutes of practice six days a week trumps an hour of practice once a week, especially if you're getting decent sleep in between.

[1] https://en.wikipedia.org/wiki/Useless_machine

osteele··on The Verge Hack, Explained
> instead of just scaling with larger blocks

Blocks will need to be ~5TB to match Visa transaction volume. Some lightning network advocates are concerned about the effect that a size increase necessary to support even a fraction of this volume would have on mining centralization.

Other concerns are listed here https://en.bitcoin.it/wiki/Block_size_limit_controversy and here https://en.bitcoin.it/wiki/Scalability_FAQ#General_Block_Siz...

osteele··on How Many Objects Can Be Juggled (1997)
Also see (Claude) Shannon's Juggling Theorem: https://en.wikipedia.org/wiki/Juggling#Mathematics

Shannon also built juggling robots. (But not, to my knowledge, machines to measure human juggling.) Here's a video: https://www.youtube.com/watch?reload=9&v=sBHGzRxfeJY

osteele··on The Cult of the Root Cause
My ops postmortem template tried to elicit breadth. Once you’ve got a forest of causes, you can apply Five Whys to add depth.

There’s some overlap among the following questions. The intent is to elicit observations and ideas, not to uniquely categorize them.

* What are all the factors that could have prevented the incident?

* What are all the factors that could have detected the issue before production?

* What are all the factors that could have detected the issue sooner when it did occur?

* What are all the factors that could have accelerated mitigation? (Including, especially, changes that could have reduced the risks of mitigations considered too risky to apply.)

* What are all the factors that could have accelerated remediation?

* What could have reduced the scope or impact?

It’s common to come out of this with a laundry list that overfits the last incident and, if applied, would increase the complexity of the system and add risk. We’d typically apply one or two fixes, and stockpile the rest to see if any of them would have addressed any future incident. Usually most of the “solutions” turn out to be specific to the single incident that prompted them.

osteele··on The Entire Economy Is MoviePass Now
DELETED as a misreading of the OP.
osteele··on How to start a Go project in 2018
> Out of morbid curiosity, what's the current answer for "how to pack up a Python program into a single executable/directory for Windows" now?

The Hitchhiker's Guide to Python[1] (HHGTP) encapsulates a lot of standard tools and best practices. I've been recommending it to students for a few years now. Last year it listed virtualenv, venv, pyenv, etc.; now it recommends just pipenv.

HHGTP also has sections on "Packaging Your Code" and "Freezing Your Code". I think what you're asking about is referred to there as "freezing". The "Freezing" section of HHGTP lists some Windows tools, and contains a table comparing them. There doesn't look to be a single accepted one.

A G^nP post did criticize Go compared to Python, but I don't believe the author speaks for “the Python community”.

[1] http://docs.python-guide.org/en/latest/

osteele··on How to start a Go project in 2018
> I don't really understand how the Go team make decisions.

If you haven’t yet read it, start here: https://blog.golang.org/versioning-proposal

osteele··on How to start a Go project in 2018
> Speaking of which, what is the best way to start a python project in 2018

Pipenv[1] and flit[2]. Together, these do most of what npm/yarn provide for a Node.js project.

Pipenv for installing packages. It’s a virtual environment manager (like pyenv, virtualenv, venv) that’s aware of and stays in sync with the package requirements list, and supports repeatable builds. It claims to be “officially recommended”, and Travis and Heroku, for example, detect its configuration file.

Flit for publishing a package. It’s driven from a declarative project file.[3]

EDIT: Added details and a link to [3].

[1] http://docs.pipenv.org/

[2] http://flit.readthedocs.io/en/latest/

[3] http://flit.readthedocs.io/en/latest/flit_ini.html

Page 1 of 10Next →