effects of climate change
if the climate changes continue, one effect is that the sea level will rise and some islands in the ocean could be submegered. that is an existential crisis for people living there. now Iceland declared that the potential collapse of a major Atlantic current system could alter the country’s climate and economy. that is another effect of climate change. some places get colder and other places warmer. extreme conditions become more frequent due to climate change.
hummingbird spot
Carole Turek has photographed more than 270 of the 366 different hummingbird species in the world. She is a retired teacher.
protobuf, or protocol buffer is better than JSON
- API: application programming interface
An API is a set of rules that allow two systems to communicate. For example, in the web, REST APIs use the HTTP protocol and its methods (GET, PUT, POST, DELETE …) to communicate. A request message may contain a header, a body and a response status. Inside the header, there is a field of Content-Type that specifies the message format such as JSON, XML, Protobuf, etc. Serialization is a process that turns a data structure into a sequence of bytes that can be transmitted.
why JSON is so popular?
- human readable
- perfectly integrated into the web
- flexible
- tools everywhere
With JSON, you often send ambiguous or non-guaranteed data. you may encounter a missing field, an incorrect type, a typo in a key, or simply an undocumented structure. With Protobuf, that’s impossible.
syntax = "proto3";
message User {
int32 id = 1;
string name = 2;
string email = 3;
bool isActive = 4;
}
Each field has a strict type, a number identifier, and a stable name.
- code generation for protobuf
protoc --dart_out=lib user.proto
final user = User()
..id = 42
..name = "Alice"
..email = "alice@example.com"
..isActive = true;
final bytes = user.writeToBuffer(); // Binary serialization
final sameUser = User.fromBuffer(bytes); // Deserialization
It works with Dart, TypeScript, Kotlin, Swift, C#, Go, Rust, and many more. no manual validation required.
Another strength of Protobuf is that it’s a binary format. Easy and efficient for serialization.
dillo browser
dillo is a fast and small graphical web browser
- multiplatform (linux, BSD, macOS, etc.)
- written in C and C++
- low memory usage
- support for HTTP, HTTPS, FTP and local files
- extensible
- GPLv3