Skip to content

Instantly share code, notes, and snippets.

View agocorona's full-sized avatar
💭
Status at .... https://gitter.im/Transient-Transient-Universe-HPlay/Lobby

Alberto agocorona

💭
Status at .... https://gitter.im/Transient-Transient-Universe-HPlay/Lobby
View GitHub Profile
@agocorona
agocorona / webapp.hs
Created July 7, 2017 11:17
webapp.hs from transient-examples recoded to make work the stop button in the last example
#!/usr/bin/env ./execthirdline.sh
-- compile it with ghcjs and execute it with runghc
-- set -e && port=`echo ${3} | awk -F/ '{print $(3)}'` && docker run -it -p ${port}:${port} -v $(pwd):/work agocorona/transient bash -c "mkdir -p static && ghcjs /work/${1} -o static/out && runghc /work/${1} ${2} ${3}"
-- usage: ./webapp.hs -p start/<docker ip>/<port>
{-# LANGUAGE CPP #-}
module Main where
{-# LANGUAGE RecordWildCards #-}
module Main where
import Unsafe.Coerce
import Transient.Internals
import Transient.Indeterminism
import Control.Monad.State
import System.IO.Unsafe
import Control.Monad
import Control.Applicative
{-# LANGUAGE RecordWildCards #-}
module Main where
import Unsafe.Coerce
import Transient.Internals
import Transient.Indeterminism
import Control.Monad.State
import System.IO.Unsafe
import Control.Monad
import Control.Applicative
@agocorona
agocorona / Transient-cont.hs
Created July 18, 2017 23:53
a reformulation of Transient using a modified continuation monad
{-# LANGUAGE MultiParamTypeClasses, FlexibleInstances, UndecidableInstances #-}
import Control.Applicative
import Control.Monad.IO.Class
import Control.Monad.Trans
import GHC.Conc
import System.IO.Unsafe
import Data.IORef
import Control.Concurrent.MVar
import qualified Data.Map as M
import Data.Typeable
no user package environment file found at /devel/transient
no user package environment file found at /devel/transient
Searching for eta in path.
Found eta at /root/.local/bin/eta
/root/.local/bin/eta --numeric-version
/root/.local/bin/eta is version 0.0.9.1
no user package environment file found at /devel/transient
Searching for eta-pkg in path.
Found eta-pkg at /root/.local/bin/eta-pkg
/root/.local/bin/eta-pkg --version
main= keep' $ do
r <- choose [1..10]
liftIO $ print r
-- hplayground by Alberto modified by mark mann
-- keeps score for up to nine players for many rounds
-- identify user and record round by round results
{-# LANGUAGE DeriveDataTypeable, FlexibleInstances, UndecidableInstances #-}
module Main where
import Haste
import Haste.Foreign
@agocorona
agocorona / Transient.cont.hs
Last active April 26, 2023 08:00
Optimized, simplified continuation monad that implement all the Transient effects (except Web, logging and distributed computing) with mock up implementation of some of them (https://github.com/transient-haskell/transient) Parallelism, concurrency, reactive, streaming, non-determinism, backtracking exceptions, state, early termination
{-# LANGUAGE MultiParamTypeClasses, ExistentialQuantification, ScopedTypeVariables, FlexibleInstances, FlexibleContexts, UndecidableInstances #-}
module TransientCont where
-- some imports
import Control.Applicative
import Control.Monad.IO.Class
import Control.Monad.Trans
@agocorona
agocorona / stack trace
Created January 19, 2018 08:55
Eta MVar test
import Control.Monad
import Control.Applicative
import Control.Concurrent.MVar hiding (takeMVar, putMVar)
import qualified Control.Concurrent.MVar as MVar
import Control.Concurrent.Fiber
import Control.Concurrent.Fiber.MVar
import System.Environment
import GHC.Conc.Sync hiding (yield)
import GHC.Conc.IO
import Control.Monad.IO.Class

Peer to Peer Cloud Computing

Current cloud services and traditional Web sites like Amazon or Azure or Google or Facebook all are centralized from the management point of view and thus, they suppose a threat as big as a Super-Mainframe would pose for privacy and security of the data as well as the computing power. Amazon could paralyze the entire world. Facebook can be perfect for political campaigns if the right "leaks" happens when they need them. we know it very well.

The source of concern are:

  • The centralized databases that consolidate all the data of all users instead of letting the user to control where to store his own data wether locally or in other's nodes and define his own access policies. Although centralized databases are also a consequence of other concerns depicted below, centralization of data is something desired, since it is very profitable for legal and -I´m worried- criminal uses of such data.

  • The methods for obtaining scalability apparently demand farms of computers, again