General > General Technical Chat

Starting a new CompSci/Electronics career -need advice!

<< < (11/14) > >>

fourfathom:

--- Quote from: tggzzz on September 08, 2022, 09:57:38 pm ---
--- Quote from: fourfathom on September 08, 2022, 08:44:36 pm ---You saying, essentially, "we can't call this hardware because, hey, look over there, someone did something similar with software!, or "there's 'software' inside that component" is not being helpful.

--- End quote ---

No, I'm not saying that.
--- End quote ---

If you like, I can show the quotes where you at least strongly implied that.

But let's chalk this up to a misunderstanding in communication, not disagreement on fundamental principles.  These days I'm designing RF hardware that runs software, and I spend way more time writing the software -- because that's the best mix for the task.

x_marx:

--- Quote from: RJHayward on September 05, 2022, 08:23:35 pm ---That 'configure and Play' software sounds interesting, and likely complex.
   In 'old days', before COVID lock-down mania, you would find a CONFERENCE, like for game developers etc. which is collosal expensive party-time, (after hours).  But you could nurse your drink (tonic water) while schmoozing with folks who, to meet people, will host a reception upstairs, in hotel suite.  You might see a sign saying something like:
   Apple Developers:. We are currently looking for graphics experts in several locations.
Come to our hotel suite #210 A, for coffee and donuts, 7 am every day, during Conference, we can talk.

   That sort of informal hook-ups, that occur at conferences, help to get some good genuine background info, plus folks may help with any nagging professional issues (that most everyday folks don't appreciate).
   
   A fellow here in town, (M.E.) did similar 'plant' work, in San Francisco city high-rise buildings, with their heating and cooling 'plants', some tantamount to complete 'city', in the one building.

   I do Inventions (attempted,...lol), which, as originally an EE, interested in writing firmware, I already used to broadened fields, doing embedded code.
But, I've also done physics related areospace and microwave 'specialties',   It's a learned tolerance.
   As an Inventor, Business involved Tech developer,  I've also (had to) navigate things like Office space Landlord / real estate managers.  Local police and crime situations sometimes needed attention (unsafe parking lot).
   It's been a deliberate process, for sure, to tolerate all these skill sets, outside of basic engineering.
But something like a good Conference, if you have the resources / airplane ticket could help with both professional, and casual boost, to your career.

Any eevblog user can always send PM with questions about Software / Hardware. Thanks

--- End quote ---
Thanks for the chat. I need to do some digging then!

x_marx:

--- Quote from: tggzzz on September 05, 2022, 09:55:01 pm ---
--- Quote from: x_marx on September 05, 2022, 04:07:09 pm ---The only problem I have is the degree is in Computer Science (software-oriented).
But yeah, I'll get on with a suitable project.

--- End quote ---

Shrug. I like to have fun with people that think there is an obvious difference between hardware and software. It is easy to provide counterexamples to their statements, and show them it is a very grey area.

I strongly recommend you learn about Finite State Machines (FSMs), and not in the context of compiler front ends. They are a good way of thinking about realtime systems, both in terms of specification and implementation. Learn how to implement them in hardware and in software. That leads to an understanding of how to choose to implement an FSM; frequently part is implemented in hardware and part in software.

Such system partitioning is an essential skill, whether working with low-level analogue signals or telecommunications billing systems.


--- Quote ---BTW, my main project hasn't started yet. I wanted to do something about improving the image recognition algorithms but it seems like a huge ask for a novice like me.

--- End quote ---

Sounds like you are already deciding what isn't practical within the constraints. Excellent. Write that kind of thing down as part of the documentation and discuss it with interviewers.

One of my heroes was Professor Eric Laithwaite at Imperial College. He used to set exams where one question was easy and sufficient get you a pass mark, several were more challenging and could get you a good degree, and one could not be answered adequately in the time available. He expected his undergraduate engineers to be able to determine which questions to avoid. If they couldn't, they wouldn't make good engineers anyway.


--- Quote ---So, I'm thinking of a more electronics-oriented idea. I have always loved working with LEDs (addressable RGB LEDs). So, I'm thinking about developing windows or raspberry pi software that can detect individual LEDs and configure them to display the image or a video that you have in hand. So, you can put multiple led strips into a sort of like in a billboard and the software, with the help of a camera, configures and display the image you have on the 'screen'.

Is it a good start?

--- End quote ---

I don't know; that's your decision :) Doesn't seem like a wrong start :)

