HN user

pdsouza

135 karma

Founder and director of Mirai Labs (https://mirailabs.io). Creator of Maru OS.

"When in doubt, use brute force." — Ken Thompson

Posts4
Comments29
View on HN

Hello! I'm a full-stack software engineer specializing in mobile apps.

Location: Northern VA / Washington D.C.

Remote: Yes

Willing to relocate: No

Technologies: React Native, React/Redux, Android, HTML/CSS, Vue.js, Node.js, JavaScript, Clojure, Go, Java, C, Bash scripting, AWS, GCP, Docker, Kubernetes, Jenkins, Embedded Linux, Web scraping, Git, OSS licensing and maintainership

Résumé/CV: https://preetam.io/papers/resume_pdsouza.pdf

LinkedIn: https://www.linkedin.com/in/pjdsouza/

GitHub: https://github.com/pdsouza

Email: preetamjdsouza AT gmail DOT com

Hi HN,

I built (yet another) app to explore coronavirus cases.

Last March, when the virus craziness was exploding, I had built mobile apps with the same functionality, but both Apple and Google refused to accept my app unless it was backed by an official medical or government org. (Google even gave my developer account a strike...jeez). So I turned around and converted it into a web app.

If you're interested, the API that powers the app is available publicly [0]. Time series data is also available, which I plan to add to the app soon.

If you get a chance to check it out I would appreciate any feedback. Thanks for stopping by!

[0] https://github.com/mirailabs/covid-19

Hello! I'm a full-stack software engineer specializing in mobile apps.

Location: Northern VA / Washington D.C.

Remote: Yes

Willing to relocate: No

Technologies: React Native, React/Redux, Android, HTML/CSS, Vue.js, Node.js, JavaScript, Clojure, Go, Java, C, Bash scripting, AWS, GCP, Docker, Kubernetes, Jenkins, Embedded Linux, Web scraping, Git, OSS licensing and maintainership

Résumé/CV: https://preetam.io/papers/resume_pdsouza.pdf

LinkedIn: https://www.linkedin.com/in/pjdsouza/

GitHub: https://github.com/pdsouza

Email: preetamjdsouza AT gmail DOT com

Hello! I'm a full-stack software engineer specializing in mobile apps.

Location: Northern VA / Washington D.C.

Remote: Yes

Willing to relocate: No

Technologies: React Native, React/Redux, Android, HTML/CSS, Vue.js, Node.js, JavaScript, Clojure, Go, Java, C, Bash scripting, AWS, GCP, Docker, Kubernetes, Jenkins, Embedded Linux, Web scraping, Git, OSS licensing and maintainership

Résumé/CV: https://preetam.io/papers/resume_pdsouza.pdf

LinkedIn: https://www.linkedin.com/in/pjdsouza/

GitHub: https://github.com/pdsouza

Email: preetamjdsouza AT gmail DOT com

Thank you man!

Yes, it's crazy how fast things change in this space. I still use a Nexus 5X (running Maru of course) as my daily driver, but by today's standards it is ancient. It is a challenge to keep up with the new hardware when you are not a fan of the "let's just buy a new phone every 2 years" mentality. But that's just the way the market rolls right now and we've got to cope with it.

I must say that being at the mercy of so many moving targets makes me nervous sometimes because you never know when Google or some phone manufacturer is going to pull the rug under you. It is already a challenge to keep porting Maru to the latest Android version since the internal APIs can change a lot. To combat this, we are stringent about keeping our modifications to the bare minimum; of course we want to provide a good experience though, and we have to think hard about whether the maintenance burden of a feature is worth it. If we owned more of the stack, we could likely do a lot more without fear of future breakage nightmares. But the truth is, it was only because we could piggyback off of Android and commodity phones that we were able to get Maru built with minimal investment.

That being said, we are continuing to improve our process so we can support the latest and greatest phones since our current velocity is frankly way too slow. We've been investing in automation a lot (continuous builds, documentation, etc.) to free up cycles. Another thing is, we are open-source, and I think the critical factor to boost Maru's velocity is making sure our developer community has the knowledge, support, and tooling to pitch in without fear. Crowdsourcing the development effort is the only way we can keep up in the long run!

Sad to hear this. I was excited that an established company like Samsung was pursuing the idea of using your phone as a PC, but looks like the ROI wasn't there for them.

Fortunately, you can always come check out Maru OS [0] if you want to turn your phone into a PC. We launched in early 2016 as one of the very first projects to ride the "convergence" wave created by Ubuntu's (failed) Edge project. After this news, I guess we are the only serious project still in active development. Anyways, we're open-source and have an enthusiastic user and developer community that is always happy to welcome new members! (I am the creator)

[0] https://maruos.com

I think we can all agree that we want to maximize the quality of our work, where quality is defined as how well our work satisfies our goal. Typically, the discussion is around speed vs. quality, but I think quality itself encompasses speed (time_to_market below):

quality = w_0 * time_to_market + w_1 * correctness + w_2 * performance + ...

The weights w_n vary across domains. As with most things, it's about finding the right balance.

Came across this talk a few weeks ago and I have to say this is one of the best pragmatic talks comparing non-FP vs. FP paradigms I've ever seen. I really like your example problem, how you explore state and mutation in the different paradigms, and how you refactor step-by-step towards a functional design. Thank you!

But I kinda just want a phone that just starts a linux based operating system like a PC, and lets me do everything I can on my linux PC in a touch-centric way.

I wanted almost the same thing so I built Maru: https://maruos.com

Maru runs Linux in a container alongside Android so you can have the best of both worlds. Hook up to an external monitor with a BT keyboard and mouse and you have a full Debian-based desktop at your disposal.

Maru only supports older hardware (Nexus 5, Nexus 7) at the moment, but newer devices (Nexus 5X/6P, HTC 10, Moto Z2 Force, Galaxy S9) have working ports on our forum and should have official images available soon: https://groups.google.com/forum/#!forum/maru-os-dev

We're an open-source project too, so you can even attempt your own port if you own an unsupported device: https://github.com/maruos/maruos

Samsung DeX 9 years ago

If you think this is cool, check out Maru, an open-source project that turns your phone into a PC: https://maruos.com/#/

Maru has stable builds available for the Nexus 5 and 7 right now and we have some early builds for newer devices like the HTC 10 on the way. We are always looking for contributors to improve and help port Maru to the latest devices so please stop by our Github if you're interested!

https://github.com/maruos/maruos

Preetam, lead dev here: Correct! Maru started on Lollipop actually and moved to Marshmallow with the 0.3 release. It can be a PITA to port upwards to a new Android version if there are significant changes in the internal system APIs (these are open to rapid change between major versions of Android, unlike the stable app-facing framework APIs). Anyways, hoping to move to Nougat before too long...

Preetam, founder / lead dev here: Yeah, yeah, I know. We really need to move our asses over to Nougat already, but its a PITA when we port upwards and there are major changes in the internal framework APIs, forcing us to thoroughly test the whole system again...but we'll get there!

Preetam here, founder and lead developer of Maru.

Thank you for all the critical feedback on security in this thread. Maru used to ship with sshd disabled [0] but it was enabled because of all the requests I was getting from users who wanted to run the system headless without needing an HDMI display and BT keyboard/mouse around to set sshd up. I assumed that users would change the default password after the initial login, but as many of you have pointed out, hope is not a strategy when it comes to security. I've opened up an issue [1] to fix this.

Please feel free to open up issues (or, even better, PRs!) at any time if you have further suggestions for improvement. It's thanks to feedback like this that Maru continues to move onwards and upwards.

[0] https://github.com/maruos/maruos/issues/22#issuecomment-2296... [1]: https://github.com/maruos/maruos/issues/76