Hacker Newsnew | past | comments | ask | show | jobs | submit | idealstingray's commentslogin

> Obviously, people shouldn't do that.

I'm not sure this is obvious or even particularly well-publicized.

The "official recommendation" in the U.S. for many meds is that they be flushed down the toilet, especially scheduled/controlled substances. The FDA maintains a "flush list" [1] of medications that you are specifically instructed to dispose of by flushing. However, even for medications not on the official flush list, it's common to be informed by reasonable authorities that you should dispose of them by flushing -- e.g. I had to sign paperwork at my doctor's office affirming that I'd responsibly dispose of my unused ADHD meds by flushing them down the toilet before my dr would write the prescription. This was seconded by the drug/alcohol training I was given as a condition of attending college, which stated that you should flush all unused medication.

[1]: https://www.fda.gov/drugs/disposal-unused-medicines-what-you...


Even more annoyingly, US pharmacies often refuse to accept leftover medicines for proper disposal. They'll hand out packets of stuff that makes opioids unusable to addicts, that's all.

Back in Europe, you could just hand off your unused meds to the local pharmacy and rest assured they'll be handled more responsibly.


As a robotics engineer, I'm surprised how controversial "hardware can't remote" is turning out to be. Sure, some things can be done fully in simulation or by mailing everyone on the perception team a bunch of sensors. However, existing/popular simulators aren't that good at simulating things like odometry error, and if you're trying to do any object manipulation they're not great at anything beyond "before I run this on the robot, please make sure I'm not going to destroy things" (my understanding is that accurately simulating manipulation is hard because of the various frictional forces involved). And, of course, giving several employees a large, expensive KUKA arm to keep in their house or apartment is impractical on many levels. If people are running code remotely on a physical robot that's in the office, at least one person has to be in the office to keep an eye on it (for safety, and freeing the robot if it gets stuck). This is also not even getting into remote embedded, electrical, or mechanical work -- everything I've listed would affect a garden-variety software developer. So, yeah, I'll endorse "hardware can't remote", and will admit to some frustration with non-hardware-adjacent software engineers, who have a tendency to make over-broad generalizations about the feasibility of remote work.


Always the problem with absolutes. It highly depends on the project and what you look at. I wouldn't sign "hardware can never be remote", but I also think "hardware always can be done remotely" is very wrong. And that leaves out the massive space of hybrid models.

I.e. I do know of embedded projects where the hardware designer works out of his living room and the software developers are spread across Europe. Does that count? Or doesn't it because the PCB fab and assembly service obviously works out of a factory? It certainly is remote as far as the developers are concerned - and it wouldn't work as well if the device in question didn't easily fit on a desk (although you can do a lot with only remote access to hardware too in later stages).

Somehow embedded developers often tend to (understandably) bemoan that the overall "software community" doesn't understand their work, while at the same time falling into the same trap regarding the breadth of what embedded development is today vs their individual experience.


Touché. People on HN are sometimes really flippant about the lesser discussed segments of software industry.

We had to run the hardware lab with strict quotas in the middle of the raging pandemic, because the critical equipment can't be moved. I had to personally go to office several times to use the jigs to use special test devices, I can't even imagine our remote developers in Poland/Ukraine traveling to Berlin just to work on the experimental devices.

Also a lot of people are overlooking the compliance issue. Several of the projects under TISAX need a sealed working environment where access is restricted even for the same company people. Good luck porting that compliance to a home office.


We had enough problems with "hardware can't remote" with server equipment that they made systems to control them. Those systems are useful even if you're in the same building and just don't want to go hang out in the cold, loud server room while you figure out the problem, and everyone wonders if you're even working today (since they can't see you).

Or you might not even have access to that room.

We just haven't had much motivation to do this for a more general class of hardware, and there probably haven't been enough non-pandemic motivators to build such things, and it would be pretty macabre to build a system just in case there's another pandemic, or to buy the thing if it existed.

Time sharing hardware with someone on the other side of the planet, for instance, might introduce too much delay for a Big Red Button. Apparently it's about .25 seconds if you're in the room. You can do a lot more damage in another 200 ms, and packet loss could make that delay bigger.


