the linux subsystem exists on windows now though so there's that
Visual Studio Code has this plugin/add-on so that you are running it from within the WSL. I've only tried it while toying around, but it seems to work nicely.
Also a remote-ssh plugin that beats the hell out of VNC or WSL if your dev host is a Linux machine. Our laptops suck ass, but we get issued 8C/16T workstations with 32GB of RAM, so it is way faster to build from there.
I mainly wish we were on a more modern Linux distro instead of Red Hat 7, but it's not in my control.
For better or worse, I can install whatever I want on my dev machine as long as I take responsibility for not fucking it up and maintaining security patches. It bit me once, but overall has been a boon.
Until I started this new job, I had coded on Windows for my entire education and career.
Holy shit guys coding on a Mac is SO MUCH NICER. I had no idea what I was missing.
There's something about Macs that just doesn't click with me. I had a job a few years back that gave me an old Macbook and I hated that thing. I never got used to it and I have no intention of ever going back.
But that's just me, I realize I'm basically a fossil at this point.
Hi people,
I'm looking for a recommendation on a book/course/matrix-style-download about functional programming. More than a particular language, I'm looking for patterns in common to these FP languages (though if you ask me, I kinda just barely got started on clojure.)
Basically looking for some do's and don'ts from a FP perspective, and how to think about things in this FP world.
Hi people,
I'm looking for a recommendation on a book/course/matrix-style-download about functional programming. More than a particular language, I'm looking for patterns in common to these FP languages (though if you ask me, I kinda just barely got started on clojure.)
Basically looking for some do's and don'ts from a FP perspective, and how to think about things in this FP world.
Domain Modeling Made Functional, is probably the best and is a light read.
Often FP languages shun "patterns" as such and idiomatic approaches are often language specific. If you are committed to Clojure/Lisp - SICP may also be a good read.
Any of you doing work in robotics/ROS? What is the job market like there?
Robotics is kind of a wide field. I would say that the robotics industry in, say, Pittsburgh, with the CMU Robotics Institute and the National Robotics Research Center (and all the robotics and autonomy companies nearby) is doing well. Don't really know how it is elsewhere, but given the amount of recruiting emails/calls I get to come work for some robotics place on the west coast of the US, I assume there's many jobs to be had.
In my experience, ROS is fine for academic pursuits and hobbies, since it provides a lot of tools for homogenizing platforms. It's sort of the Arduino of robotics. A gateway to being able to do stuff with hardware. Some companies use it, but most I have encountered have more customized/proprietary abstraction layers. I've also worked on projects where the customers very specifically don't want ROS in their platforms. As it relates to jobs, if a company lists it on their job postings, then I would expect it to be a plus.
Can you share any reasons a company specifically wouldn't want ROS?
We are using it on a project I am involved in. I'm on the edge of that aspect.
There's security concerns from some customers, reliability from others. It's like Java for robots, trying to abstract away everything. It can be very useful in some cases, but that doesn't mean it's the best tool for the job.
It can be very useful for teams without enough resources to roll their own middleware or use a more manual middleware and hardware abstraction layer. Also useful for algorithms or planning folks who are trying to use standard off the shelf style robotics hardware, like 6dof arms, or simple lidars.
It's bloated, though, and if you need your system to be real-time, it's not gonna cut it. Also, software that is rooted in academics tends to be developed "until the dissertation is done" and then sometimes left to die (not always true, of course), so support from the community on something cool you are using might immediately dry up.
Using ROS isn't going to be, like, a problem for your career. For all jobs you just gotta look at what they're asking for. Some places will want it, and others will not care one way or the other if you have previously used it.
Yep, and given that many robots have a very limited ceiling in terms of memory/processing power, do you really want the resource sink of a middleware framework?
I just wasted 30 minutes of my life discovering that the code I'm working with returns { success: true } for an error and a null object when everything is okay.
I just wasted 30 minutes of my life discovering that the code I'm working with returns { success: true } for an error and a null object when everything is okay.
As long as you get a jury of software devs, no way they convict.
+5
admanbunionize your workplaceSeattle, WARegistered Userregular
I just wasted 30 minutes of my life discovering that the code I'm working with returns { success: true } for an error and a null object when everything is okay.
As long as you get a jury of software devs, no way they convict.
You're assuming Madpoet wasn't the original author.
I just wasted 30 minutes of my life discovering that the code I'm working with returns { success: true } for an error and a null object when everything is okay.
As long as you get a jury of software devs, no way they convict.
You're assuming Madpoet wasn't the original author.
Don't you put that evil on me. This is some overseas outsourcing bullshit going on.
I just wasted 30 minutes of my life discovering that the code I'm working with returns { success: true } for an error and a null object when everything is okay.
As long as you get a jury of software devs, no way they convict.
You're assuming Madpoet wasn't the original author.
Software devs rarely admit their own mistakes while a service is still in production.
1.5 years to 50% churn. Ever wonder if maybe you’re doing something wrong? Pretty sure that’s worse than Amazon!
I wouldn't be surprised to find out that Uber has a 3 year vesting schedule. Massively high turn-over after vesting runs out is a pretty common sign inside toxic workplaces.
+1
gavindelThe reason all your softwareis brokenRegistered Userregular
Microservice hell is a real thing. I know people who are on iterations four or five of pre-release services to build services to serve services. Then it turns out the requirements changed and its on to version six. Seems to be in vogue in tech circles. "Why don't we solve this problem by decomposing the parts into a microservice?" --> "Oh god we have connection errors everywhere and the only error code returns string literal "/dev/null!"
First you had a compiler. The compiler complained "can't find function foo" and wouldn't link your program
Then you had an interpreter. The interpreter would hum along merrily until suddenly "tried to call foo, a null object"
Finally you have services. Now you get "service foo doesn't exist"
Yeah, finding the happy medium with services means understanding why you need it in the first place. A lot of teams have very little connection to what their app actually does, so the way they split things out is asinine. This is why dogfooding and actual value understanding is so important. There's plenty of things that get refactored that should have just been turned off.
+1
Ear3nd1lEärendil the Mariner, father of ElrondRegistered Userregular
First you had a compiler. The compiler complained "can't find function foo" and wouldn't link your program
Then you had an interpreter. The interpreter would hum along merrily until suddenly "tried to call foo, a null object"
Finally you have services. Now you get "service foo doesn't exist"
Progress
That's the opposite of progress. Syntax errors are like justice: they should be delivered immediately.
+1
OrcaAlso known as EspressosaurusWrexRegistered Userregular
That’s the joke.jpg
+2
gavindelThe reason all your softwareis brokenRegistered Userregular
Went into my office today to pick up a few straggling things. Only person in the parking lot. Nuts how quiet it is. A lot of us are lucky enough to ride out this pandemic with WFH, but even then the sheer scale of things...
Well, the sheer scale is a lot like standing in an empty parking lot that used to fit 500 people.
Yeah, finding the happy medium with services means understanding why you need it in the first place. A lot of teams have very little connection to what their app actually does, so the way they split things out is asinine. This is why dogfooding and actual value understanding is so important. There's plenty of things that get refactored that should have just been turned off.
I'd go a bit further. There is a lot of software that should never, ever be written, but the constraint of "Have to spend X and show "growth"" just puts any rationality out of the door.
This shit I quoted was from an article that they felt good about sharing and the impression left was of people in that organization that genuinely believing the above is "an obstacle to overcome" and not "a symptom of a decease".
Man, the abundance of capital is driving technology into insanity instead of forward.
Yeah, finding the happy medium with services means understanding why you need it in the first place. A lot of teams have very little connection to what their app actually does, so the way they split things out is asinine. This is why dogfooding and actual value understanding is so important. There's plenty of things that get refactored that should have just been turned off.
I'd go a bit further. There is a lot of software that should never, ever be written, but the constraint of "Have to spend X and show "growth"" just puts any rationality out of the door.
This shit I quoted was from an article that they felt good about sharing and the impression left was of people in that organization that genuinely believing the above is "an obstacle to overcome" and not "a symptom of a decease".
Man, the abundance of capital is driving technology into insanity instead of forward.
Absolutely. Coupled with NIH syndrome and you have a mess.
+1
thatassemblyguyJanitor of Technical Debt.Registered Userregular
Yeah, finding the happy medium with services means understanding why you need it in the first place. A lot of teams have very little connection to what their app actually does, so the way they split things out is asinine. This is why dogfooding and actual value understanding is so important. There's plenty of things that get refactored that should have just been turned off.
I'd go a bit further. There is a lot of software that should never, ever be written, but the constraint of "Have to spend X and show "growth"" just puts any rationality out of the door.
This shit I quoted was from an article that they felt good about sharing and the impression left was of people in that organization that genuinely believing the above is "an obstacle to overcome" and not "a symptom of a decease".
Man, the abundance of capital is driving technology into insanity instead of forward.
Absolutely. Coupled with NIH syndrome and you have a mess.
I have a good story about how NIH syndrome directly tanked a companies market cap by 66% in ~3 fiscal quarters. Good times. Good times.
Posts
If only C# had MIDI file/sequence manipulation library, especially on .NET Core...
There's something about Macs that just doesn't click with me. I had a job a few years back that gave me an old Macbook and I hated that thing. I never got used to it and I have no intention of ever going back.
But that's just me, I realize I'm basically a fossil at this point.
I'm looking for a recommendation on a book/course/matrix-style-download about functional programming. More than a particular language, I'm looking for patterns in common to these FP languages (though if you ask me, I kinda just barely got started on clojure.)
Basically looking for some do's and don'ts from a FP perspective, and how to think about things in this FP world.
Domain Modeling Made Functional, is probably the best and is a light read.
Often FP languages shun "patterns" as such and idiomatic approaches are often language specific. If you are committed to Clojure/Lisp - SICP may also be a good read.
In my experience, ROS is fine for academic pursuits and hobbies, since it provides a lot of tools for homogenizing platforms. It's sort of the Arduino of robotics. A gateway to being able to do stuff with hardware. Some companies use it, but most I have encountered have more customized/proprietary abstraction layers. I've also worked on projects where the customers very specifically don't want ROS in their platforms. As it relates to jobs, if a company lists it on their job postings, then I would expect it to be a plus.
YMMV, as always.
We are using it on a project I am involved in. I'm on the edge of that aspect.
It can be very useful for teams without enough resources to roll their own middleware or use a more manual middleware and hardware abstraction layer. Also useful for algorithms or planning folks who are trying to use standard off the shelf style robotics hardware, like 6dof arms, or simple lidars.
It's bloated, though, and if you need your system to be real-time, it's not gonna cut it. Also, software that is rooted in academics tends to be developed "until the dissertation is done" and then sometimes left to die (not always true, of course), so support from the community on something cool you are using might immediately dry up.
As long as you get a jury of software devs, no way they convict.
You're assuming Madpoet wasn't the original author.
Don't you put that evil on me. This is some overseas outsourcing bullshit going on.
Software devs rarely admit their own mistakes while a service is still in production.
At Uber, we calculated that the half-life of employees was 1.5 years, which means that every 1.5 years 50% of our developers leave.
I wouldn't be surprised to find out that Uber has a 3 year vesting schedule. Massively high turn-over after vesting runs out is a pretty common sign inside toxic workplaces.
Then you had an interpreter. The interpreter would hum along merrily until suddenly "tried to call foo, a null object"
Finally you have services. Now you get "service foo doesn't exist"
Progress
That's the opposite of progress. Syntax errors are like justice: they should be delivered immediately.
Well, the sheer scale is a lot like standing in an empty parking lot that used to fit 500 people.
I'd go a bit further. There is a lot of software that should never, ever be written, but the constraint of "Have to spend X and show "growth"" just puts any rationality out of the door.
This shit I quoted was from an article that they felt good about sharing and the impression left was of people in that organization that genuinely believing the above is "an obstacle to overcome" and not "a symptom of a decease".
Man, the abundance of capital is driving technology into insanity instead of forward.
Absolutely. Coupled with NIH syndrome and you have a mess.
I have a good story about how NIH syndrome directly tanked a companies market cap by 66% in ~3 fiscal quarters. Good times. Good times.
Not Invented Here
Not Invented Here, AKA, time to reimplement a complicated thing worse for no good reason!
So companies doing their own encryption would qualify under NIH, right?
Yep, and double-down on stupidity for rolling your own security as well!
To paraphrase what I saw somewhere: "Anyone can make an encryption scheme they themselves cannot break."
Just write the file to /dev/null and output a random number of 0's.