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.
194 lines
9.9 KiB
194 lines
9.9 KiB
<!DOCTYPE html> |
|
<html lang="en"> |
|
<head> |
|
<meta http-equiv="X-UA-Compatible" content="IE=edge"> |
|
<meta http-equiv="content-type" content="text/html; charset=utf-8"> |
|
|
|
<!-- Enable responsiveness on mobile devices--> |
|
<!-- viewport-fit=cover is to support iPhone X rounded corners and notch in landscape--> |
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1, viewport-fit=cover"> |
|
|
|
<title>Julio Biason .Me 4.3</title> |
|
|
|
<!-- CSS --> |
|
<link rel="stylesheet" href="https://blog.juliobiason.me/print.css" media="print"> |
|
<link rel="stylesheet" href="https://blog.juliobiason.me/poole.css"> |
|
<link rel="stylesheet" href="https://blog.juliobiason.me/hyde.css"> |
|
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=PT+Sans:400,400italic,700|Abril+Fatface"> |
|
|
|
|
|
|
|
|
|
|
|
</head> |
|
|
|
<body class=" "> |
|
|
|
<div class="sidebar"> |
|
<div class="container sidebar-sticky"> |
|
<div class="sidebar-about"> |
|
|
|
<a href="https://blog.juliobiason.me"><h1>Julio Biason .Me 4.3</h1></a> |
|
|
|
<p class="lead">Old school dev living in a 2.0 dev world</p> |
|
|
|
|
|
</div> |
|
|
|
<ul class="sidebar-nav"> |
|
|
|
|
|
<li class="sidebar-nav-item"><a href="/">English</a></li> |
|
|
|
<li class="sidebar-nav-item"><a href="/pt">Português</a></li> |
|
|
|
<li class="sidebar-nav-item"><a href="/tags">Tags (EN)</a></li> |
|
|
|
<li class="sidebar-nav-item"><a href="/pt/tags">Tags (PT)</a></li> |
|
|
|
|
|
</ul> |
|
</div> |
|
</div> |
|
|
|
|
|
<div class="content container"> |
|
|
|
<div class="post"> |
|
<h1 class="post-title">Links for 2020-05-25</h1> |
|
<span class="post-date"> |
|
2020-05-25 |
|
|
|
<a href="https://blog.juliobiason.me/tags/links/">#links</a> |
|
|
|
<a href="https://blog.juliobiason.me/tags/data/">#data</a> |
|
|
|
<a href="https://blog.juliobiason.me/tags/owning/">#owning</a> |
|
|
|
<a href="https://blog.juliobiason.me/tags/latency/">#latency</a> |
|
|
|
<a href="https://blog.juliobiason.me/tags/python/">#python</a> |
|
|
|
<a href="https://blog.juliobiason.me/tags/async/">#async</a> |
|
|
|
<a href="https://blog.juliobiason.me/tags/ebay/">#ebay</a> |
|
|
|
<a href="https://blog.juliobiason.me/tags/rust/">#rust</a> |
|
|
|
<a href="https://blog.juliobiason.me/tags/macros/">#macros</a> |
|
|
|
<a href="https://blog.juliobiason.me/tags/tests/">#tests</a> |
|
|
|
<a href="https://blog.juliobiason.me/tags/project/">#project</a> |
|
|
|
<a href="https://blog.juliobiason.me/tags/remote/">#remote</a> |
|
|
|
<a href="https://blog.juliobiason.me/tags/wfh/">#wfh</a> |
|
|
|
<a href="https://blog.juliobiason.me/tags/shapes-of-code/">#shapes of code</a> |
|
|
|
<a href="https://blog.juliobiason.me/tags/public-domain/">#public domain</a> |
|
|
|
<a href="https://blog.juliobiason.me/tags/copyright/">#copyright</a> |
|
|
|
<a href="https://blog.juliobiason.me/tags/libre/">#libre</a> |
|
|
|
<a href="https://blog.juliobiason.me/tags/open/">#open</a> |
|
|
|
</span> |
|
<p>Owning Your Data, Latency in Async Python, eBay Port Scanning, Rust Macros, |
|
Rust Tests, Rust Project Organization, Going Remote, Shapes of Code, Public |
|
Domain vs Copyright, Libre vs Open.</p> |
|
<span id="continue-reading"></span><h2 id="i-want-to-own-the-database-that-my-apps-use"><a href="https://orndorffgrant.com/own-your-data-idea/">I want to own the database that my apps use</a></h2> |
|
<p>While the idea is commendable, I think the proposed solutions have a number of |
|
problems:</p> |
|
<ul> |
|
<li>Having an open standard only means having <em>multiple</em> "open" standards. <a href="https://xkcd.com/927/">XKCD |
|
explained this pretty well</a>.</li> |
|
<li>Exporting data could, indeed, be in different formats, but using a database |
|
could also mean that each application would use their own schema (and |
|
remember the thing about the standards and everyone having their own?).</li> |
|
<li>As the author pointed, creating an API is costly. Why would some company |
|
implement the API when they can do nothing and save money?</li> |
|
<li>Worse: In a time when "data is the new oil", why would companies share their |
|
oil well?</li> |
|
</ul> |
|
<p>I don't mean to diss the post, but there are a few things that need to be |
|
fixed before we can dream of something like this -- for example, closing the |
|
damn data-oil well.</p> |
|
<h2 id="latency-in-asynchronous-python"><a href="https://nullprogram.com/blog/2020/05/24/">Latency in Asynchronous Python</a></h2> |
|
<p>I'm not sure I follow the author description on how to solve the problem |
|
presented.</p> |
|
<p>Thing is, async (in any form) cannot be compared with threads, which seems the |
|
initial idea on the description of the problem. Async is <em>cooperative |
|
multitasking</em>, which means someone has to say "I'm done" so another task can |
|
continue; by using a heartbeat task but doing I/O (<code>print</code>) and creating 200 |
|
async tasks, you're actually measuring how long the event loop wasn't allowed |
|
to continue.</p> |
|
<h2 id="ebay-port-scans-visitors-computers-for-remote-access-programs"><a href="https://www.bleepingcomputer.com/news/security/ebay-port-scans-visitors-computers-for-remote-access-programs/">eBay port scans visitors' computers for remote access programs</a></h2> |
|
<p>In today's "Let's Abuse The Web To Find a New Way To Track People", some |
|
people found out that the eBay website (yes, the website, not an app or |
|
something like that) is using WebSockets (yes, websockets, not some fancy |
|
technology, not some raw socket thingy) to do a port scan on the user's |
|
computer.</p> |
|
<p>There are two things that will happen now: People will start looking for those |
|
things and stupid people will add that to their websites.</p> |
|
<p>Maybe browsers could block websockets to one single address and, once it is |
|
used, the site can't open a new one on a different address/port.</p> |
|
<h2 id="rust-macro-rules-in-practice"><a href="https://dev.to/sassman/rust-macro-rules-in-practice-40ne">Rust macro rules in practice</a></h2> |
|
<p>Macros is a part of Rust I still have to explore. This post describes one of |
|
the simples macro types Rust have (there are three).</p> |
|
<h2 id="how-to-organize-your-rust-tests"><a href="https://blog.logrocket.com/how-to-organize-your-rust-tests/">How to organize your Rust tests</a></h2> |
|
<p>On my last live (it was in Portuguese, sorry English speakers), we discussed |
|
the fact that my toy project had no tests -- in my defence, that was kinda |
|
intentional, as all I'm doing is exploring more of the language.</p> |
|
<p>An just out of the blue this post appears, which describes a bunch -- maybe I |
|
bit too much -- of testing strategies for Rust code.</p> |
|
<h2 id="just-how-i-organize-large-rust-programs"><a href="https://rodarmor.com/blog/tour-de-just">Just: How I Organize Large Rust Programs</a></h2> |
|
<p>And just related to the previous event (you know, the live discussing Rust |
|
code), I was also reorganizing my code, and now have a few more ideas on what |
|
to do in the future.</p> |
|
<h2 id="beyond-remote"><a href="https://vimota.me/writing/beyond-remote">Beyond Remote</a></h2> |
|
<p>A good collection of points now that large tech companies switched to remote |
|
working (some as "remote first" now) about what may and what may not work |
|
straight away when a company switches to remote working.</p> |
|
<h2 id="the-shapes-of-code"><a href="https://www.fluentcpp.com/2020/01/14/the-shapes-of-code/">The Shapes of Code</a></h2> |
|
<p>This is one hell of an interesting post: Describing code by its shape -- |
|
basically, what you see in one of those "minimaps" -- instead of their |
|
content. The curious parts is that it describes "what" the shape means and how |
|
it can be improved in some refactoring.</p> |
|
<h2 id="the-public-domain-is-the-rule-copyright-is-the-exception"><a href="https://www.eff.org/deeplinks/2020/01/public-domain-rule-copyright-exception">The Public Domain Is the Rule, Copyright Is the Exception</a></h2> |
|
<p>I understand what the EFF is trying to say here but, at the same point, we |
|
have to understand that copyleft -- the thing that powers every open source |
|
project today -- <em>is</em> based on copyright. The thing that prevents open source |
|
being abused is the fact that is copyrighted by someone, and that someone will |
|
tell exactly what others can do with the code. It's the copyright that |
|
protects it from being snatched by someone else and being used to lock-in |
|
users.</p> |
|
<p>Maybe the idea of copyright is being abused in a lot of places, but it doesn't |
|
mean it is (totally) broken.</p> |
|
<p>One thing to keep in mind here: Public Domain means anyone can do anything |
|
with it. It could mean anyone could pick an free software and turn it into a |
|
locked-in version of it.</p> |
|
<h2 id="what-does-free-libre-open-mean"><a href="https://wiki.snowdrift.coop/about/free-libre-open">What Does <em>Free/Libre/Open</em> Mean?</a></h2> |
|
<p>This is a quick and good explanation of the old discussion of the difference |
|
between "free software" and "open source".</p> |
|
<hr /> |
|
<p>This post was built with the help of</p> |
|
<ul> |
|
<li><a href="https://mastodon.social/@hntooter">HN Tooter</a></li> |
|
<li><a href="https://mastodon.social/@newsbot">newsbot</a></li> |
|
<li><a href="https://botsin.space/@readrust">Read Rust</a></li> |
|
<li><a href="https://mastodon.host/@BartG95">Bart Groeneveld</a></li> |
|
</ul> |
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
</div> |
|
|
|
</body> |
|
|
|
</html>
|
|
|