Чтобы добавлять сообщения и комментарии, .

@Shchvova:
Shchvova

вставлять видосики с ютубчика что бы выглядело ОК

<div style="position:relative; width:100%; height:0px; padding-bottom:56.25%;">
    <iframe style="position:absolute; left:0; top:0; width:100%; height:100%" frameborder="0" allowfullscreen="allowfullscreen"
        src="https://www.youtube.com/embed/peyo_97BOmI">
    </iframe>
</div>


@ndtimofeev:
ndtimofeev

У меня тут регионопроблемы. Пусть у меня есть функции вида:

doWith :: Shit res -> (forall s. res s -> Reg s ()) -> IO ()

traverseRes :: (Generic (res s), Magic (Rep (res s))) => res s -> Reg s ()

По отдельности всё хорошо, но если сделать что-то вроде:

\hnd -> doWith hnd traverseRes

Незамедлительно наступает ад, поскольку функции очень нужен констрейнт от traverseRes, но s уже стёрто и задать его никак нельзя. Собственно два вопроса: можно ли как-то убедить компилятор что констрейнты справедливы для любого s и как с этим борются при использовании регионов здорового человека?

@don-Rumata:
don-Rumata

В догонку к #2853614 .

nmap -sV -p22,80,443 packages.microsoft.com

