HN user

rubicks

322 karma
Posts0
Comments169
View on HN
No posts found.

You treat it like the metaphorical toxic waste it is: avoid it at all costs. You don't need ROS to get a dependency manager, a build system, a middleware, and/or a process manager.

I have worked in two failed and failing startups that invested heavily in ROS. I could fill several volumes with "ROS Gotchas". Everything in the ROS stack is either a useless curio or an on-fire clown car.

Using ROS is a great way to turn your project and business into a cautionary tale.

I'm putting qnx cross-toolchains into Debian packages because $DAYJOB builds qnx images in ubuntu containers. I've learned a lot about cross-toolchains and my appreciation for blackberry's technical prowess has never been lower.

SICP was one of my course texts and introduction to the scheme language. It is a masterpiece of a computer science book with a staggering breadth of applications.

I usually start with the `dh_make` generated skeleton and incrementally add overrides as I iterate with `gbp buildpackage`. It's not pretty, but it's what I know.

If we can push Ubuntu out of the pole position, then I think we can solidify Alpine as the next great Linux distribution. I am all for simpler packaging.

I do fear, though, that Debian packaging has absorbed some necessary complexity that Alpine packaging has not --- if only because Debian has been around so much longer.

I have both hated and appreciated debian packaging, largely depending on the thing I was trying to package at the time. Things implemented in C/C++ and built with vanilla cmake are feasible. Other things get complicated very quickly.

If you're willing to absorb that complication, then debhelper really will handle any and every situation. It is a hell of an investment, though.

Here's a heuristic that works for me, for $foobar, any language and/or sufficiently complicated tech:

Within the documentation, find the sections that deal with the following topics:

  * extending $foobar
  * embedding C in $foobar
  * embedding $foobar in C
  * packaging/distributing $foobar
  * porting/cross-building $foobar
In my experience, these topics are inherently hardest to implement, last to be documented, and trickiest to understand. As such, they make for worthwhile reading for advanced practitioners.