Testing is one field where you already might see fairly automated unsupervised/remote setups that are not that difficult to use for remote development too, although surprisingly often testing is still done manually.


We had some experience with this, and the device under test or even testing harness can fail, so you need a local operator to fix things anyway.

It is more feasible to ensure no such failures the simpler the device is, e.g. with a good hardware watchdog setup. We did it with a rather complex stack.


Of course, you also need someone and somewhere to set it up in the first place after all, but it makes a big difference between "you need the entire team in one place" vs "you need a place that has a test engineer or one member of the team available/on-call". (To continue the parallel from /u/hinkleys comment, lights-out management is useful even though the server still can't swap a broken disk itself)

Seeing that now with Covid at customer sites: only 1-2 people from a larger group in the office, who if needed can go poke devices, while the majority works remotely (which often includes contractors that otherwise would be in hotels etc). Generally not optimal, since many don't have the amount of automation one would prefer, but workable and with room for improvement.


My team deployed lots of stuff on Kuka robots from across the world using a VPN with remote pendant software and few PTZ cameras around the robotic cell. It can be done.

The thing though is you still need physical space for integration but a lot of the developed can be fully remote.


I've developed a lot of stuff for Fanucs with a similar setup, minus the cameras. A relatively small amount of the work is actually getting in the cell with the pendant and teaching the position registers. A large amount is structuring your programs, writing interprocess communication, setting up inter-machine communication, fault handling, zone exclusions, process monitoring, manual overrides, dry cycle controls, etc. etc. etc.

First, write the programs that set flags, work with IO, branch and jump, fault and recover, and so on. Stick in comments as appropriate that read eg. "Now move from PR1:Home to PR17:Infeed Magazine 2, approaching with the offsets from PR101".

We typically implement some sort of 'dry cycle' mode, where we don't actually check for part presence/energize vacuum generators/spool out wire/spray paint, so you can check for intermittent mechanical problems, loose wires or fasteners, etc. When starting development in this way, it's a sort of anhydrous or dessicated cycle, without any motion whatsoever!

When the robots finally arrive or when you actually go into the shop, only then should you need to move stuff. A benefit is also that you should have a much better idea of precisely where and in what sequence you need to move it, not just the RFQ's description of "the robot does some stuff and assembles the part".


A few other comments have mentioned the LEGO Mindstorms system, which is a great choice if you don't want to deal with hardware. If you go that route, I would strongly recommend using ev3dev [1] in order to avoid the LabVIEW-based programming language LEGO provides. You can get pretty far in the Mindstorms system, especially if you avoid LabVIEW; my biggest Mindstorms project was a 1v0 tabletop soccer robot using a subsumption controller. I will also note that if you're planning to teach controls at all (PID controllers are easy to implement, and are often used for controlling motor speed), Mindstorms can't really achieve a tight enough control loop; go with an Arduino-based system instead.

If you want something a little simpler than Mindstorms to get started with, you can also get a robot that holds a pen and is programmed in Logo [2]. Logo was designed as a language to teach programming to children, so it's very easy for kids to get started, and drawing on big sheets of paper with a pen immediately gives them the feeling of "doing something".

I would encourage you not to be scared of hardware :) You can build a lot of fun robot projects with cheap motors (you don't necessarily need servos), bump switches, and a cardboard-and-hot-glue chassis, using pretty simple circuits. The two classic beginner projects are wall-following and back-and-turn. At its simplest, a wall-following robot can use a switch touching the wall to control which of two motors turns on. A back-and-turn robot is a robot that backs up and turns in a different direction when it encounters an obstacle (and, if you leave it running long enough, will tend to escape whatever room you put it in). To avoid soldering, you could get started with a solderless breadboard (although make sure the wires don't get jostled out of place by robot collisions or falls).

It sounds like this is probably more advanced than your kids are ready for, but you could also get a Neato robot vacuum cleaner and control it with a Raspberry Pi running ROS [3] [4]. ROS (Robot Operating System) [5] is a very popular framework used by both professional robotics engineers and hobbyists; it's not the most beginner-friendly, but is useful for more advanced robotics software projects, and there's a large ecosystem of ROS packages for things like teleoperation and path planning. Neato vacuum cleaners specifically are great for this because they include a LiDAR, which lets you try out the SLAM and path planning packages provided by ROS.