You're going to have to determine "low level" timing constraints (e.g. setup and hold times when shoving data into LEDs), and "high level" timing constraints ( e.g. meeting frame rates). You will need to be able to explain how your design guarantees all timing constraints without testing and hoping you've spotted the worst case.

--- End quote ---

IIRC, I have heard about the FSM but cannot pinpoint the context!
I need to do some research!

Reg. the constraints:
Yeah, its one of the skills I have learnt the hard way as a mechanical design engineer but still, I do aim for the stars sometimes and land on the moon :P

Reg. the project:
Thanks, I need to re-learn C or study python to do that I guess.

x_marx:

--- Quote from: rstofer on September 06, 2022, 03:23:38 pm ---
--- Quote from: x_marx on September 05, 2022, 04:07:09 pm ---BTW, my main project hasn't started yet. I wanted to do something about improving the image recognition algorithms but it seems like a huge ask for a novice like me.

--- End quote ---

These days, image recognition seems to revolve around Convolutional Neural Networks - software plus other skills.  The program costs a bit but I really recommend DeepLizard.com.  I finished the Dictionary course yesterday and it answered a LOT of questions.  PyImageSearch.com is another even more expensive program but it's got excellent material.

If you're not using Linux, you soon will be...

I believe the future is going to revolve around big data and AI - particularly Deep Neural Networks and CNNs.  If I wanted a project to show off, I would do something with the Jetbot and some kind of image based path finding around the kitchen or house (if the wheels will negotiate the carpet).  There is already a demo project that does all this but I'm sure there is room for improvement.  The idea is to create the network on a PC and somehow port it to the Jetbot.  You could probably develop the model on Google Colab which might speed up training.

https://www.amazon.com/Accessories-Wireless-Bluetooth-Recognition-XYGStudy/dp/B07WMZ3KLY

I believe you need to source a 4GB Jetson Nano separately and the price seems to be outrageous at the moment.  Even at the Nvidia store, it is marked "Get Quote".  I didn't pay anything like the current prices for mine.


There's a bit of linear algebra involved (usually handled by the library) and the preferred language is Python and there are libraries for everything.  You can also use the Nvidia SDK and write the project in C++ or Fortran.  In any event, it is helpful if your PC has an Nvidia graphics card with a bunch of CUDA units.  Not required, but helpful.

You could also do the project in MATLAB. 

The Holy Grail is a self-driving car that doesn't crash into Police cars.

You get CS experience in image recognition, AI experience in Convolutional Neural Networks (and image recognition) and embedded experience in making the Jetbot respond to whatever the AI is doing.

Not an inexpensive project.

Maybe a Raspberry Pi will be enough as long as the CNN is already built and just ported over.  Or maybe that is overkill.  The nice thing is that you could possibly do the entire project on the Pi.  It makes a fairly decent workstation.  Plan on taking a LOT of photos of proper and improper paths, possibly while driving it around with a wireless PS4 game controller.

Maybe the AI runs on a laptop connected via ethernet to the 'bot.  Berkeley Sockets comes to mind...

Search around, there are a bunch of similar projects.

--- End quote ---
My project supervisor is into AI research and I guess he can help a great deal. But it seems like HUGE in terms of materials to go through.
To make matters complicated, my partner would be joining me soon after a long break and I would be spending a lot of time with her. She's a CS graduate (web dev) but we'll be doing other things ;)
I'll definitely discuss it with my supervisor before changing the project. May be he can point me in the right direction!

Thanks for the input by the way. Appreciate that!

x_marx:
Interesting reading in this thread!

BTW, for the time being, I'm going to re-learn C and try to get hold of my project supervisor who's supposed to return after his vacation this week.
I'll have a chat with him and let's see what comes out of it.

Edit:
Can anyone suggest any decent budget multi-meter (UK)?
https://cpc.farnell.com/c/test-equipment/multimeters-clamp-meters/prl/results

Navigation

[0] Message Index

[#] Next page

[*] Previous page

There was an error while thanking
Thanking...
Go to full version
Powered by SMFPacks Advanced Attachments Uploader Mod