You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
131 lines
6.3 KiB
131 lines
6.3 KiB
4 years ago
|
+++
|
||
|
title = "Links for 2020-06-01"
|
||
|
date = 2020-06-01
|
||
|
|
||
|
[taxonomies]
|
||
|
tags = ["links", "distributed", "c", "rust", "protection", "no code",
|
||
|
"android", "research", "blog", "contact tracing", "privacy"]
|
||
|
+++
|
||
|
|
||
|
Distributed Systems, C in Rust, Protecting Projects, No Code, Android,
|
||
|
Research Blog, Contact Tracing and Privacy (again).
|
||
|
|
||
|
<!-- more -->
|
||
|
|
||
|
## [Notes on Distributed Systems for Young Bloods](https://www.somethingsimilar.com/2013/01/14/notes-on-distributed-systems-for-young-bloods/)
|
||
|
|
||
|
A bunch of "things you need to remember when working on distributed systems",
|
||
|
not only for "young bloods", but also for those who are doing this for
|
||
|
sometime, just as a reminder.
|
||
|
|
||
|
## [writing c library in rust](https://www.ultrasaurus.com/2020/01/writing-c-library-in-rust/)
|
||
|
|
||
|
One of the cool things about Rust is that you can combine Rust applications
|
||
|
with any other C library. But not only that, it is also possible to write code
|
||
|
in Rust and export it as a C interface -- and, with that, combine with any
|
||
|
other language that can bind with C, which are basically every language around.
|
||
|
|
||
|
## [Self-Protecting Projects](https://amihaiemil.com/2020/01/17/self-protecting-projects.html)
|
||
|
|
||
|
Projects without a CI/CD pipeline are doomed to fail.
|
||
|
|
||
|
That's basically the gist of the post and I'm all for it too. There are a few
|
||
|
missing bits, like you can have a CI/CD pipeline and not having a policy for
|
||
|
writing tests; but, at the same time, I reckon there is no easy way to measure
|
||
|
if the proper things are being tested (and no, "every single function" is not
|
||
|
a measure).
|
||
|
|
||
|
Also, the idea of making the application open tickets every time the
|
||
|
application crashes is cool and all, but that only works for applications that
|
||
|
run on your own environment -- an embedded application would have a hard time
|
||
|
making this.
|
||
|
|
||
|
## [Why I Keep a Research Blog](http://gregorygundersen.com/blog/2020/01/12/why-research-blog/)
|
||
|
|
||
|
I've been thinking about this for some time: I have a list of "Things I Don't
|
||
|
Know", which I keep on [Joplin](https://joplinapp.org/). The idea is that,
|
||
|
when I have some time, or when I see some information related to the topic, I
|
||
|
can add to the note, till I finally feel confident enough to say "Ok, now I
|
||
|
understand this".
|
||
|
|
||
|
But for some time I've been writing this kind of post (the
|
||
|
"[Links](https://blog.juliobiason.me/tags/links/)" ones) as a way to keep a
|
||
|
list of things that I feel I may need in the future. So, if I keep a list of
|
||
|
"maybe in the future" links, why don't I put the research topics also in this
|
||
|
blog? Surely, right now, it will have only the topics and no content (sorry!)
|
||
|
but making it available may also help someone else.
|
||
|
|
||
|
There is one point that one could make: If I share links, why not share links
|
||
|
related to those topics, and let the blog engine worry about grouping them?
|
||
|
The point is actually to write whatever I learnt in my own words, 'cause those
|
||
|
are easier to recall in the future.
|
||
|
|
||
|
I'm still wrangling with the idea, though. No promises.
|
||
|
|
||
|
## [Minnesota is now using contact tracing to track protestors, as demonstrations escalate](https://bgr.com/2020/05/30/minnesota-protest-contact-tracing-used-to-track-demonstrators/)
|
||
|
|
||
|
You may recall that I've been, for a while, mentioning that contact tracing
|
||
|
applications may sound good to find someone that had contact with another
|
||
|
someone with COVID-19 (so we could alert and/or take that person to a
|
||
|
hospital, before it was too late for treatment), but there were serious
|
||
|
privacy problems with it? Well, there we go.
|
||
|
|
||
|
A black person was brutally killed by the police in the USA, and the community
|
||
|
rioted to the point that a police department was set afire -- I'm not saying
|
||
|
it was right or wrong, but you have to think the type of indignation that make
|
||
|
people set a _police department_ on fire.
|
||
|
|
||
|
And those people who worried that they may get in contact with someone that
|
||
|
got infected with COVID-19 and installed any contact tracing application are
|
||
|
now being tracked by their association with other demonstrators.
|
||
|
|
||
|
And _that's_ what I was talking about. There is no policy that says "this
|
||
|
tracing information may be _only_ used for diseases and nothing else".
|
||
|
|
||
|
## [The 'No Code' Delusion](https://www.alexhudson.com/2020/01/13/the-no-code-delusion/)
|
||
|
|
||
|
Ignoring the fact that the post talks about a movement for "creating
|
||
|
business rules without the need of a developer", what I found interesting is
|
||
|
the visual comparison of the business rule (in a diagram) and the code (a
|
||
|
piece of Python code). Why? Because that's exactly the way applications should
|
||
|
be written: There is logic and it is described in a combination of functions,
|
||
|
which content doesn't make part of the rule itself and there are no rules
|
||
|
"hidden" inside the function of a rule. There is nothing of "let me put a
|
||
|
regexp here to validate the email". That's not what the business rule says, so
|
||
|
that's not in the code. If the business rule said "You should test this,
|
||
|
convert to that and send this to there", that's exactly what the function
|
||
|
should have.
|
||
|
|
||
|
On the other hand, I didn't realized that diagrams require some previous
|
||
|
knowledge: Which symbol represents a test? Which symbol represents "white in
|
||
|
the screen"? And so on.
|
||
|
|
||
|
What I need to mention, though, is that COBOL was created for non-programmers
|
||
|
so they could describe business rules and run them; SQL was desgiedn so
|
||
|
non-programmers could describe how to retrieve and process data; BDD has
|
||
|
always been described as a way for non-programmers to describe how a system
|
||
|
should be validated.
|
||
|
|
||
|
## [Google pushed to take action against Android bloatware by 50+ organizations](https://9to5google.com/2020/01/11/android-bloatware-privacy-open-letter/#adnrb=900000)
|
||
|
|
||
|
A post from earlier this year, but there is one point that I need to bring:
|
||
|
|
||
|
Android is "open source", right? If it is, why doesn't those 50+ organizations
|
||
|
just fork it and make their own Android? Surely, in a 50+ organization group,
|
||
|
there should be a few developers and making them all work on that could solve
|
||
|
the problem, right?
|
||
|
|
||
|
Well, thing is, Google controls Android. You can't simply fork and hope that
|
||
|
you can run on your device. You can't simply make a pull request and hope it
|
||
|
will, one day, be part of the system.
|
||
|
|
||
|
"Android is opensource" is a farce. It is "source available", not "open
|
||
|
source" by any stretch of imagination.
|
||
|
|
||
|
---
|
||
|
|
||
|
This post was built with the help of
|
||
|
|
||
|
* [HN Tooter](https://mastodon.social/@hntooter)
|
||
|
* [Read Rust](https://botsin.space/@readrust)
|