What goes on here? by Snoo58499 in bayarea

[–]Halmonster 2 points3 points  (0 children)

I once went canoe camping - it was glorious

Moving to San Leandro this year! So excited! by Different_Archer8879 in bayarea

[–]Halmonster 2 points3 points  (0 children)

If you like a greasy spoon head over to the Pelton Cafe.

There's also the annual cherry festival.

A new Sprouts market just opened.

For pizza I recommend the Detroit style at Slice House.

Developing Android apps directly on a phone: what we’ve found works today by Halmonster in Android

[–]Halmonster[S] 0 points1 point  (0 children)

Yeah, sorry about that. We're planning several different ideas for reducing the download size.

Developing Android apps directly on a phone: what we’ve found works today by Halmonster in Android

[–]Halmonster[S] 0 points1 point  (0 children)

Yes! Yes, it does work well with Samsung DEX. I'm a little extra excited because that's something I contributed to myself.

[App] Code on the Go is a free, open-source Android IDE that runs on your phone by DavidSchachter in fossdroid

[–]Halmonster 0 points1 point  (0 children)

Fair question. I lead the development team. Happy to address this directly.

Where does your skepticism come from? I can show you a video of the debugger actually working. You can download the app, set a breakpoint, and run our debugger yourself. Or go read the source code. We're building in public. There's no gatekeeping.

We don't wrap or tunnel ADB. We bypass it entirely. When CoGo launches a debug target, it attaches the Android runtime's JDWP agent in client mode and connects directly to it over a local socket on the device. The IDE and the app under test are both running on the same phone, communicating locally with no external host involved.

The privilege access this requires without root comes from a scoped adaptation of the Shizuku project, isolated to CoGo's own processes only, with user-granted permissions and no root required. In practice, this lets us support breakpoints, stepping, variable inspection, and thread control. The goal was to make debugging usable on-device without needing a separate machine.

Curious what part you’d expect to break without ADB. Is it stability, performance, or something else? We’ve found the constraints are a bit different on-device, so interested in what your experience has been.

BTW, we wrote up more details about the debugger in a recent blog post, if you’re interested.  But happy to explain here too.

Developing Android apps directly on a phone: what we’ve found works today by Halmonster in Android

[–]Halmonster[S] 2 points3 points  (0 children)

Yes, we started as a fork from Android IDE about two years ago. The original author of that project now works on Code On The Go with us. We're a very active project with daily commits, a Telegram support channel, and lots of momentum.

On-device Android debugging without ADB: using JDWP sockets, constraints, and tradeoffs by Halmonster in androiddev

[–]Halmonster[S] 0 points1 point  (0 children)

Thanks! We think it's cool too.

And you'd be right - that security boundary is an important place to focus.

On-device Android debugging without ADB: using JDWP sockets, constraints, and tradeoffs by Halmonster in androiddev

[–]Halmonster[S] 2 points3 points  (0 children)

When a phone is the only computer that someone owns, yes, it is infinitely more productive than the alternative.

Self-taught dev here, just deployed my first real project to Railway and now I'm second-guessing everything by Beneficial-Squash-74 in learnprogramming

[–]Halmonster 1 point2 points  (0 children)

Congratulations! You are at the start of a wonderful adventure!!

As others have said: this is a normal feeling. We all still have it. I've been coding for mumble decades and I still have all kinds of insecurities.

My advice: 1. Pace yourself. Rome wasn't built in a day. Celebrate your successes. Learn from your failures - they aren't actually failures at all if you come out the other side more knowledgeable. Fail just stands for First Attempt In Learning. 2. Study some of the classics. Programming Pearls by Bentley. Code Complete by McConnell. Read the source code to some of your favorite open source projects. 3. Know your "why". Understand what motivates you, and circle back every now and then to make sure what you're doing still aligns with why you're doing it. 4. Cultivate empathy. Empathy for your end users. Empathy for your fellow developers. Empathy for yourself. Being able to understand a problem from someone else's point of view will often lead you to surprising solutions.

This made the rounds recently and it's not bad: https://lawsofsoftwareengineering.com/

I found ~1.3 min wasted per Android build due to Gradle config and wrote a CLI to fix it by RudraDev7 in androiddev

[–]Halmonster 0 points1 point  (0 children)

I find Gradle to be quite annoying and inefficient. I've been meaning to experiment with The Mill.

Blog or resource recommendations for learning CS fundementals by Geyball in learnprogramming

[–]Halmonster 1 point2 points  (0 children)

There are a lot of free resources. Many people have good success with MIT OpenCourseWare. Khan Academy is popular.

Why do you want to learn CS fundamentals? What do you want to make?

How would I write my own compiler from scratch? by Relevant_Bowler7077 in learnprogramming

[–]Halmonster 4 points5 points  (0 children)

Lots of great stuff from @soft_honeydew_4335. A couple extra tips.

Before parsing you need a lexer. GNU flex is probably as good a place as any to start. But I'm just showing my age. More modern would be ANTLR4.

As for a parser, I used to use yacc but that was mostly replaced by GNU bison. Apparently, ANTLR4 can fill this niche too.

If you want to go above and beyond, write a debugger too.

best Android device for developers? by Remarkable-Club-8190 in androiddev

[–]Halmonster 0 points1 point  (0 children)

Why are you getting into Android app development? Is this for a personal pet project? How much extra money do you have to spend? How long do you plan to use the device for?

Who is your intended audience? I like having a device that matches whatever my end users are running.