nowfound

Dev tools · September 6, 2011

NL

Notational `ls` - Never get lost in code again (hour long hack)

Hey folks, I just wanted to share a quick script I threw together called notational ls. One of the big problems of any code base (or any filesystem) is that it's hard to tell what's what - folder and file names often trade brevity for clarity. So I thought about a version of `ls` that works like this: > nls web: Where python web server files are stored ad_hoc: One time scripts ios: Our IOS code images Adding descriptions is really easy too: > nls images Images SHARED between both ios and web web: Where python web server files are stored ad_hoc: One time scripts ios: Our IOS code…

Alternativestop 17% of September 2011

What it does

In the maker’s words, at launch

Hey folks, I just wanted to share a quick script I threw together called notational ls. One of the big problems of any code base (or any filesystem) is that it's hard to tell what's what - folder and file names often trade brevity for clarity. So I thought about a version of `ls` that works like this: > nls web: Where python web server files are stored ad_hoc: One time scripts ios: Our IOS code images Adding descriptions is really easy too: > nls images Images SHARED between both ios and web web: Where python web server files are stored ad_hoc: One time scripts ios: Our IOS code images: Images SHARED between both ios and web So I whipped up said script in python and pushed it to github for all to use. Code is at https://github.com/newhouseb/nls, feel free to fork as you so please, but I must get back to real work. If there's enough interest it'd be great to turn this into a larger effort of improving the small things in our bash lives. If you're lazy, here's the source anyway (github has comments and sane spacing) - enjoy! from subprocess import Popen, PIPE import sys files = Popen(["ls"], stdout=PIPE).communicate()[0].splitlines() notes = {} try: nls_file = open('.nls').read().splitlines() except IOError: nls_file = [] for entry in nls_file: file, note = entry.split(':', 1) notes[file] = note if len(sys.argv) > 1: if len(sys.argv) == 2 and sys.argv[1] == 'bootstrap': for file in files: if file not in notes: notes[file] = '' elif sys.argv[1] in files: notes[sys.argv[1]] = ' '.join(sys.argv[2:]) open('.nls','w').write( '\n'.join([file+': '+note for file,note in notes.iteritems()])) for file in files: if file in notes: print '\033[1m' + file + ':\033[0m ' + notes[file].strip() else: print '\033[1m' + file + '\033[0m' Note: I know this code isn't perfect, but it was a quick job and is what came to mind first and, most importantly, works. If you want to improve it send me a pull request/fork it on github (this is REALLY easy now with github's recent updates).

Does the same job

all alternatives →
  • MF
    my first ever coding project (7bks.com)2010 · ▲25

    Hey HN. I've just launched my very first webappp and would love your feedback. http://www.7bks.com It's a book list sharing website - kind of like playlists for bookworms. The site is built on pyton/appengine - and I learned to code in under 4 weeks to build the site. There's more details on the background of the site here: http://www.7bks.com/blog/179001 I've also published the full Python code for the site here: https://gist.github.com/670034 Feedback is really important to me and I want to work hard to make the site better so any and all suggestions are greatly appreciated. Contact…

  • AA
    Ane, a new chord-based terminal code editor with one-shot CLI editsMay 2026 · github.com · ▲5

    I’ve had this idea for a new code editor chord grammar bouncing around in my head for over 2 years, and now I can finally release v0.1 of ane. You can run it one-shot from scripts or agents (`ane exec —chord…`) or use its full-on TUI editor. ane is pure Rust, and integrates tree-sitter and LSP to provide a pleasant and predictable terminal code editing experience. I’d love folks to try it out and give feedback! Thanks :)

  • RI
  • RA
    Runal – A text-based creative coding environment for the terminal2025 · github.com · ▲7

    Hello HN! Just wanted to share a small project I've been working for the last few months. It's a tool called Runal, a text-based creative coding environment that runs in the terminal. It works similarly as processing or p5js but it does all the rendering as text. And it can either be scripted with JavaScript or used as a Go package. It's open-source and cross-platform (linux, macOS, windows). It seems to me that text/ascii-art aesthetics are really popular in creative coding communities, so I though it would make sense to create a tool that runs on a platform which can render text only.…

  • MS
    my small open source web app written entirely in Clojure2012 · ▲18

    I've implemented a small web app — (a hassle-free hosting for markdown pages) entirely in Clojure and here is what I think: http://notehub.org/2012/6/16/how-notehub-is-built The app itself: http://notehub.org GitHub: http://github.com/chmllr/NoteHub

  • IB
    I Built a UI to finetune LLMs x100 faster2024 · finetuna-ui.com · ▲7

    After fine-tuning GPT for a personal project, I realized how tedious it is to write plain text in a massive JSON file. That's why I built this app for my own use, and I want to see if others could benefit from a tool like this as well ;)

More dev tools this month

the category →
  • Dograh592

    The open source VAPI alternative

    Dev tools · 25d ago · dograh.com

  • Meridian530

    Don't let your work go unnoticed. Get promoted!

    Dev tools · 20d ago · meridiona.com

  • x1516

    Lovable for iPhone apps go from idea to App Store

    Dev tools · 11d ago · x1.new

  • Open-source GTM skills for technical founders

    Dev tools · 29d ago · gtmcofounder.com

  • OpenTrailPaper is open-source bike computer firmware for the LilyGO T5S3 4.7" E-Paper PRO. It supports offline maps, GPX routes, FIT recording and Bluetooth sensors.

    Dev tools · 2d ago · opentrailpaper.com

  • Nuphos380

    The AI-Native DevOps Workspace.

    Dev tools · 24d ago · nuphos.ai

Launched alongside, September 2011

the whole month →