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

O-Nexus | Medior/Senior Firmware Engineer | Haarlem, The Netherlands | ONSITE (hybrid) | €50,000-65,000 (full time) or Contract

30% of CO2 emissions come from buildings and at O-Nexus we are on a mission to reduce this problem for the residential market. With our hardware and software, home owners can drastically reduce their energy consumption and CO2 emissions without having to change their behaviour at all. Our hardware is the android of the home appliances world so to say, it is a gateway that can connect to PV, heatpumps, batteries, EV chargers, etc. and control them to optimise energy consumption and production.

We have already many devices deployed in the wild and we are looking for a strong addition in our R&D team as an embedded software in C/C++. We care about our technology quality and we are proud of it. In this role you will have a core asset of our technology in your hands, so we expect a lot of autonomy in developing, testing and deploying software. Our way of working is very informal, flexible and goal oriented. The ONSITE presence is mostly requested to do end-to-end testing. Many work-related aspects are open for discussion.

You can send your CV with a short message about your self to maria@o-nexus.com Full vacancy at https://www.linkedin.com/jobs/view/3609419261/?refId=Num%2FA...


Disclaimer: I do not understand enough of the code and of the domain.

The code itself looks slow and barely readable. A lot of for loops, few named functions. It needs a very strong refactoring to work properly with numpy. That should be done first, instead of pulling up the RuStIsFast card. It is not surprising that the results were not so great as expected.

In general, the article is too long to be properly understood...


Agreed. But also, there were a few missed optimizations.

The most obvious (to me) is the constant indexing into pigs. It was hit on in the article (and gave a 25% increase in speed), yet I don't think the author went far enough in elimination.

Pushing the pig_j lookup up into the "for j" scope instead of computing it on each inner loop would have likely saved a large number of the lookups.

In fact, I'd guess that'd be one of the optimizations that rust pulls out. Python is far less likely to pull those sorts of optimizations.


I did a double take at that section, the text implied they'd spotted that one, and shifted the look up, and I was trying to figure out if they'd shared the wrong bit of code and assumed they had. But after seeing your comment and re-reading that passage I'm not sure they did.


ML expert here. Good points above especially training vs inference.

To be honest, yes it is possible. Most models I made could run on a mobile device, mostly they would not because they were written in python and since it is possible/cheap, I would not care too much about RAM and efficiency for a training job.

I think the dataset size is overrated by things like Kaggle or news about Deep learning models for image recognition. Bigger datasets are better, but if your data quality is good few hundred of rows (like a csv file) can be enough for many applications!

Most data challenges are not image recognition or NLP either, so you could do them on smaller devices. I think the main issues would be 'support' tho. Small devices do not run python (or R/Julia) so you need to port your inference code to some binary (like webassembly) or rewrite in C/C++. Inference code is much smaller than training/ experimenting code fortunately.


To get the hacking feeling away: the only way is to learn more of the details of how certain things work on lower levels. That will give you more control and a better feeling that your solution is solid and better vs other solutions.

For creating design, it helps to be mentored actually. Reading books about design patters and architecture helped me but nothing worked as much as a good mentor. You can always start with 'how would I desing a software that does X?' and think 'how would it change if I add Y' or 'how much can this scale?'. Find people around you or on the internet to discuss your ideas, that helps a lot,

Look up system design software. Personally I like [aws this is my architecture series](https://www.youtube.com/watch?v=IP03SkGbP-U&list=PLhr1KZpdzu...). In general what you say it is true. It is very hard to do software design right, you need practice and there is very little material on it.

Good luck!


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

Search: