{-# LANGUAGE RankNTypes #-} | |
{-# LANGUAGE TypeApplications #-} | |
{-# LANGUAGE ImpredicativeTypes #-} | |
{-# LANGUAGE ScopedTypeVariables #-} | |
module IOHCC where | |
import Unsafe.Coerce | |
u = unsafeCoerce |
- Red area is a result of the upfront, fixed cost of learning Haskell vs Java.
- The company pays this for each new hire.
- Yellow area is the developer's productivity gain once they're "over the hump."
- The company can benefit from this, but it must first reach a break-even point vs the cost of learning.
- If average employee tenure is less than this break-even point, the company is taking an absolute loss on each employee.
- For Haskell to truly be worth it from a business perspective, the average tenure must not just eclipse the break-even point, but it must go further to account for the opportunity cost of better productivity during that learning period.
- However, employees always benefit from this regardless of turnover - they get to take the productivity gain with them. This - in my opinion - naturally results in some tension.
The following are appendices from Optics By Example, a comprehensive guide to optics from beginner to advanced! If you like the content below, there's plenty more where that came from; pick up the book!
module Utils.Concurrent (mkPipeline, launchNukes) where | |
import Control.Concurrent (threadDelay) | |
import Control.Concurrent.Async (Async, async, cancel, wait) | |
import Control.Concurrent.STM (TBQueue, atomically, newTBQueueIO, | |
readTBQueue, writeTBQueue) | |
import Control.Monad (forever, void) | |
import Control.Monad.IO.Class (MonadIO, liftIO) | |
import GHC.Natural (Natural) |
Article topics:
Для haskell есть haskell ide engine (далее hie).Это приблуда которая поддерживает Language Server Protocol и благодаря этому может интегрироваться со множеством редакторов (neovim, atom, emacs, sublime, vs code).
Описана здесь . С помощью одной простой комманды вы можете установить HIE:
nix-env -iA selection --arg selector 'p: { inherit (p) ghc864 ghc863 ghc843; }' -f https://github.com/infinisil/all-hies/tarball/master
:: Windows 10 Hardening Script | |
:: This is based mostly on my own personal research and testing. My objective is to secure/harden Windows 10 as much as possible while not impacting usability at all. (Think being able to run on this computer's of family members so secure them but not increase the chances of them having to call you to troubleshoot something related to it later on). References for virtually all settings can be found at the bottom. Just before the references section, you will always find several security settings commented out as they could lead to compatibility issues in common consumer setups but they're worth considering. | |
:: Obligatory 'views are my own'. :) | |
:: Thank you @jaredhaight for the Win Firewall config recommendations! | |
:: Thank you @ricardojba for the DLL Safe Order Search reg key! | |
:: Thank you @jessicaknotts for the help on testing Exploit Guard configs and checking privacy settings! | |
:: Best script I've found for Debloating Windows 10: https://github.com/Sycnex/Windows10Debloater | |
: |
Build VAAPI with support for VP8/9 decode and encode hardware acceleration on a Skylake validation testbed:
Build platform: Ubuntu 16.04LTS.
First things first:
Install baseline dependencies first
sudo apt-get -y install autoconf automake build-essential libass-dev libtool pkg-config texinfo zlib1g-dev libva-dev cmake mercurial libdrm-dev libvorbis-dev libogg-dev git libx11-dev libperl-dev libpciaccess-dev libpciaccess0 xorg-dev intel-gpu-tools