Skip to content

Instantly share code, notes, and snippets.

View renatoathaydes's full-sized avatar

Renato Athaydes renatoathaydes

View GitHub Profile
@renatoathaydes
renatoathaydes / dart-null-safe-final-field-fail.dart
Created November 6, 2020 19:39
This fails to compile on line 18, but it should work because the field is final so the null check ensures the field can't be null
// Welcome to the null safety version of DartPad!
// This site has a dev channel release of the
// Dart SDK with null safety enabled. You can
// play around with code of your own, or pick a
// learning exercise from the snippets menu at
// the top-right of this page.
void main() {
}
@renatoathaydes
renatoathaydes / Client.java
Last active May 17, 2020 16:50
Taking Project Loom for a spin
package loom;
import rawhttp.core.RawHttp;
import rawhttp.core.RawHttpRequest;
import rawhttp.core.RawHttpResponse;
import rawhttp.core.client.TcpRawHttpClient;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.util.concurrent.CountDownLatch;
@renatoathaydes
renatoathaydes / JavaComparison.java
Last active May 4, 2020 18:19
Calculating a number from its constituent parts (encoded as ASCII bytes)
import java.nio.charset.StandardCharsets;
class JavaComparison
{
public static void main(String[] args)
{
System.out.println("CUSTOM");
for (int i = 0; i < 100; i++)
{
custom();
@renatoathaydes
renatoathaydes / Dockerfile
Created July 6, 2019 11:28
Minimalistic Docker image from a simple Dart application - includes only the AOT-compiled app and dartaotruntime.
FROM google/dart AS dartc
WORKDIR /app
ADD pubspec.* /app/
RUN pub get
ADD bin/ /app/bin/
ADD lib/ /app/lib/
RUN pub get --offline
RUN dart2aot /app/bin/main.dart /app/main.aot
abstract class _State {
T use<T>(
T Function(_ChooseProviderState) useChooseProviderState,
T Function(_LoadingState) useLoadingState,
T Function(_ChooseAccountsState) useChooseAccountState,
T Function(_ImportingState) useImportingState) {
if (this is _ChooseProviderState) {
return useChooseProviderState(this);
}
if (this is _LoadingState) {
@renatoathaydes
renatoathaydes / index.html
Created April 18, 2019 18:50
CheerpJ index.html file
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>CheerpJ test</title>
<script src="https://cjrtnc.leaningtech.com/1.3/loader.js"></script>
</head>
<body>
</body>
<script>
use col = "collections"
use fmt = "format"
type Error is String
type Result is (F64 | Error)
type MaybeArray is (Array[F64] iso | Error val)
interface ReceiveUV
be receive(m: MaybeArray, a: Array[F64] iso)
@renatoathaydes
renatoathaydes / index.html
Last active February 9, 2019 22:19
Tic Tac Toe Game written in Dart. This is a clone of the game written in the React official tutorial: https://reactjs.org/tutorial/tutorial.html
<div id="errors" style="
background: #c00;
color: #fff;
display: none;
margin: -20px -20px 20px;
padding: 20px;
white-space: pre-wrap;
"></div>
<div id="root"></div>
<script>
@renatoathaydes
renatoathaydes / create_github_pages_branch.sh
Created October 29, 2018 20:12
Use git worktree to maintain GitHub Pages branch
# Initialize a gh-pages branch... GitHub expects this branch to exist to publish a project website from it.
git checkout --orphan gh-pages
git reset --hard
git commit --allow-empty -m "Initializing gh-pages branch"
git push origin gh-pages
git checkout master
# Define a directory where the static website files will reside
WEBSITE_DIR=target
@renatoathaydes
renatoathaydes / ClassicPostExecutionExample.java
Created January 14, 2018 17:32
HTTPComponents HTTPClient evolution
/*
* HTTPClient usage circa version 5.0-beta.
*/
package org.apache.hc.core5.http.examples;
import java.io.ByteArrayInputStream;
import java.nio.charset.StandardCharsets;
import java.util.concurrent.TimeUnit;