Skip to content

Instantly share code, notes, and snippets.


Block or report user

Report or block giuliohome

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
giuliohome /
Created Sep 29, 2019
My Open Twitter Search integrated also with Slack channel, posting as bot
package org.new_year2018;
import android.os.AsyncTask;
import java.util.ArrayList;
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
giuliohome / WebSharperLens2DB.fs
Created Aug 27, 2019
V for Lens with Async DB retrieval
View WebSharperLens2DB.fs
// online snippet:
// gitter ref:
// intellifactory blog:
namespace Samples
open WebSharper
open WebSharper.JavaScript
open WebSharper.UI
open WebSharper.UI.Html
open WebSharper.UI.Client
View CleanDatePicker.fs
// from IE datepicker to F#: you tried Globalization, ParseExact, etc... without luck
// and this does the trick ;-)
let filterDate (str:string) : string =
new string (str.ToCharArray()
|> Array.filter(fun c -> int c < 128))
// used for example in
let dateFrom = DateTime.Parse(filterDate dateFromStr)
giuliohome / OpenDetails.fs
Last active Jul 30, 2019
Create a form to post a request with parameter for a new detail tab and render it into html, all typesafe, from f# to javascript
View OpenDetails.fs
let (|==>) (param_name, param_id) (safe_url:EndPoint) =
let router = Router.Infer()
let url = router.Link(safe_url)
form [ "_blank"; attr.action url; ("form" + param_id); attr.method "POST" ] [
a [ (fun el ev ->
let frm = JS.Document.GetElementById ("form" + param_id) |> As<HTMLFormElement>
) ] [text param_id]
input [attr.``type`` "hidden"; param_name; attr.value param_id] []
giuliohome / app_offline.htm
Created May 14, 2019 — forked from robert-claypool/app_offline.htm
A simple "app offline" template for ASP.NET
View app_offline.htm
<!DOCTYPE html>
<meta charset="UTF-8">
<body style="margin:3em;font-family:sans-serif">
<p>This site is offline for maintenance.</p>
View TimeIt.cs
//TimeIt(() => Extract(sql_trades, "03_Trade_Valid_" + timestamp + ".csv"), "Trade Extract");
static bool Retry(int count, Action action, Action<int> startCallback, Func<Exception, int, bool> exceptionCallback)
if (count <= 0) { return false; } else
View SFTPdownload.fs
open Renci.SshNet
open System.IO
open System.Configuration
open System
let config = ConfigurationManager.AppSettings
let timestamp = "sftp_log_" + DateTime.UtcNow.Date.ToString("yyyy_MM_dd") + ".txt"
let logPath = Path.Combine(config.["SharedFolder"],timestamp)
let sw = new StreamWriter(logPath,true)
View haskellDB.hs
import Database.HDBC
import Database.HDBC.ODBC
data Person = Person
{ id :: Int
, name :: [Char] }
deriving Show
convRow :: [SqlValue] -> Person
convRow [sqlId, sqlDesc] =

A quadratic space is a real vector space V with a quadratic form Q(x), e.g. V = R^n with Q as the squared length. The Clifford algebra Cl(V) of a quadratic space is the associative algebra that contains V and satisfies x^2 = Q(x) for all x in V. We're imposing by fiat that the square of a vector should be the quadratic form's value and seeing where it takes us. Treat x^2 = Q(x) as a symbolic rewriting rule that lets you replace x^2 or x x with Q(x) and vice versa whenever x is a vector. Beyond that Cl(V) satisfies the standard axioms of an algebra: it lets you multiply by scalars, it's associative and distributive, but not necessarily commutative.

Remarkably, this is all you need to derive everything about Clifford algebras.

Let me show you how easy it is to bootstrap the theory from nothing.

We know Cl(V) contains a copy of V. Since x^2 = Q(x) for all x, it must also contain a copy of some nonnegative reals.

giuliohome / PageAjax2.aspx
Created Nov 2, 2018
Calling C# from JavaScript
View PageAjax2.aspx
protected async void Page_Load(object sender, EventArgs e)
if (!Page.IsPostBack)
if (Request.Form["method"] == "Test")
MyType[] obj = await Test(Request.Form["msg1"], Request.Form["msg2"]);
string json = new JavaScriptSerializer().Serialize(obj);
You can’t perform that action at this time.