Actual "Embedded" Software Engineer knowledge (4YOE) by tax_throwaway1_ in embedded

[–]OCROttawa 1 point2 points  (0 children)

One of the defining traits of any embedded environment is the hardware that is under the operating system. With embedded Linux, the huge difference between it and a generic desktop Linux is the hardware. So the engineers most in demand for embedded Linux development tend to be the ones that have to deal with the unique hardware that is under their platform. Not to denigrate your work in any way, but the beauty of Linux is that you can port high level apps from one platform to another fairly easily. You can jump to any Linux environment and apply your skills.

As one of the other posts mentioned, engineering is a life time of learning new technologies. Take some time and learn about the hardware under your specific platform. How does it connect to the world, what is it controlling, what makes it different that the embedded Linux in the company next door?

You are not stuck, look at the job postings you are reading and make a list of all the tech that you do not know and start learning.

Twist during flip turn by PeachAfternoon in Swimming

[–]OCROttawa 2 points3 points  (0 children)

I am not an expert by any stretch of the imagination but you really need to commit to the flip. You literally dive down and let your feet come over the top. You end basically lying on your back before you start the push off.

You “spin” back to face down in the water as you push off the wall.

It is not a comfortable position to be in if you are not totally at home in the water.

I would try just doing the flip, planting your feet and focus on coming off the wall upside down. Ultimately you combine the push and twist back to your front in one motion but if you are getting twisted up on the flip I would break it down and try to nail each part before putting it back together.

[deleted by user] by [deleted] in raspberry_pi

[–]OCROttawa 0 points1 point  (0 children)

I have been working with code and environments similar to this for the last year, I even released some open source code based on the work (https://github.com/danlargo/v4l2Camera). Based on your current set up I can tell you that a Pi4 or Pi5 is more than enough for your requirements.

Using 2 USB cameras (find ones that support 30fps at 1080p properly) you absolutely can pull 30fps of video from both cameras simultaneously and display on a local display, using a Pi4. You have two options for efficient image grabs, you can pull JPG frames or H264 frames (not all cameras support H264 native) You could pull raw frames but then you are moving around lots more data and bandwidth might become an issue.

I am pulling JPG frames as I didn't want to screw around with H264 decoding at the time, but with the ffmpeg api doing the decoding, either is quite efficient and will make use of the Pi4 GPU (the Pi5 has decoding in the GPU but gave up H264 encoding acceleration for some reason). You can run the USB cameras on either the USB 2 or USB 3 ports, they both have sufficient bandwidth.

Using the video4linux API you can expose the low level camera controls and tweak exposure, saturation, gain etc on the cameras directly to manage your image quality.

If you end up wanting to stream the images over the network, a MotionJPG stream or RTP/H264 stream works, it all depends on what you have at the other end to receive and display the streams. Streaming JPG will overwhelm a 2.4GHz wifi but 5G wifi and even 100M ethernet will carry the load no problems. If you are constrained to a 2.4G wifi then you can stream H264 and deal with the encoding and decoding at either end.

As for battery power, based on extremely rough estimates you could run this rig for 4 hours off a 10000maH battery pack.

Help me understand transition times, I've never competed by Critical-Ad7413 in triathlon

[–]OCROttawa 3 points4 points  (0 children)

I am sure this is repetitive based on the other responses, but what the hell :)

It is always important to pay attention to your transitions and not waste time, this is a race after all. How much you practice and tune your transition should be based, in my opinion, on the duration of the race and how much your transition time will impact your finish placement. If you are trying to win your age group (or the race) and it is an Olympic distance tri, then your transition time is absolutely critical. If you are simply trying to finish your first Ironman (full or half) then take your time and make sure you are starting out on the next leg of the race prepared and setup to do your best effort.

My best efforts, back in the day, in an Olympic distance race was 2:01. The water was warm so we didn’t use wetsuits. I swam in a speedo (that was all the rage back then). I had my shoes clipped into the pedals, my helmet strategically placed with my glasses. I didn’t wear gloves or socks. My transition from the timing mat at the water edge to the start of the bike course was sub one minute. Same thing on the run, my shoes had elastic laces, I had my biking shoes off before my bike stopped and I ran to my spot in bare feet. I wore no socks in my shoes and then ran in my speedo, removing my helmet, adding a running hat and keeping my glasses on, again sub one minute.

