To use install Tampermonkey extension for Chrome-based or Firefox-based browsers.
To use install Tampermonkey extension for Chrome-based or Firefox-based browsers.
| /// Usecases. | |
| type Ordering = | |
| | -1 // Less than | |
| | 0 // Equal | |
| | 1; // Greater than | |
| const LT: Ordering = -1; | |
| const EQ: Ordering = 0; | |
| const GT: Ordering = 1; |
| // NOTE: Provided Haskell signatures were simplified for learning purposes. | |
| // Such as: renaming `<*>` as `apply`. Operators may unnecessarily confuse the | |
| // reader of this file. Check out the documentation if you want to apply this | |
| // knowledge in real Haskell. | |
| type Option<A> = | |
| | { _tag: "None" } | |
| | { _tag: "Some", value: A } | |
| const none = <A>(): Option<A> => ({ _tag: "None" }); |
#arch #linux #archlinux
Please, keep in mind that everything after
#is a comment and should not be executed. Also, { something | something } means that you have to make decision and choose one of them, and then write it without curly braces and pipe.
| # gruvbox-dark colorscheme for kitty | |
| # snazzy theme used as base | |
| foreground #ebdbb2 | |
| background #272727 | |
| selection_foreground #655b53 | |
| selection_background #ebdbb2 | |
| url_color #d65c0d | |
| # black |
| import 'package:flutter/material.dart'; | |
| void main() => runApp(new MyApp()); | |
| class MyApp extends StatelessWidget { | |
| @override | |
| Widget build(BuildContext context) { | |
| return new MaterialApp( | |
| title: 'Flutter Demo', | |
| theme: new ThemeData( |
Updated: 20250516
Short version: I strongly do not recommend using any of these providers. You are, of course, free to use whatever you like. My TL;DR advice: Roll your own and use Algo or Streisand. For messaging & voice, use Signal. For increased anonymity, use Tor for desktop (though recognize that doing so may actually put you at greater risk), and Onion Browser for mobile.
This mini-rant came on the heels of an interesting twitter discussion: https://twitter.com/kennwhite/status/591074055018582016
| function downloadString(text, fileType, fileName) { | |
| var blob = new Blob([text], { type: fileType }); | |
| var a = document.createElement('a'); | |
| a.download = fileName; | |
| a.href = URL.createObjectURL(blob); | |
| a.dataset.downloadurl = [fileType, a.download, a.href].join(':'); | |
| a.style.display = "none"; | |
| document.body.appendChild(a); | |
| a.click(); |