vu3rdd is a user on You can follow them or interact with them if you have an account anywhere in the fediverse. If you don't, you can sign up here.

vu3rdd @vu3rdd

vu3rdd boosted

Encrypted messengers are how young people communicate these days. Email is for old people, bills, spam, and mailing lists and promotions nobody knows how to unsubscribe from. That's why I no longer worry that we lost the struggle for encrypted mail.

Read the first chapter of the Type Driven Development using Idris book by Edwin Brady. Dependent types are mind altering! Happy to be living in this era and learning about these wonderful things in an otherwise depressing area of "software engineering".

Solved with a tiny function!

> decodeWithLeftOvers (pack "d8:msg_typei1e5:piecei0e10:total_sizei34256eexxxxxxxx")
Right (Bdict (fromList [("msg_type",Bint 1),("piece",Bint 0),("total_size",Bint 34256)]),"xxxxxxxx")

Without dropping down to lower levels of the parser, I wonder how to get to unconsumed input.
> decode (pack "d8:msg_typei1e5:piecei0e10:total_sizei34256eexxxxxxxx")
Right (Bdict (fromList [("msg_type",Bint 1),("piece",Bint 0),("total_size",Bint 34256)]))
Now how do I get to the "xxxxxx.." part of the input in Parsec?

I find the 'ut_metadata' extension ( of bittorrent to be badly written and a little hard to implement.

For eg, take a look at that 'data' message. The actual data is *appended* to the dictionary. The total length of the message has already been read in by the receiver of the message. To get to it, one has to calculate the size of the encoded bdict.

It would have been a lot nicer if the payload were part of the dict as a separate key-value pair.

Lots of great p2p projects on the web. Sadly they are all nodejs based. I proudly keep my machine npm-free (for no particularly rational reason, btw).

Started using org-capture to write todos and journals. Almost a week now and I really really like it.

You see, there are nice side effects to being forced on Windows. One naturally find alternatives and now I mostly live inside emacs.

@sajith I didn't know that keepassx and keepass are two different things. Thanks. I will play with pass on Windows today.

Things "mainstream" social media does not report: the afghan all-girls robotics team did land in the US (after a last minute intervention from the president of the usa) and did well in the competition!

'It has been asked: How come everyone in this photo is smiling except Dennis Richie? trb responds "That's easy. Because we were with Dennis, and he was with us."' (or rather ostatus) does not provide an rss feed?

@sajith Thanks. I discovered another constraint yesterday. My work laptop is on Windows and a lot of these stuff is a pain to use on Windows. :-(

@bob I use bazqux. Not Free Software, I pay for it ($19/year, iirc). Pretty clean, author is very responsive to questions.

Confession: I don't use a "cloud" password manager because I don't trust any of them.

I just use the standard Firefox password manager. I really wish it comes with a password generator as well.

I like keepassx and the Pass. Is there an easy path to migrate my firefox-stored password into one of these above password managers? A 5-minute search didn't turn up a definitive answer.

So, my 9 year old's "Computer Science" text book is full of screenshots of M$ Office and Windows. There is one tiny chapter on Logo (again with a lot of screenshots of MSW Logo).

I plan to write to Central Board of Secondary Education asking for a rethink of the curriculum with some suggestions along with this link:

@sajith :-) I finally took the plunge. Looks like, a lot of nice Free Software folks hang out here..