Profile cover photo
Profile photo
Tonic Artos
also human
also human

Communities and Collections
View all

Post has attachment
If you've wondered how to implement modal selection with RecyclerView. I've written a blog post on how to do it.

Post has attachment
Ana and I just returned from our trip to New York for Jenya Shandina's wedding. Congratulations Jenya!

In our short week we saw plenty of the city, a few museums, and lots of friends. We really enjoyed seeing all of you guys and are already missing you. Looking forwards to next time!
Trip to New York
Trip to New York
Add a comment...

Post has attachment
Heads up people. A new bill called the New Zealand Intelligence and Security Bill has been referred to the Foreign Affairs, Defence and Trade Committee. This bill is a massive piece of work that, if passed, will have profound effect on the sanctity of our rights to privacy with regards to the intelligence and security apparatus of our government.

First reading in the house (playlist: 12 speeches) -

NZ IntSec Bill -

I recommend listening to the discussion linked in the youtube playlist. Speeches 6 (Dr. Kennedy Graham) and 9 (Metiria Turei) are the clearly dissenting views presented in the house.

In addition to the issues they presented, I would also like to raise the issue that we have a right to know if we have had a loss of privacy (been spied on). I expect that, should a person be spied on, some time after the action was completed that person is notified of the action. This will better preserve our right to privacy by enabling us to petition the government or make a legal action if we feel the spy action was unjustified.

As for the passage of the bill. It is a great concern that the Foreign Affairs, Defence and Trade Committee is dominated by a single party; National with 6/10 members. I recommend, whatever your view and concerns regarding this bill, you should let the members of this committee know by phone call and by writing. It is especially impactful if you are a resident of their electorate and let them know so.

Committee membership list -
Add a comment...

Post has attachment
Video montage of my recent cycling trip from London to Dover.
Add a comment...

Just a quick update on version5. Padding is almost finished, and with it scrolling. However, I am away from civilisation for about a week, so nothing will happen until I am back. After that, all that remains for milestone 2 is finishing a couple more header layouts and persisting state between configuration changes.

Hi there, I have been very quiet for a while. Sorry. As you may know, I develop on SuperSLiM in my free time, where I can. Also, I have been dealing with health issues for a few years now. This has significantly impacted the time I've been able to put into the library for a while now. Anyway, all that aside, here is a little about the development of SuperSLiM lately.

After I last pushed to GitHub I discovered things were broken with support lib 23.2.0. Things seemed better with 23.3.0, but after some further investigation there were still problems. It was all to do with how recycler view manages it data change notifications to the layout manager. This might be a pain point again in the future, there isn't much I can do about it except fork recycler view, or convince the guys over there to take a patch to bundle some extra data with the data change notifications. For now however, it is working... again. While looking into this I also ran into some additional issues on the way, and ended out writing more tests. I should have done that before.

Okay, on to new development.

I've been working on getting scrolling working for a while, but it has been a real nightmare. To explain, I'll have to detail a little about the new architecture. With version5, layouts are separated into section layout managers (SLMs), which are extremely isolated modules. They work in a virtual space, and can only act on two things, a layout helper, and the section data. Some SLMs were semi-privileged to implement headers (HLMs). The layout helper is what makes it all work. It abstracts coordinates, interactions with recycler view and its various abstractions, and well, pretty much everything. Through the layout helper I have done a lot of things like performing coordinate transformations to implement vertical and horizontal orientations, and the localisation switcheroo. It all works invisibly from the actual SLM implementations, which is highly ideal. As far as a SLM or HLM knows, the recycler view is always a vertically scrolling space. This makes writing layouts a breeze, well, relatively so. It also turns out to make scrolling really hard, well, to get it all coordinated that is. Every time I figure out more, realise a mistake and go over it again, it all seems painfully obvious. Which is a good sign.

So, to the topic. Scrolling. In my last pass I worked out all the cases that can happen. I've added additional state tracking between layout and scroll events. I peeled apart layout state from SLMs and HLMs. HLMs have been demoted to a kind of SLM that gets inserted invisibly into every section; because they just might have headers. Scrolling is turned into a fill for the leading edge, and a trim for the trailing edge. Each SLM has to call the fills and trims on the visible sections of the graph, which is evaluated from the stored layout state, and not pulled from the view hierarchy like in previous versions! Anyway, it is a complex dance of checking state and updating state with each call down the graph, and then possible additional calls to layout more items within the fill area.

I am very excited to get it all working. I just need more time to put into it!


Oh yes, I also moved accounts, you shouldn't notice much effect. You can tell the two apart because I blacked out the old account's profile image. Why did I do this? Reasons.

Post has attachment
I've been going through my photo collection and tidying up my albums and things. I have plans to get things better integrated with Ana's albums with the shared albums feature too. Hopefully she is into that. Anyway, this is Ana on her PhD graduation day.
Add a comment...
Wait while more posts are being loaded