Tag Archives: #opensource

Diaspora API Dev Progress Report 9

I’m still on the road so my contributions aren’t as great as I’d like them to be but I did manage to make some progress on the API development.  At this point Conversations Endpoint minus the message listing of a conversation itself (next up).  The test harness is coded up against the Conversations such that it can create, read, and hide/ignore them.   As I finish up the Conversations Endpoint work and wrap up the Posts Endpoint work when I get back home I will soon be leaving the world of reviewing the existing implementation done by Frank while augmenting the tests, writing test harnesses, and making changes to get all of the tests to pass.  I will then be entering the world of from scratch development on the rest of the API.

Diaspora API Dev Progress Report 8

While I’m on the road I’ve been hoping to get some more work in on the API.  Yesterday was a bust, and I knew it would be.  Today looked like it was going to be a bust but I actually was able to get some time in tonight due to some plans that were cancelled last minute.  As I sat down to start working I realized that I hadn’t been quite as prepared to develop on the road as possible.  Before leaving I made sure my development laptop Ruby VM was fully configured, could compile the main code and the Kotlin test harness.  I was all good to go!  Except, I forgot to push my work up to the GitHub and Gitlab.  Oops.  Well, that derailed continuing work on the Posts API Endpoint, but with plenty more endpoints to go I started up on the Conversations endpoint, the next most filled in one to start from.

I did make a good amount of progress of fleshing out the unit tests and making some code changes to make the requests and returns on the Create method to correspond to the specification.  It was at that point I realized I didn’t quite test my setup even further.  I didn’t have a registered application in my OpenID setup on this dev instance.  I also didn’t have the configurations I used when I set it up on my main development machine either.  After some fumbling around I did manage to get it registered so I could then start testing the external test harness against the endpoint.  After some final code tweaks I got that up and running and now have the test harness generating new conversations between two users!  On to the rest of the conversations API tomorrow!

Diaspora API Dev Progress Report 7

I’m still making good albeit slow progress on the Posts Endpoint.  While the Posts Endpoint doesn’t have a lot of methods the complexity of the send and the return data is far greater than the other endpoints I’ve done so far.  Posts have more than just text.  They can have polls, geolocation data, mentions, aspects management, and photos.  Yet posts are the core of the whole system.  They are the digital elements we interact with the most.  So progress on this endpoint is crucial.  I’m pleased to say that at this point I’ve made enough progress with the unit tests and the test harness that from an external application I have been able to do have an external program do the full lifecycle of posting: Create a post, read a post, comment on a post, and like a post.  I’m pretty stoked about that!  While I have the full complement of all post data available on the GET method tested, I still have to create the test harness test methods around pushing posts with ancillary data (location, polls, mentions, photos), and need to write the unit tests for photos as well.  The Photos endpoint for uploading photos during a real post creation process is a whole other matter though, but we’ll get to it soon enough!

Ramping Up Open Source Development Time

I’ve mostly been “microblogging” updates on Diaspora recently.  That’s a fancy way of saying I haven’t been doing any in-depth writing but instead just making quick ad hoc posts on social media.  As I am now ramping up my development on open source projects, primarily Diaspora by the looks of it, I’m hoping to start posting here more frequently capturing new lessons learned, observations from  my exploration of these newer languages and code bases, and just getting more writing in.

Over the summer I actually spent a good deal of time exploring different cross platform development frameworks of the .NET and C++ variety.  That was intended to be to work on a very niche open source project idea that I had conjured up around my classic computing hobby.  By the time I made enough progress on that to the point where I could potentially be productive, although I still want to explore wxWidgets a bit more, the bug to help on alternative social media platforms bit again.

So while I’ve been pining away for the opportunity to really start getting into Kotlin, JavaFX, and other technologies, my current path is taking my down the jewel crusted path of Ruby, Ruby on Rails, and JavaScript.  These are the technologies that Diaspora is built upon.  In fact, as I’ve written before elsewhere, I’m really enjoying the language a lot.  RubyMine could use a bit of polish compared to how well it works for Java and Kotlin but it’s at least on par with the CLion C++ and Rider .NET IDEs.  Yes, I’ve fully converted over to being a JetBrains user nowadays, even paying for a full license to the entire suite.  To people who know me the fact I converted over is probably going to be a bit of a shock.  To the casual reader coming here from my non-software interests they have no idea what we are talking about, but IDEs are very personal decisions and we get wedded to them pretty hard.

Sorry for the absence.  I hope to be a regular poster again for the half dozen of you that actually read this!