Ask HN: What are some of useful but little-known tools you use for development?
1–10 of 11 posts
Re: Ask HN: What are some of useful but little-known tools you use for development?
#2Re: Ask HN: What are some of useful but little-known tools you use for development?
#3I'm still hoping to find a decent "SQL flavor" interpreter and/or translator. That would be a killer feature, allowing me to define "procs" in vanilla ANSI SQL, and translate them into whatever database's SQL format I need without worrying too-much about syntax and optimizing. Because you know, it's 2016, and I still need to know that fetching N rows of results from a table has multiple syntax forms depending on your chosen database and version.
Re: Ask HN: What are some of useful but little-known tools you use for development?
#4Re: Ask HN: What are some of useful but little-known tools you use for development?
#5Wraith is super useful for web development on existing complex sites and I rarely hear of it or existing tools. Setup a staging site along with your production site, list the important URLs and when you run Wraith it'll compare screenshots of changes between the URLs on staging and production. This lets you update existing pages and verify you've not broken other pages with only a small amount of setup. See https://g…
Re: Ask HN: What are some of useful but little-known tools you use for development?
#6- Eliot, a project of mine, is a logging system for Python that actually gives you a concept of causality: http://eliot.readthedocs.io/en/0.12.0/introduction.html
Re: Ask HN: What are some of useful but little-known tools you use for development?
#7Re: Ask HN: What are some of useful but little-known tools you use for development?
#8Wraith is super useful for web development on existing complex sites and I rarely hear of it or existing tools. Setup a staging site along with your production site, list the important URLs and when you run Wraith it'll compare screenshots of changes between the URLs on staging and production. This lets you update existing pages and verify you've not broken other pages with only a small amount of setup. See https://g…
Nice, this looks great for regression testing
Re: Ask HN: What are some of useful but little-known tools you use for development?
#9Code generation is a big one for me. A nice thing I like doing is defining "interfaces" for a particular database table, along with the tables definition in a particular format. Then I can generate any kind of access to that table I'm willing to spend time on creating a generator for. I'm still hoping to find a decent "SQL flavor" interpreter and/or translator. That would be a killer feature, allowing me to define "p…
I wonder if some of the ORM's would get you to a bit closer to the cross-platform proc. They need to know all of the variances of the db's in terms of the syntax I guess, but I doubt you'd ever get to a stage of writing cross-db stored procs that compiled to TransactSQL etc... or whether the effort would be worth it.
Have you had to do that? i.e. write the same functionality in two different databases as a stored proc? I guess software vendors might face that. I'd probably push the logic back into the app code if possible, unless the amount/processing of data precludes it for whatever reason.
Re: Ask HN: What are some of useful but little-known tools you use for development?
#10tup only rebuilds the parts that need to be rebuilt. The build files you produce are dependency trees, it can recognize when a node in the tree hasn't changed and won't trigger further actions. Consider: You modify the comments in your .c source file, correcting a typo from "alpabetical" to "alphabetical". There has been no code change. Make will, without additional configurations, build the .o file, and then rebuild everything else down the line to the final lib or exe. tup will recognize, by default, that the .o file is unaltered, and won't trigger any further action.
tup also has a monitoring system that I intended to port to OS X but got distracted on. It will watch the filesystem for changes so it doesn't need to walk the filetree to identify the change when you issue the build command. It'll already know exactly what has changed and be ready to issue the (near-)optimal instructions.