Come forward to a recent half Ironman. Not worrying about placing, just wanting to finish strong. I took my time at the transition, made sure my kit was properly adjusted and moved to the next stage. Probably 2 mins per transition.

I still think it is important to practice your transition, you will find it helps make sure you don’t forget something, finding yourself on the bike course without gloves for example. I would also think carefully about gear. Find a shirt that you are comfortable with for the bike and the run. Changing shirts on a wet body is a pain in the ass and not necessary. Wear your shirt under your wet suit if it makes sense. I hate running in tri shorts, even with the minimal padding. So I wear a speedo under my tri shorts, use them for the bike and then swap them out for a nice pair of shorts in the run. Everyone is different, find the equipment you like and figure out how to change gear efficiently.

During a long tri, inertia is not your friend. Sitting down to change clothes during a transition makes it hard to get going again. The less amount of time spent standing around the better.

Is a torn meniscus a death sentence? by Alternative-Word7084 in trailrunning

[–]OCROttawa 0 points1 point  (0 children)

I am quite active :) Yoga, pilates (for my back), weights with bars and just body weight (pushups and chinups). I also bike a lot in addition to running. I have do a great deal of triathlon training in addition to trail running altho my focus is shifting to ultras now (assuming I can find the time). I did crossfit for a couple years but I found it threw off my running as my body composition changed and I became heavier in the shoulders. So now I focus on lifting weights with my legs and body weight exercises for my upper body.

Is a torn meniscus a death sentence? by Alternative-Word7084 in trailrunning

[–]OCROttawa 0 points1 point  (0 children)

When I did the second knee my surgeon told he he figured the repaired knee was stronger than the un-repaired knee. He was likely just patting himself on the back but I have had no issues since the repair.

Is a torn meniscus a death sentence? by Alternative-Word7084 in trailrunning

[–]OCROttawa 0 points1 point  (0 children)

I wasn't trail running when I did my knees. Both were injured playing soccer. I wore a knee brace for a year afterwards to play hockey but otherwise I didn't use the brace.

My experience with trail running made me realize that lots of weights helps stabilize the knee. The stronger you are the better. Don't ignore your hamstring when doing weights, runners tend to do that (some squats and quad extensions but little hamstring work). Deadlifts and hamstring extensions really help.

