HN user

thidr0

71 karma
Posts0
Comments25
View on HN
No posts found.

SEEKING WORK | Pittsburgh | C++, Python, Robotics/Automation

Need help building or scaling your robot software? Need to rearchitect a prototype into a product and pay down some technical debt? Need some advice on best practices for robotics programming?

I can help with everything from high-level system architecture, to ROS programming, to pulling off the 3D math required to get your robot moving.

A Carnegie Mellon grad with expert C++ and Python skills, I’ve programmed robots as a robotics software engineer for over 8 years. Additionally, I can tap my network of roboticist friends can help solve any challenge.

Send me an email with a bit more about your problem or goals and we’ll go from there:

hn@fpw.33mail.com

Note: able to assist with other C++ or Python work if robotics isn’t your industry. Just ask!

Pattern matching is one of my favorite things about Haskell. But seeing it done here in a dynamically typed language is a more than little clunky (three indents needed to get to an expression). It would be better to be matched on the parameter list, but again Python’s typing would make that too difficult.

I agree —- I find the Haskell IRC very friendly, even to the point of helping people do research and figure things out instead of just dropping answers. And there’s a beginners IRC for all those stupid questions I have

Excellent. That sounds like something I'd really enjoy. I don't work in the space, but I'm more interested in the trading systems than the algos, primarily. After all, I'm a little skeptical about my ability to beat the PhDs with their institutional nukes while I'm over here sharpening a dagger.

Whenever I try to do a ‘5 Whys’ analysis on a belief I have (“I believe X.” “Why?”) I almost always have multiple answers (“Because Y and Z”). Then I have to recursively apply another “Why” to both Y and Z, and it ends up being a pretty wide tree of answers.

I’m always left wondering “how am I supposed to really get something out of this?”

Something about this article strikes me as a thinly-veiled complaint about poorly designed object-oriented systems. Take, for example this comment by the author:

Even if the money were half of what today’s coder gets paid it might still be a better job because one is spared the tedium of looking at millions of lines of Java that do almost nothing!

What all those millions of lines of code are is abstractions, decoupling, and modularization of logic/responsibilty. This is hard-won knowledge from the field of software engineering. Granted, a lot of it is probably very poorly designed or organized. But the problem is the design and not the philosophy.

Because scientists all use the same basic rules of math, but each business will each have it's own special rules (i.e. not all payroll software implements the same policy/axioms), this makes it really easy for the hard logic of scientific work to be in a general-purpose library. "Normal" developers need to customize their own rules, or in other words, develop their own services unlike the data scientists.

Now if every data-scientist had to roll his/her own version of numpy, pandas, sci-kit learn, tensorflow, etc. the author would probably be decrying the deluge of procedural spaghetti produced by data scientists. The data scientists' notebooks look simple because of all that indirection is hidden away in the many libraries.

I will often tell candidates on the phone screen that I don't want to go forward for XYZ reasons (always technical). At one point one of the guys I gave feedback to like this turned the call into an occupational therapy session whining about the chicken/egg experience problem, how all these companies want him to know the "trivia" of CS fundamentals, etc.

Believe me, it's a lot easier to just send a form rejection.

That's like a company saying "We make a product, but 99.999999% of our target market want some feature we don't have. IDIOTS!"

Guess what, in this scenario, you (specifically your labor) is the product.

This reminds me of a famous quote by Chuck Jones[1]: "Every artist has thousands of bad drawings in them and the only way to get rid of them is to draw them out."

In the same way, we probably all have thousands of bad programs/scripts/classes in us. Code 'em out.

[1] I've also seen this attributed to others and phrased differently

One thing I don't understand about net neutrality. Say I'm a toll road. I built the road when cars were relatively small and light. Now, some cars are getting really heavy and big (think semi trucks) and are the majority of my traffic. Because of this, they beat up the road and cause more congestion. So I want to repair the road and/or add more lanes by increasing the toll on these trucks. But all the trucking companies are complaining and preventing me from doing it, thus ultimately hurting the small personal cars that want to zip through.

Obviously this is an analogy to net neutrality, so why is this reasonable situation fundamentally different? In a free market, shouldn't I be able to increase the tolls on my private infrastructure for those that put the most stress on it?

(Now I will say, the fact that there's only one toll road option for many people is anti-competitive and against the free market, but that's not this topic)