[1]: https://www.ev3dev.org/

[2]: https://www.terrapinlogo.com/robots/probot.html

[3]: https://www.servomagazine.com/magazine/article/neato-ros-rob...

[4]: https://github.com/SV-ROS/intro_to_ros

[5]: https://www.ros.org/


My apartment's current A/V setup is an old third-hand projector I picked up for free pointed at a blank wall of our living room. The only thing I paid for was the serial cable so I could configure the correct input port, but even if I'd purchased the projector new it would run me about $150. In comparison, one of the article's top recommended dumb TVs is $450, while the other is "no longer available". Plus we can use a real computer with a keyboard sitting on our coffee table to control it instead of using the TV remote to painstakingly enter every character. Sure, we could have a less janky setup in many ways -- one day I aspire to build an actual wall shelf for the projector -- but the experience is miles better than any TV, smart or otherwise.


What projector?


Trying to learn frontend so I can make myself a better to-do list/calendar app. I'm a robotics engineer so I have no idea what I'm doing, but it's fun. Due to executive dysfunction, I tend not to have a very good idea of how long it'll take me to finish anything longer than about a day's work (so I assume it "won't take that long", which fuels dangerous amounts of procrastination), so my concept was that each task gets broken down into subtasks that are small enough that I can estimate time for them. These time estimates then get propagated to the root task, and leaf-level tasks can be dragged and dropped into today's calendar (with other events pulled in from Google Calendar so I don't accidentally double-book myself). On the task itself I'll be able to record how much time (in pomodoros) it actually took to complete; in addition to tracking how I actually spent my time, hopefully this will help calibrate my future time estimates.

I also finished knitting a sweater -- my second overall, and first time not working from a pattern. I had to redo the yoke three times (the torso and front/back panels of the yoke are lace, so I wanted to integrate the decreases in the lace pattern), but I'm really satisfied with what I ended up with.


I'm a college student and do most of my work from my dorm room, which is also where I sleep, eat, and socialize. For me, lighting is the main thing that helps me differentiate "work mode" from not-work mode. I have a video light mounted above my desk and a couple of bright 5600k plant lights in my window, all of which are on a light timer, in addition to my desk lamp. When I do work during the day, my desk is very well-lit. At night all of these get turned off (sometimes I turn the video light back on but set it to a much warmer color temperature and lower brightness for ambiance).


Do you have any hobbies outside of tech? You could try talking about those. If not, just about everyone listens to music, so "what kind of music do you listen to?" is a decent opening question that might take you somewhere interesting.

If you're having trouble finding an interest in something your conversation partner is talking about, try asking them what they like about it -- it could help you find the topic more interesting.


I really like this script! My neat trick is to directly ask "Do you just want to vent? Or do you want my advice?" If said in a gentle and non-sarcastic tone, this works pretty well on other engineers with meh social skills. I don't think I know any socially competent people to test it on.


For me, a quick "hang on" or "sorry, one sec" acknowledges people enough that they don't feel ignored while I make my notes, and is also scripted enough that it doesn't usually knock the thoughts out of my head.


I'm at a school where most classes have all of their materials online for free. Usually a professor will post lecture notes and/or slides online and recommend an optional reference textbook.

When I do need textbooks, I generally buy them instead of checking them out from the library, and most of the reason is that the library isn't open 24 hours a day. 90% of the time I can get by with only using books for class during the day, but if I end up having to pull an all-nighter to finish a paper or a pset, or if I've been procrastinating and need to do the readings for a class after midnight, I'm screwed. It's valuable to me to have the mental overhead free, instead of needing to plan when I'll be able to access the books I need. (As a bonus, it's a good start for building up a reference library, and I can mark up my personal copies however I want, but these are secondary reasons.)

I still use the library for studying, finding materials that I only need once and don't want to buy, and checking out items like USB CD drives. (You can also check out soldering irons and small power tools from our campus libraries.) I also made frequent use of the piano in the music library when studying music theory. But I'd probably use the library a lot more if it were staffed between midnight and 6 am.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: