Comment on: Can you get a job as a self-taught programmer?
0 30 Nov 2019 21:44 u/kevf4 in v/programmingComment on: Stack Overflow vs programmers
You get what you pay for. I work with Americans, Germans, Suisse, and Slovakians.. and I've had good experiences. The times I've worked with Indians were abysmal.
Comment on: Just graduated, 22 and got a b.s.; Am working in a startup. Is the 10k coding bootcamp worth it?
I've worked with all kinds and here is my impression.
Indian developers are usually trash and the butt of jokes. Rework is almost guaranteed.
German developers are good, but over-engineer everything to the point of absurdity.
Asian developers are decent, but some (e.g. Chinese) barely communicate beyond an elementary school level and are rude as fuck.
American developers are good, but often bring politics into the workplace and have big egos.
Relating to OP, you are right, boot camps are a waste.
Comment on: Raspberry Pi video surveillance
I don't have any experience with MotionEyeOS, but it looks very similar. My project (pisentinel) supports SeekThermal cameras, IP MJPEG cameras, has a training mode to prevent false alarms, and supports up to 720p frame processing. I will try to throw together a video sometime this week that breaks down the features.
Comment on: Raspberry Pi video surveillance
The reason I didn't use OpenCV is because I used this project for learning and I wanted to try some new approaches. Also, I wasn't sure how well OpenCV would perform on a Raspberry Pi . I'm using OpenGL shaders for processing when possible.
The function Analytics::update in Analytics.cpp on line 637 gives a high level overview of the detection algorithms. In a nutshell:
-
A background frame is calculated which is the average of frames over the last few minutes. This may change to a Gaussian distribution to reduce spikes, but so far simple averaging is working well. (see Shaders::incrementShaderSource at Shaders.cpp line 141).
-
The current frame frame is then subtracted from the background frame, which generates a motion mask. (see Shaders::motionMaskShaderSource at Shaders.cpp line 102).
-
Blobs are detected within the motion mask by using a depth first search. (see Analytics::_detectObjects at Analytics.cpp line 91).
-
Blobs are tracked using a simple distanced based approach. (see Analytics::_trackObjects at Analytics.cpp line 284).
-
When a user "trains" the system it is essentially creating a heatmap with thresholds. If the heatmap has a "hot" spot, this tells the algorithm to ignore alarms in that area. (see ExclusionZones.cpp)
I don't have any documentation or diagrams. This project was never really intended for public use, but I am sharing because it could be useful to someone.
Comment on: Raspberry Pi video surveillance
You're right about HD processing being an issue. I've worked on a system used for airports and prisons, and they usually have two streams per optical camera. One HD stream that goes to the VMS and another low res stream for object detection + onvif metadata generation. This was just a hobby project for learning and I didn't want to go all-in, otherwise I would have used ffmpeg or opencv.
For blob detection I'm just using a simple depth-first algorithm and culling based on user parameters and a heatmap of negatively scored detections. I tried using random forests for culling, but the algorithm required a bit too much tweaking to get it to work correctly. A few people I work with have researched SVMs and deep learning networks, but those required a massive amount of data that I'm not too interested in collecting.
Raspberry Pi video surveillance
3 0 comments 04 Sep 2017 03:55 u/kevf4 (self.programming) in v/programmingComment on: JavaScript Is Eating The World
"Java still powers the backend of Netflix, but all the stuff that the user sees comes from Node." "In addition to Node, Netflix is also using ReactJS in their stack."
Java backend and React frontend. What's the purpose of Nodejs in this scenario? IMO JavaScript promotes bad coding practices due to dynamic typing.. Typescript helps, but at that point there are better languages for backend development.
Comment on: Continuous integration platforms are broken - here's what needs fixing
What specifically is missing or broken? "configuration", "tool integration", "virtualization support", "debugging support","interfaces for configuration". Sounds like a bunch of web devs that are too lazy to learn anything beyond building their code.
Comment on: I feel dirty ... Lol ... Started using visual studio code and so far liking it better than sublime.
At work I've been using asp.net core webapi + angular on Ubuntu with visual studio code as my editor. So far I'm impressed with visual studio code.
Comment on: I'm working on a DnD styled game/challenge to see how close I can get to the DnD experience. Was curious if anyone had any recommendations on what language/software to use.
I would find a game engine that matches your needs and go from there. Most high level language concepts are similar enough to be interchangable. I would only recommend C/C++ if you are building your own engine.
2D or 3D? Web, mobile app, or desktop? Multiplayer?
Comment on: CSE graduates of voat: How many internships have you had and what are you doing now?
1 internship as required by my university. I'm a software engineer in R&D for a fortune 100 company.
Comment on: How truly "safe" is a file or prog if the .exe is partially flagged as positive for malware by Virus Total?
10/60 is pretty high. Are they hueristic matches? Are any of the 10 from a well known virus scanner?
Comment on: How do you usually read programming books?
I prefer a paper copy. Typing it instead of copy/paste forces you to think about the details. Easier on the eyes too.
Comment on: Working as a web developer is making me hate programming
Oh you like angular 1? Well angular 2 is the future! Google announces angular 4
They aren't really adding anything these days. Just moving things around.
Comment on: Only 36% of Indian engineers can write compilable code: study
Dats racist reeeeeeeeeeee
Comment on: Interesting sideeffect doing SCRUM.
Scrum is okay if you adapt it for your team and keep team sizes reasonable. The whole scrum process is just a management tool in the end.
Comment on: I'm having trouble with structures and classes in C++
Looks like you are using a dot operator on line 79 where it should be the scope operator. Dot operator applies to a local instance, while scope operator applies to global namespaces.
Protip: don't use nested classes or structs until you have a bit more experience.
Comment on: 'Treat your developers like creative workers - or watch them leave
As a developer I just want a good set of requirements, a decent process (agile, etc), and ample time. This article sounds like a way to burden a developer with extra tasks that are normally done by someone like a product manager.
Possibly at a startup, but your pay could vary widely. Unfortunately most big companies won't even take you into consideration. If you are serious then get a bachelor's degree in computer science. You can work as an intern while going to school.