Skip to content

Instantly share code, notes, and snippets.

View denisshevchenko's full-sized avatar
🏠
Working from home

Denis Shevchenko denisshevchenko

🏠
Working from home
View GitHub Profile

Эспандеры: сравнительная таблица усилий

Калибровка GD Iron 80

https://www.youtube.com/watch?v=yYAiFaLGAmw

Реальное усилие в данном случае замерялось на краях ручек!

Без удлинителей ручек

Short overview of Cardano project

Glossary

First of all, there's a Cardano glossary, please check it out: almost all important concepts are described here.

Cardano SL

Cardano SL (sometimes it's just "Cardano") means Cardano Settlement Layer. Its source code can be found here.

getDateFromUser :: IO (Either UserError Day)
getDateFromUser = do
Prelude.putStrLn "Пожалуйста, укажите дату для прогноза в формате ГГГГ-ММ-ДД:"
currentTime <- getCurrentTime
date <- Prelude.getLine
let retrievedDate = utctDay currentTime
dayFromUser = parseTimeM True defaultTimeLocale "%Y-%-m-%-d" date :: Maybe Day
case dayFromUser of
Nothing -> здесь беда, потому что пользователь ввёл какую-то гадость
Just validDay -> do
let result = decode rawJSON :: Maybe FullWeather
data FullWeather = FullWeather
{ cod :: Int
, message :: Text
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE DeriveGeneric #-}
module Main where
import Data.Aeson
import Data.Aeson.Encode.Pretty
import Data.Aeson.Types
import Data.ByteString as B
import qualified Data.ByteString.Lazy.Char8 as LC

Установка Raspbian на MicroSD

  1. Скачать дистрибутив RASPBIAN STRETCH LITE отсюда: https://www.raspberrypi.org/downloads/raspbian/.
  2. Распаковать скачанный архив, чтобы получился файл с расширением .img.

Логинимся по SSH

Как только зелёный светодиод перестал мигать...

{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE MultiWayIf #-}
module UserData where
import Text.Read (readMaybe)
import Data.Text
import qualified Data.List as List
import Data.Maybe (isJust, fromJust)
import qualified Data.Text.IO as TIO
cat /sys/class/thermal/thermal_zone*/temp
echo "`cat /sys/class/power_supply/BAT0/energy_now` / `cat /sys/class/power_supply/BAT0/energy_full` * 100"
acpi
{-
Вот это наш .yaml-конфиг:
---
API_URL: https://api.nightscout/v2
API_Secret: asdLKJHh0987ljkhLKJlkjhLKJ
-}
-- Это для того, чтобы сырые литералы "" могли автоматически превращаться, например, в Text.
-- Без них литералы станут типом String, а этот тип неэффективный и считается уже антипаттерном.
import System.Directory
import System.Environment
import Control.Exception
import Data.Typeable
import Data.List
data InvalidPath = InvalidPath String deriving (Show)
data FileError = NoSuchFile deriving (Show, Typeable)
data EmptyFile = EmptyFile deriving (Show, Typeable)