Hacker Newsnew | past | comments | ask | show | jobs | submit | hcs's favoriteslogin

I'm going to be interviewing Charles next week for my podcast. Are there questions that you'd like me to ask him?

Check out the "Natural Number Game"[0], which is sort of a practical tutorial but leaves a LOT of things unexplained. I took a few proofs-heavy university classes among the math/cs/philosophy departments so the idea of proving arithmetic from axioms wasn't new, but the NNG still took me an outrageous amount of time (easily 100 hours) and I got nowhere near finishing. Perhaps I just never got things to click into place; I am still profoundly confused about what the 'tactics' truly are.

In my opinion, lean4 is not in any way "for beginners" as you mean it; it is a tool for experts in mathematics.

[0] https://adam.math.hhu.de/#/g/leanprover-community/NNG4


I wrote a NES emulator for ExciteBike 64, so that the original 8-bit ExciteBike could be played as an unlockable level. The hardest part was getting the audio to sound approximately right!

Fun fact: NES Excitebike supported saving and loading your custom tracks to the Famicom Data Recorder. The USA version of the FDR was never released, but the USA version of NES Excitebike still had all the save/load code+functionality built in. When you tried to save a track it would just hang for a while before returning to the menu. After figuring out where the save/load routines were, and where the track was stored in RAM, we were able to put hooks in the emulator to save the tracks to the N64 cart.



The diversity of notations stems from the fact that the current BNF notations are always lacking in something fundamental that each use case needs.

For me, the breaking point came in trying to describe binary formats. I eventually had to come up with my own: https://github.com/kstenerud/dogma

Will it solve the BNF problem? No, but it does help the binary folks.


Oh, this is one I hadn't heard of. There are several different takes on this idea, and I've had the notion to make my own for some years, too (not enough free time...)

I feel like a good "how powerful is this tool, really?" test would be to model the Adobe PSD format with it. That format is bananas, and is what got me into this topic in the first place.

But for those interested, here are some other tools in this vein:

* fq - like jq for binary data: https://github.com/wader/fq

* Kaitai Struct - https://kaitai.io/

** visualizer, for the above: https://github.com/kaitai-io/kaitai_struct_visualizer/

* HexFiend - a hex editor, but with "binary templates" feature : https://github.com/HexFiend/HexFiend

** binary templates, for the above: https://github.com/HexFiend/HexFiend/blob/master/templates/T...

* binspector - https://github.com/binspector/binspector

* binary-parsing - a collection of links to similar such tools : https://github.com/dloss/binary-parsing

* unblob - https://github.com/onekey-sec/unblob

** previous HN thread, for the above: https://news.ycombinator.com/item?id=34434249


Andrew Plotkin (aka Zarf) wrote and published PlotEx[1] while working on Hadean Lands.

[1] http://eblong.com/zarf/plotex/


Not sure if it fits in scope, but I find this classic to be an ingenious intro to where to start from in terms of visualisation: https://bost.ocks.org/mike/algorithms/

I don’t have any advice, but I will say the art in the screenshots didn’t grab my attention.

For what it’s worth, I had a similar experience. I launched a game on itch.io for fun, and got a ton of positive feedback (including “I love this game!” And “I can’t believe this is free!”), but when I launched on Steam (also for free, but now with music people said they liked and new features), it bombed.

The cherry on top was when I posted a Show HN here (it’s a zachlike programming game, using an esolang—-right up HN’s alley), and didn’t get a single upvote. I’ll admit: that hurt.


The (freely available) book "SAT/SMT by Example" [1] shows how a lot of different problems can be tackled with an SMT solver. I highly recommend it!

[1] https://sat-smt.codes/


The design history of Zendo is one of my favorite pieces of boardgame writing: http://www.koryheath.com/zendo/design-history/

MiniZinc is a fairly simple-to-understand and open source constraint language: https://www.minizinc.org

I learned about it when a friend gave me a programming challenge: https://gcanyon.wordpress.com/2009/10/28/a-programming-puzzl... She was going to work in PHP, I wrote a solution in J, and a commenter solved it in MiniZinc. Here is their solution in MiniZinc: http://www.hakank.org/minizinc/einav_puzzle.mzn


I’m surprised I haven’t seen this linked yet, but Bryan Cantrill of dtrace, Sun, lawnmower, Joyent, etc, fame gave an amazing talk for Monktoberfest 2016, titled “Oral Tradition in Software Engineering”, which features The Story of Mel [1]. Highly recommend checking it out — there are loads of little gems and stories like this throughout.

All of his other presentations are great too and definitely worth a listen if you like this sort of thing [2]. A couple of my favorites are “Fork Yeah! The Rise and Development of Illumos” [3] and “Debugging Under Fire: Keep your Head when Systems have Lost their Mind” [4].

[1]: https://youtu.be/4PaWFYm0kEw?t=644

[2]: http://dtrace.org/blogs/bmc/2018/02/03/talks/