Starting Nmap 7.01 ( https://nmap.org ) at 2016-11-17 01:02 MSK
Nmap scan report for packages.microsoft.com (13.80.10.205)
Host is up (0.059s latency).
PORT    STATE SERVICE  VERSION
22/tcp  open  ssh      OpenSSH 7.2p2 Ubuntu 4ubuntu2.1 (Ubuntu Linux; protocol 2.0)
80/tcp  open  http     nginx 1.10.0 (Ubuntu)
443/tcp open  ssl/http nginx 1.10.0 (Ubuntu)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 15.02 seconds

Балмера бы удар наверное хватил.

@AlexVK:
AlexVK

CVE-2016-2183
Block cipher algorithms with block size of 64 bits (like DES and 3DES) birthday attack known as Sweet32

This is a cipher vulnerability, not limited to any specific SSL/TLS software implementation. DES and Tripple DES (3DES) block ciphers with a block size of 64 bits, have a birthday bound of approximately 4 billion blocks (or 2 to the power of 32, hence the name of this vulnerability). A man-in-the-middle (MitM) attacker, who is able to capture a large amount of encrypted network traffic, can recover sensitive plain text data.
CVE: CVE-2016-2183
NVD: CVE-2016-2183
CVSSv2: AV:N/AC:L/Au:N/C:P/I:N/A:N

Reference:
https://sweet32.info/
https://access.redhat.com/security/cve/cve-2016-2183
https://www.openssl.org/blog/blog/2016/08/24/sweet32/
Evidence:
Cipher Suite: TLSv1_1 : DES-CBC3-SHA
Cipher Suite: TLSv1_2 : DES-CBC3-SHA
Remediation:
This issue can by avoided by disabling block ciphers of 64 bit length (like DES/3DES) in all the SSL/TLS servers. Exact procedure depends on the actual implementation. Please refer to the documentation of your SSL/TLS server software and actual service software (http server, mail server, etc).

@AlexVK:
AlexVK

Ну вот что ему надо...
51255 error Linux 4.8.6-201.fc24.x86_64
51256 error argv "/usr/bin/node" "/usr/bin/npm" "install"
51257 error node v4.6.1
51258 error npm  v2.15.9
51259 error code EPEERINVALID
51260 error peerinvalid The package csslint@1.0.4 does not satisfy its siblings' peerDependencies requirements!
51260 error peerinvalid Peer csslint-loader@1.0.0 wants csslint@^0.10.0

@waterlaz:
waterlaz

p = problem $ do
    x <- newVar
    y <- newVar
    x >| 0
    x <| 10
    y >| 0
    y <| 10
    (x*x + y*y) >| 9
    minimize $ x*x - 2*x*y + 4*x + y*y - 4*y + 4 + 7


*Main > last $ take 1000 $ optimize p
(7.000000322085075,array (1,2) [(1,0.8733208989876261),(2,2.872753373591708)])


ня?

@Darwin:
Darwin

https://github.com/vhf/free-programming-books/blob/master/free-programming-books.md

@axl:
axl

Только хардкор
#content>.col-xs-8 .tab-content .panel .panel-body table tr td .wrappert .wrapper .btn:nth-child(2){margin-right:10px; overflow: hidden; text-overflow: ellipsis;}

@ndtimofeev:
ndtimofeev

λ> ['-','A'..'H']
"-A"

Я что-то не соображу что бы это значило.

@mabu:
mabu

В логах сервера нашёл. Зачем так много заголовков?

GET / HTTP/1.1
OSVersion: 6.1
vendor: Google Inc.
userAgent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.132 Safari/537.36
appName: Netscape
BrowserName: Chrome
language: ru
Accept-Encoding: gzip, deflate, compress
productSub: 20030107
BrowserEngine: WebKit
vendorSub: 
isMobile: no
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.132 Safari/537.36
Accept: */*
product: Gecko
appVersion: 5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.132 Safari/537.36
isBrowser: yes
OSFamily: Windows
BrowserBaseVersion: 43.0.2357.132
platform: Win32
normalizedBrowserName: Google Chrome
appCodeName: Mozilla
x64: yes
OSName: Windows 7
BrowserEngineVersion: 537.36
BrowserBase: Chromium
BrowserVersion: 43.0.2357

@waterlaz:
waterlaz

Ленивые вычисления + Y-комбинатор с мемоизацией = динамическое программирование (не совсем =)

y lim f = let a = listArray lim $ map g (range lim)
               g = f (a!)
           in (a!)

fib = y (1, 100) $ \f n -> if (n<=2) then 1 else (f (n-1)) + (f (n-2))

@Balancer:
Balancer

nginx ppa сломали. Не апгрейдится штатно. Вот простейшее решение:

Work-around fix:

Edit /var/lib/dpkg/info/nginx-common.config

and add a return on the first line of the log_symlinks_check function.

e.g.:

 log_symlinks_check() {
     return                <---- here
     # Skip new installations
     [ -z "$1" ] && return

@segfault:
segfault

> var c = function(x) { return x; };
undefined
> typeof(c);
'function'
> c.vnezapno = 'govno';
'govno'
> c.vnezapno
'govno'
> typeof(c)
'function'
> typeof(c.vnezapno)
'string'

@segfault:
segfault

% nslookup github.com
;; Got SERVFAIL reply from 8.8.8.8, trying next server
Server:         127.0.0.1
Address:        127.0.0.1#53

** server can't find github.com: SERVFAIL

Регуряно испытваю проблемы с днс, в чем может быть проблема? Сначал думал на нетворкманагер, но Got SERVFAIL reply from 8.8.8.8, это вообще возможно?

@segfault:
segfault

reactSelect_
  :: (ToJSON a, CallbackFunction handler (SelectOption a -> handler))
  => SelectParameters handler a
  -> ReactElementM handler ()
reactSelect_ opts = foreign_ "Select" opts mempty
  where
    opts :: [PropertyOrHandler handler]
    opts = [callback "onChange" (_ opts)]


-- Вот что значит начать изучать джяваскрипт, пол часа бился, не мог понять, почему opts имеет не то тип, который я ожидал.

@lurker:
lurker

*juick_way

@mabu:
mabu

I'M GAY GAY GAY 
             __   __  IN A SPECIAL WAY
            __ \ / __                 
           /  \ | /  \     /          
               \|/        /           
          _,.---v---._   /            
 /\__/\  /            \ /             
 \_  _/ /              \              
   \ \_|           @ __|              
hjw \                \_               
`97  \     ,__/       /               
   ~~~`~~~~~~~~~~~~~~/~~~~

@hizel:
hizel

9376 root      20   0 1406460 1.300g   3000 R  99.3 16.8  10472:38 systemd-udevd

@lurker:
lurker

⊂_ヽ
  \\ _
   \( •_•) F
    < ⌒ヽ A
   /   へ\ B
   /  / \\ U
   レ ノ   ヽ_つ L
  / / O
  / / U
 ( (ヽ S
 | |、\.
 | 丿 \ ⌒)
 | |  ) /
ノ )  Lノ__
(/___

@ndtimofeev:
ndtimofeev

λ> :m + Data.Kind 
λ> :k DynamicDevice 
DynamicDevice :: (Data.Kind.* -> *) -> *

Ну вот какого лешего кайнд нарисован так?

@segfault:
segfault

bash-4.3# du -hsc /
13.7M   /
13.7M   total

Образ в докере с alpine linux собранной на musl ...

@vt:
vt

hook::add finload_hook { hook::remove message_process_x_hook message::process_x_oob 99 }

@waterlaz:
waterlaz

Надеюсь, это я чего-то не понимаю и на с++ можно написать удобнее?

class SuperModel {
  public:
    int priorSizeX;
    int priorSizeY;
    int hueSize;
    int satSize;
    int valSize;
    SuperModel(int _priorSizeX=100, int _priorSizeY=100, 
               int _hueSize=60, int _satSize=32, int _valSize=16) :
                    priorSizeX{_priorSizeX}, priorSizeY{_priorSizeY},
                    hueSize{_hueSize}, satSize{_satSize}, valSize{_valSize} 
    {              
         ...
    }               
};

@qnikst:
qnikst

Есть плохая реализация fingerprint. Задача - придумать 2 разных типа, для которых fingerprint будет давать одинаковый результат:

 67 -- | The fingerprint of the typeRep of the argument
 68 fingerprint :: Typeable a => a -> Fingerprint
 69 fingerprint a =
 70     fingerprintFingerprints
 71       $ (fingerprintString $ module_ ++ "|" ++ name_)
 72       : map fingerprint args
 73   where
 74     tr = typeOf a
 75     (tycon, args) = splitTyConApp tr
 76     module_  = tyConModule tycon
 77     name_    = tyConName tycon


я точно знаю:
packageA:Foo.A
packageB:Foo.B

но есть ли что более интересное?

@anton0xf:
anton0xf

СЯУ, что так можно и что я всегда такое хотел: [подсветка синтаксиса всякой фигни при просмотре в less][https://www.gnu.org/software/src-highlite/source-highlight.html#Using-source_002dhighlight-with-less]. 

Правда оно как-то не очень хочет работать совместно с lesspipe, так что я пока так сделал (вместо рекомендованного способа):
> alias hi='src-hilite-lesspipe.sh'
> lesshi() {
>    src-hilite-lesspipe.sh "$@" | less
> }

Там ещё есть вариант его в ~/.lessfilter прописать (его вызывает lesspipe), но что-то оно сходу не завелось.

@segfault:
segfault

Невероятные приключения единиц измерения:

-- | Absolute size unit convertion rate to centimeters.
absoluteUnitRate :: AbsoluteUnit -> Rational
absoluteUnitRate Centimeter = 1
absoluteUnitRate Inch = 2.54
absoluteUnitRate Millimeter = 0.1
absoluteUnitRate Pica = 12 * absoluteUnitRate Point
absoluteUnitRate Point = 1 / 72 * absoluteUnitRate Inch -- ну охуеть теперь!

@ndtimofeev:
ndtimofeev

> filter (/= ".") . groupBy (\a b -> '.' /= a && '.' /= b)

Трава не наркотик.

@Shchvova:
Shchvova

rm -rf ~ /projects/tmp

ебаный пробел :(

@den-po:
den-po

хехе
>       _
>      (_)
>       _ _ __ ___   __ _ _   _ _ __
>      | | '_ ` _ \ / _` | | | | '__|
>      | | | | | | | (_| | |_| | |
>      |_|_| |_| |_|\__, |\__,_|_|
>                    __/ |
>                   |___/
> ========================================
> You opened the console! Know some code,
> do you? Want to work for one of the best
> startups around? http://imgur.com/jobs
> ========================================

@qrilka:
qrilka

λ> length . take 1000 $ [addUTCTime n today | n <- [-2..0]]
1000
λ> length . take 1000 $ [addUTCTime 1 today | _ <- [-2..0]]
3

@qnikst:
qnikst

вот вопрос похоже исчерпан
```
{-# LANGUAGE TypeInType, GADTs, TypeFamilies, UndecidableInstances #-}
import Data.Kind (Type)

data N = Z | S N

data Fin :: N -> Type where
  FZ :: Fin (S n)
  FS :: Fin n -> Fin (S n)

type family FieldCount (t :: Type) :: N

type family FieldTypeI (t :: Type) (i :: N) :: Type
type family FieldType (t :: Type) (i :: Fin p) where
  FieldType t i = FieldTypeI t (F2II (AsQ t i))

type family AsQ (t :: Type) (i :: Fin n) :: Fin (FieldCount t) where
  AsQ t i = Cast (FieldCount t) i

type family Cast (t :: N) (i :: Fin n) :: Fin t where
  Cast (S Z) FZ = FZ
  Cast (S n) FZ = FZ
  Cast (S n) (FS k) = FS (Cast n k)


type family F2II (a :: Fin n) :: N where
  F2II (FS n) = S (F2II n)
  F2II FZ = Z

data T

type instance FieldCount T = S (S (S Z))
type instance FieldTypeI T Z = Int
type instance FieldTypeI T (S Z) = Bool
```

@qnikst:
qnikst

А сообщество уже придумало хороший обратно совместимый вариант решения:
```
src/Control/Distributed/Static.hs:479:1: warning: [-Wredundant-constraints]
    • Redundant constraints: (Typeable a, Typeable b, Typeable c)
    • In the type signature for:
           composeStatic :: (Typeable a, Typeable b, Typeable c) =>
                            Static ((b -> c) -> (a -> b) -> a -> c)
```

@segfault:
segfault

xmonad-contrib % grep -e 'fi\ ::' `find -iname '*.hs'`
./XMonad/Util/Font.hs:fi :: (Integral a, Num b) => a -> b
./XMonad/Util/NoTaskbar.hs:fi :: (Integral i, Num n) => i -> n
./XMonad/Actions/Navigation2D.hs:fi :: (Integral a, Num b) => a -> b
./XMonad/Layout/Fullscreen.hs:  let fi :: (Integral i, Num n) => i -> n
./XMonad/Layout/AvoidFloats.hs:fi :: (Integral a, Num b) => a -> b
./XMonad/Layout/Dwindle.hs:        fi :: (Num b, Integral a) => a -> b

Синоним для `fromIntegral` ... блять ...

@ndtimofeev:
ndtimofeev

Я не помню какое звукоподражание в такой ситуации выдаёт @qnikst.

λ> :set -XApplicativeDo 
λ> :t do x <- pure True; return (if x then Nothing else Just x) 
do x <- pure True; return (if x then Nothing else Just x)
  :: Applicative f => f (Maybe Bool)
λ> :t do x <- pure True; return $ if x then Nothing else Just x 
do x <- pure True; return $ if x then Nothing else Just x
  :: Monad m => m (Maybe Bool)

Это баг или фича? Ну и на закуску:

λ> :t do x <- return  True; return  (if x then Nothing else Just x) 
do x <- return  True; return  (if x then Nothing else Just x)
  :: Monad f => f (Maybe Bool)

@ndtimofeev:
ndtimofeev

Есть список. Хочу tails с сигнатурой [a] -> [NonEmpty a]. В лоб это делается примерно так:

catMaybes . fmap nonEmpty . tails

Но это нужно сделать кучу (три) импоротов из них многие (два) содержат коллизии имён. И вообще оно как-то слишком поняно. Неужели FT-магия не спасёт меня?

@ndtimofeev:
ndtimofeev

> some . readTChan
То ощущение, когда раз 10 написал эту функцию на tryReadTChan с паттерн-матчингом и прочими радостями.

@praut:
praut

Скачать по glob-у нужные RPM-ки: lftp -c "open https://libvirt.org/sources/; mget 'libvirt*-1.3.4-1.fc23.x86_64.rpm" (с wget & curl-ом вот так вот с легонца чёт не взлетело).

@den-po:
den-po

urlMatches: "www.facebook.com/",
        schemes: ["https"],
        headerName: "User-Agent",
        headerValue: navigator.userAgent + " OPR/12/ForFacebookWithLove"

@lurker:
lurker

бывает так, что код вобщем-то, неплох, но делает не то, что нужно. удалить жалко, но необходимо. что делать в таких случаях? выводить в мертворожденный бранч, или в небытие?

@segfault:
segfault

hasktags -e $(find `pwd` -iname '*.hs' -and \( -not -path '*.stack-work*' \) -and \( -not -name 'Setup.hs' \) -and -type f)