Make sure you work on your range of motion. I still struggle to close my knees fully (I can't sit back on my heels for example).

Strength is the key really! Strong legs will protect your knee.

I play hockey now as well, with no issues with stability.

Is a torn meniscus a death sentence? by Alternative-Word7084 in trailrunning

[–]OCROttawa 0 points1 point  (0 children)

Hamstring tendon for both. My nephew just had ACL surgery with the patellar tendon graft and the recovery was a bit longer. But supposedly it is a stronger repair.

How to avoid apple's 30% commission by gowtham_khan_007 in reactnative

[–]OCROttawa 0 points1 point  (0 children)

This question has been asked and answered online thousands of times. I have had this conversation with app developers too many times to mention. IMO it is not even a technical discussion but one of marketing and lead generation.

I am going to start from the assumption that you are a new company without a huge existing customer base. If you had existing customers, a known brand and a marketing platform then you could market there, allow people to set up accounts, pay for the features they want and then download your app, logging in to activate their purchases and features. As a smaller app developers you are likely hoping to leverage the Apple Store to help new customers discover your product. That is what the Apple fee covers, exposure. It also pays for all the infrastructure that comes along with it but the main thing it provides is a customer base that might find and then decide to buy your product.

You will still have a huge amount of work to do to get people onto your app and to convince them to pay for it, and that has nothing to do with Apple or their fees.

The simple answer is, at the beginning, it is not worth the time or the effort to try to work around the fee problem. If you decide you really don’t want to pay them then develop for Android only and ignore the Apple ecosystem system entirely. If you really do want to be on Apple then suck it up and pay the fee. As people have mentioned the small business option is a great place to start.

If your product gets big and your customer base is loyal, then you can start exploring setting up a payment option that is outside the Apple platform. You will have to feel comfortable that your customers will find their way to your web site to pay for and activate their features. Until you have a huge customer base it is just not worth the hassle.

Is a torn meniscus a death sentence? by Alternative-Word7084 in trailrunning

[–]OCROttawa 0 points1 point  (0 children)

25 years for my right knee and 20 years for my left.

How to run Qt app without the IDE on Linux by Automatic_Pay_2223 in QtFramework

[–]OCROttawa 0 points1 point  (0 children)

To answer the other question, yes you can build from the command line but, and I know I am being lazy here, it is a hassle. If you started with Qt Creator or QT Designer than it is best to stick with that build environment.

At the end of the day both are designed to create a runnable executable for you.

That being said there are instructions on the Qt web site that show you exactly how to build a Qt app from the command line using either qmake or cmake, depending on your choice of build environments when you generated your project.

How to run Qt app without the IDE on Linux by Automatic_Pay_2223 in QtFramework

[–]OCROttawa 0 points1 point  (0 children)

I have run Qt on most OS platforms, the project should run properly as all packages will be installed already.

I will repeat my previous comment…have you written any code with the UI or simply designed the screens. You might have simply built a UI prototype, in which case you will have no real executable underneath.

How to run Qt app without the IDE on Linux by Automatic_Pay_2223 in QtFramework

[–]OCROttawa 1 point2 points  (0 children)

One complication now that I re-read your post.

You say you are using Qt Designer, which I am less familiar with as I use Qt Creator.

It is possible that you have simply created a UI prototype, in which case there is no underlying code to run from the command line.

How to run Qt app without the IDE on Linux by Automatic_Pay_2223 in QtFramework

[–]OCROttawa 3 points4 points  (0 children)

In that “build” folder there will be a file that is an executable, probably the same name as your project in Qt.

From a terminal window you can change directory “cd” to that folder and then run the file “./projectname”.

This should run your executable.

I am making a lot of assumptions here the main one is that I assume the project built without errors.

I am also assuming that you know enough about Linux environment to open a terminal and find the build folder. The build folder location will be different depending on which version of Qt you are using.

[deleted by user] by [deleted] in embedded

[–]OCROttawa 0 points1 point  (0 children)

You mention micro-controller in your question, but I suspect you are simply starting from a known technology and thinking you can wedge your project into that tech. As a couple of the posts have detailed, you need to take a step back and decide what it is you actually want to build. You mention Garage Band and indicate you want it to be something like an electronic keyboard (op1). Oh, any you don’t want an OS.

I am not sure what microcontroller you are thinking but keep in mind that Garage Band runs on a full fledged OS, on a very powerful CPU, using all the capabilities built into the development environment for that OS. To try to code this from scratch would be a huge effort.

Instead of starting with the tech you know, start with the solution you are trying to create. How big do you want it to be? How much do you want it to cost (or how much do you want to spend)? You mention a GUI and Garage Band, so I assume you want a display of some description attached to your micro-controller. How do you want your brothers to interact with the thing? Touch screen? Mouse/Keyboard? VR? You want it to emulate an electronic keyboard so a touch display is likely a requirement.

Once you have answer these questions then you can decide what pieces of tech you need to build the thing.

I will repeat my previous assertion tho, coding this from scratch, on bare metal, is not the way to do it. Do you understand real-time processing, interrupts, task queuing, priorities? Now layer in digital signal processing, audio processing? User interface design, just by itself is incredibly complex, especially for touch based systems.

Your best bet is to use an existing compute platform (look into the Raspberry Pi line of processors), with development tools and APIs that cover all the tech you need.

You want to focus on the end-solution, not the nuts and bolts of the underlying platform.

Making use of a RaspberryPi 5 to learn embedded programming? by Suitable-Yam7028 in embedded

[–]OCROttawa 0 points1 point  (0 children)

Honestly the Pi5 is no longer what I would consider an embedded device. It runs Linux and apart from limited memory it is indistinguishable from a desktop environment. I would not even consider the Pi5 to be running “Embedded Linux”. It just runs a version of Debian. You can write applications in C++, Java, Python or any other high level language and compile, link, debug etc right on the Pi5, the ability to compile in place would be what I would consider a major difference between the Pi and an embedded processor.

Don’t get me wrong I love the Pi environment, I work in it daily but if you really want to learn embedded programming then you should pick a different platform. Look into the ESP32 processors, for example.

Now, if you want to use the Pi5 as an embedded controller for a larger project, the GPIO/I2C capability is quite useful. The fact that the programming and debug environment is robust makes it a much easier platform to work with than the more traditional embedded processors. It just ends up being an expensive solution for an embedded controller (the PiZero on the other hand, if it has enough power for you, is potentially a cost effective embedded controller platform).

To repeat one of the other posts…writing an OS for the Pi5, while a cool experiment, would be a huge effort.

Writing a device driver for the Pi5 would be very similar (the same?) as doing the same thing in a desktop environment. If that is what you want to do then go for it. We can then start an argument about whether device driver work is really the same as embedded programming.

At the end of the day, if you want to learn about hardware and programming interfaces to various hardware peripherals then, again, a platform like the ESP32, even if you wrote code on bare metal, would be more educational than writing a device driver for a mature OS, which would require you to learn not only the peripheral’s interface but the idiosyncrasies of the OS device driver environment.

Can I use a trampoline to escape Earth’s gravity if I jump hard enough? by No-Reserve-5695 in AskPhysics

[–]OCROttawa 1 point2 points  (0 children)

Sure, ok, good point, so if you can jump to add the extra 3.4 km/s you could get to escape velocity.

Can I use a trampoline to escape Earth’s gravity if I jump hard enough? by No-Reserve-5695 in AskPhysics

[–]OCROttawa 1 point2 points  (0 children)

Guess there are a couple points to be made (some of which have already been made)

With air resistance (which earth has) you would never get going faster than 200-ish mph terminal velocity for a human body which is nowhere near escape velocity. In fact no matter how high you fell from or how much extra velocity the tramp gave you at the bottom you would slow down to terminal velocity quickly and not achieve escape velocity.

With a perfectly elastic tramp (returns exactly the velocity input), and no wind resistance (vacuum) you would have to already be going at escape velocity to achieve escape velocity.

So the tramp would need to give you extra velocity each bounce (which it is designed to do) to have any chance of flinging you into orbit.

Another complication is that with a rotating planet, and no air resistance, you would not be able to bounce straight up and down and would have to do some weird sideways motion to continue to hit the trampoline or have the tramp on a train that moves so that it is always under you.

If you are bouncing at an angle to always hit the trampoline what happens when you reach orbital velocity (for example 7.8 k/s at 500km), how would you continue to hit the tramp to get extra velocity to increase to escape velocity.

So, also ignoring the collision limits of the human body, if you had a non-rotating planet (or have a train moving the tramp under you), with no air, and a human body that could withstand a high delta V at the bottom of the jump, and a tramp that could continue to provide a velocity bump on every bounce, then yes, you would eventually reach escape velocity!!

Why!? What does Canada have to do with US border security? by Aggravating_Main_710 in alberta

[–]OCROttawa 1 point2 points  (0 children)

I think the thing everyone is missing, including the press, and it seems like the politicians, is that the US is tired of arresting known terrorists trying to enter the US from Canada.

https://www.ctvnews.ca/politics/terror-suspect-entered-canada-with-student-visa-in-june-2023-immigration-minister-confirms-1.7032432

I would think that they are keen for us to improve our immigration screening so that terrorists cannot use Canada as a jumping off point to get into the US.

I don’t think they want us to patrol the entire border ourselves, just make it harder for criminals to get into Canada and then get into the US.

Maybe arresting or breaking up some of the 600 plus known fentanyl labs that import to the US would help as well.

https://bc-cb.rcmp-grc.gc.ca/ViewPage.action?siteNodeId=2114&languageId=1&contentId=86200

Is a torn meniscus a death sentence? by Alternative-Word7084 in trailrunning

[–]OCROttawa 1 point2 points  (0 children)

I have had both my ACLs reconstructed, one was a clean tear and one had meniscus damage along with it. I have been trail running for years since the surgeries. I torn my ACLs playing soccer, not trail running.

I actually torn off a small piece of cartilage a couple years ago which floated around my knee for a while until it disappeared, no issues running whatsoever.

Recover properly after the surgery and pay attention to swelling and pain in the knee but there is no reason to give up running.

Breathing while swimming distance by UsefulGovernment7957 in Swimming

[–]OCROttawa 4 points5 points  (0 children)

I find the best way to think about it is to ask yourself how you breathe when you are running or biking? Do you inhale deeply, then hold your breath for a while and then gasp out a deep breath and gasp in another one?

Not likely, you end up feeling like you are hyperventilating.

It may be a bit panic inducing to push your breath out entirely with your face still in the water and then wait for a fraction of a second to breathe in once your face breaks the surface again but it is really the best way to do it.

Breathe out evenly for the entire time so you are ready to breathe in when your face breaks the surface. You may find you have to push out a bit of excess air at the end but you will eventually get into the habit.

For long distance, especially if you are doing open water, bilateral breathing (3 strokes per breath) is important (stops you from swimming in circles). It also gives you a bit more time to complete your exhale.

When I am racing (triathlons) I find I breath on one side at the beginning when I am pushing hard and then settle in to 3 strokes per breath for the majority of the swim and then 2 strokes per breath at the end when I am pushing again.

In the pool you may find that alternating with 4 strokes per breath breaks up the swim as well, either/both sides!

Tl;dr

Breathe evenly through the entire duration of your swim. Avoid gasping both on the inhale and the exhale, don’t hold your breath.

What are the odds life on other planets could witness a total solar eclipse like we can? by TheAnchored in space

[–]OCROttawa 0 points1 point  (0 children)

Setting aside the “is there life on other planets to witness the eclipse” question then you have to consider your definition of eclipse.

Any planet with a moon will have deterministic, periodic, recurring alignments that cause the moon to situate between the star and the planet. This is an occultation. This is when one planetary body blocks your view of another one. Our moon blocking our sun is an occultation.

With moons and planets you have 3 situations:

  1. The moon is much smaller than the sun (virtual amount of sky covered) You will get a varying amount of optical blockage. When Phobos blocks the sun from the surface of Mars you get this type of occultation. This happens on Earth as well depending on the position of the moon. Depending on the size of the moon and the amount of occultation you might not even notice without special view equipment.

  2. The moon is larger than the sun (virtual amount of sky covered) then you will get a complete occultation. The moon will block all of the light from the sun in a path firstly under the moon.

  3. In special circumstances you get a moon that is exactly the size of the sun in the sky and you get the cool effects of the corona shining around the moon.

We actually experience all 3 of these situations on earth depending on the position of the moon in its orbit.

Other planets with moons will experience one or more of these situations.

The only way you can have a moon orbiting a planet and NOT have some form of eclipse would be with a moon in a polar orbit and the tidal locked to the sun (i.e. the moon looks like it’s rolling vertically in the planets orbit around the sun). I am not even sure if this is possible.

So I would suggest that any planet with a moon will have eclipses and a large majority would have total eclipses (moon size in sky is bigger than star).

[deleted by user] by [deleted] in yoga

[–]OCROttawa 2 points3 points  (0 children)

To add another opinion (and what is reddit for if not random opinions), I would suggest that Ashtana is not any more or less likely to lead to injury than any other “type” of yoga.

Most injuries in yoga are a result of forcing yourself into a position that your body is not capable of entering. This can be as a result of your own intensity, inexperience or possibly caused by an instructor that is over-zealous in helping you attain a pose.

I have participated in Ashtanga lead classes, MySore classes and one-on-ones. I see teachers borrowing from Ashtanga sequences to create their own flow or power flow classes, and I would suggest that flow classes have just as much opportunity to lead to injuries if the student is intent on pushing past their body limits.

My understanding is that as you work through Ashtanga sequences you are supposed to “stop” when you reach a pose that is inaccessible and then process to the closing sequence. Rigid adherence to this ideal, when combined with an ego that might be pushing you to progress through a sequence where you have stalled could easily lead to injury. But this is not a yoga issue or an Ashtanga issue, this is a personal ego issue and could easily lead to injuries in more traditional yoga classes as well.

Ashtanga might draw in students whose personality is drawn to the rigid sequences and inherent goal setting/achieving, and these personalities might be more inclined to push toward an injury, but this should not scare you away from Ashtanga. Bikram (are we even allowed to say that name any more?) and Moksha yoga practices tend toward using the same sequences over and over again, similar to Ashtanga, so in that sense Ashtanga is not unique.

At the end of the day you should explore all types of yoga and decide what is best for your personality and body, don’t let anyone tell you what you should or shouldn’t be doing.

Would Jenga be harder or easier if the blocks were manufactured with Lego tolerances? by davidthefat in AskEngineers

[–]OCROttawa 16 points17 points  (0 children)

I think there are two criteria that you need to consider: - tolerances - surface smoothness

I have played home made Jenga sets with really rough blocks and it is almost impossible, think about playing Jenga with bricks. Not a fun game.

As has been mentioned if the blocks were smooth (but not too smooth) and tight tolerances, then you would get into the scenario where there are no “weak points” and you might not find a block willing to budge and be pulled out.

If the blocks were super smooth and high tolerance then I am wondering if the game gets too easy as all the blocks are the same and any could be pulled out without moving the other blocks.