[3]: https://youtu.be/-zRN7XLCRhc

[4]: https://youtu.be/30jNsCVLpAE


We recently launched a newsletter called Tour de Source that dives into the source code of open source projects and how they work. So far we have Caddy and TS ESLint and a few in the pipe.

https://tourdesource.substack.com/


I’d come across https://codecatalog.org. I wish there were more of these kind of resources.

I always recommend The Architecture of Open Source Applications [0], it contains some really interesting stories. And it’s free!

[0] http://aosabook.org


see: https://github.com/CoatiSoftware/Sourcetrail , even tho the project is marked archived, it's pretty solid, i personally still use a 2019 release.

i also have a self hosted instance of this : https://elixir.bootlin.com/linux/latest/source

what you asked, comes across with code auditing as well, i wasn't surprised to know security researchers use sourcetrail as well.

hope your favourite language is supported.


For any folks interested in working on introductory visual programming languages full-time, I'm the architect on Circuits at Rec Room and we are hiring all levels of engineering :)

Circuits are basically executable flow-charts built in 3D space on iOS, Android, Consoles, PC, or VR. We have millions of Circuits users already and we are growing rapidly. Please send mail to tyler@recroom.com if you are interested in roles.

Here is a spotlight of some Circuits creators for anyone interested in seeing it in action: https://www.youtube.com/watch?v=ajLn2YHLh6U

Here is a link to some Figma assets for anyone just interested in knowing what it looks like: https://www.figma.com/community/file/1070750698042818512

P.S. We have plenty of other roles open if client game dev isn't your thing but you are looking for a new gig: https://recroom.com/careers#openings


In undergrad I worked with this group for a while: http://www.cs.cornell.edu/andru/papers/reduct-chi17/

They took the basic idea of Scratch, then made it into more of a game with levels, each level being a puzzle to (implicitly) teach or test programming concepts. As you progressed it'd introduce new syntax, while slowly "fading" more familiar syntax towards actual JavaScript code (though retaining the block/GUI-based interface).

We did some more work on further iterations but I'm not sure what became of it all.


Can i interest you in some Me? https://en.wikipedia.org/wiki/Me_(mythology) Hand crafted by the gods themselves!

Tarkovsky's Andrei Rublev has an extended sequence where a bellmaker's young son agrees to pour a bell for a local lord. You see the entire process of making the mould and pouring the metal. It has a town-fair atmosphere. But at the end, there's tremendous pressure on the young bellmaker to have the bell ring properly and have no cracks. And it does. The protagonist, the lapsed monk Andrei Rublev, regains his faith, seeing the result of the young bellmaker's hope.

Wordle, as we loved it, tracker-free and entirely non-evil, is still available to this day at https://web.archive.org/web/20220209234643id_/https://www.po...

What other games are like programming?

Terrastruct | Software Engineer | SF, Remote ok for senior (US/CAN) | Full-time | $120-$200K base | 0.2-1.5% equity

Terrastruct (https://terrastruct.com/) is a diagramming tool for software architecture. Drawing software diagrams on a general-purpose tool like LucidChart or Draw.io feels like coding on Google Docs. It has a lot of the features I don't care about and lacks ones I wish existed. So, I built one for my needs. It focuses on things that software engineers care about, like managing complexity, autolayout algorithms that actually mimic how humans draw diagrams (not squiggly lines flying everywhere), and integrations with tools like Github and AWS.

I've been working on it since 2017 as a side project at Stripe, and quit to do it full time at the end of 2019. Been working on it every day since, and now we've recently raised a Seed round, and are looking for our 4th engineer. Would love to hear from you, especially if you also think the visual documentation space is in dire need of a better tool.

More here: https://jobs.lever.co/terrastruct/cf4eaf64-b27b-456d-b51a-75...


I came here to move fast and break things, and i'm all out of move fast.

There are definitely tradeoffs and I suspect that having chosen software, you might have gotten cabin fever before you were 20 years in.

With software, you can tweak the rules that create a forest and press a button to have - in your hand - a board that’s better than the last: solid, straight, and knot-free.

These are things that take decades in simpler disciplines.


What you wrote reminded me of this ('Why is programming fun?' from The Mythical Man-Month, by Fred Brooks): http://grok2.com/progfun.html

The ideas behind this project are similar to the goals of BlockStudio [0], a project of mine.

The core idea is to build computational logic by choreographing movements of blocks/images on a digital canvas.

[0] https://www.blockstud.io


Did you win the Putnam?

If not, please don't be "bolder" than this guy: http://en.wikipedia.org/wiki/Ravi_Vakil


Going to plug my project Fraidycat here. Feels like it satisfies many of these. http://fraidyc.at/

It compiles RSS feeds and YouTube, Twitter, etc into a dashboard-like view rather than a crowded timeline. No notifications, no algorithm. Just a tool for a human. Easy to “move into the periphery”. Very calm, even when I’m following 100s of people.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: