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

@ndtimofeev:
ndtimofeev

λ> type family Null :: Constraint where Null = ()
λ> type AddShow a b = (Show b, a)
λ> :kind! FoldL AddShow Null [Int, Char]
FoldL AddShow Null [Int, Char] :: Constraint
= (Show Char, (Show Int, () :: Constraint))
λ>

Так и живём.

@ndtimofeev:
ndtimofeev

Довольно забавно, но вот такой тест:

quickCheck $ frequency [(0, pure True)]

Очень плохо воспроизводится.

@ndtimofeev:
ndtimofeev

В догонку к #2862204

isDiscard :: AnException -> Bool
(discard, isDiscard) = (E.throw (E.ErrorCall msg), isDiscard)
 where
  msg = "DISCARD. " ++
        "You should not see this exception, it is internal to QuickCheck."
  isDiscard e =
    case E.fromException e of
      Just (E.ErrorCall msg') -> msg' == msg
      _ -> False

Ну вот примерно так всё там внутри и выглядит.

@lurker:
lurker

лучше и не скажешь

@waterlaz:
waterlaz

Ну отлично, блеать //_-)

 # rmmod osscore
rmmod: ERROR: Module osscore is in use

 # lsmod
Module                  Size  Used by
osscore               552069  -1
e1000e                164574  0

@qnikst:
qnikst

1.hs:46:44: error:
    • Could not deduce: q ~ (a0 -> q0)
      from the context: Cxq t q
        bound by the type signature for:
                   foo :: Cxq t q => V t -> [Def] -> [Val] -> q -> Exq t q
        at 1.hs:44:1-55
      or from: t ~ 'S a
        bound by a pattern with constructor:
                   :. :: forall (a :: S). String -> V a -> V ('S a),
                 in an equation for ‘foo’
        at 1.hs:46:6-12
      ‘q’ is a rigid type variable bound by
        the type signature for:
          foo :: forall (t :: S) q.
                 Cxq t q =>
                 V t -> [Def] -> [Val] -> q -> Exq t q
        at 1.hs:44:8
    • In the second argument of ‘(.)’, namely ‘q’
      In the first argument of ‘(=<<)’, namely ‘foo ss df vals . q’
      In the expression:
        foo ss df vals . q =<< fs =<< getValue s defs vals
    • Relevant bindings include
        q :: q (bound at 1.hs:46:23)
        foo :: V t -> [Def] -> [Val] -> q -> Exq t q (bound at 1.hs:45:1)


проблема т.к. у меня kind q зависит от значения (и типа) V t, если это V Z то kind *,  если V (S t) то * -> *.
это как-нить вообще обходится?

@lurker:
lurker

изощрённенько

<div ng-if="init">{{init()}}</div>

function SomeController ($scope) {
	$scope.init = function () {
		delete $scope.init;
		init ();
	};
}

@lurker:
lurker

https://pbs.twimg.com/media/C2V9PoEWIAA1gma.jpg:large jck, т прнс?

@ndtimofeev:
ndtimofeev

Господа java-программисты, по этому бэктрейсу можно сказать чего не хватает этому куску говна скомпилированному в 2014ом году?

ERROR: Uncaught Exception: java.lang.ExceptionInInitializerError
        at com.bric.swing.QDialog.createOKButton(Unknown Source)
        at com.bric.swing.QDialog.createDialogFooter(Unknown Source)
        at com.bric.swing.QDialog.showDialog(Unknown Source)
        at com.bric.swing.QDialog.showDialog(Unknown Source)
        at com.treestar.lib.dialogs.SDialogs.notify(Unknown Source)
        at com.treestar.lib.dialogs.SDialogs.notify(Unknown Source)
        at com.treestar.lib.dialogs.SDialogs.notify(Unknown Source)
        at com.treestar.flowjo.main.Main.javaCheck(Unknown Source)
        at com.treestar.flowjo.main.Main.initMain(Unknown Source)
        at com.treestar.flowjo.main.Main.main(Unknown Source)
Caused by: java.lang.NullPointerException
        at com.treestar.lib.FJCommand.<clinit>(Unknown Source)
        ... 10 more

Нет, исходников у меня нет.

@segfault:
segfault

Тупой вопрос: есть готовое, чтобы заменить имя файла вида

~/file/path

на

/home/user/file/path

Чтобы правильно, с учётом всех подводных камней и самому не писать?

@segfault:
segfault

Prelude> divMod 5 60
(0,5)
Prelude> divMod (-5) 60
(-1,55)

Я как-то не правильно понимаю целочисленное деление?

@segfault:
segfault

А я тут хаскельным квикчеком нашёл весёлый кейс

> d = new Date(2006, 02, 26, 02, 28, 53);
Sun Mar 26 2006 03:28:53 GMT+0600 (+06)
> d = new Date(2006, 02, 26, 0, 0, 0);
Sun Mar 26 2006 00:00:00 GMT+0500 (+05)
> d = new Date(2006, 02, 26, 1, 0, 0);
Sun Mar 26 2006 01:00:00 GMT+0500 (+05)
> d = new Date(2006, 02, 26, 2, 0, 0);
Sun Mar 26 2006 03:00:00 GMT+0600 (+06)
> d.getHours()
3

Работает в последнем хромаче, в фоксе, наоборот, час становится на 1 меньше. Гуголь чет ни чего не говорит по этому поводу. Я первооткрыватель?

@lurker:
lurker

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

@qnikst:
qnikst

все что вам хотелось знать о жуйке:

wget -qO- http://api.juick.com/messages?tag=programming | runhaskell 1.hs  > programming.csv
wget -qO- http://api.juick.com/messages?tag=мж | runhaskell 1.hs  > mjo.csv


> p <- read.table("programming.csv",header=TRUE)


> summary(p)
         author     replies          likes
 qnikst     :9   Min.   : 0.00   Min.   :0.00
 SannySanoff:3   1st Qu.: 0.75   1st Qu.:0.00
 max630     :2   Median : 6.00   Median :0.00
 OCTAGRAM   :2   Mean   :11.15   Mean   :0.25
 drvlat     :1   3rd Qu.:10.25   3rd Qu.:0.00
 justonemore:1   Max.   :81.00   Max.   :2.00
 (Other)    :2

> mjo <- read.table("mjo.csv",header=TRUE)


> summary(mjo)
       author     replies           likes
 provaton :5   Min.   :  0.00   Min.   :0.0
 Monstreek:4   1st Qu.:  0.00   1st Qu.:0.0
 Bounty   :3   Median :  2.50   Median :0.0
 O01eg    :2   Mean   : 28.45   Mean   :0.2
 Strephil :2   3rd Qu.: 17.75   3rd Qu.:0.0
 lex2d    :1   Max.   :151.00   Max.   :1.0
 (Other)  :3

@ndtimofeev:
ndtimofeev

type family TestTail t where
    TestTail (HList xs) = xs
    TestTail t          = '[t]

data HList xs where
    HCons :: x -> y -> HList (x ': TestTail y)

Интересно, зачем я всегда добавлял Nil в гетеросписки?

@lurker:
lurker

 

@ndtimofeev:
ndtimofeev

Есть тип data Box (xs :: [*]) where { Box :: (KnownNat n, Elem a xs ~ 'True) => a -> Proxy n -> Box xs }, есть типофамилия что-то вроде ForAll (cxt :: * -> Constraint) (xs :: [*]), которая конструирует констрейнт путём применения cxt ко всем типам в списке xs. Теперь я хочу функцию вида withBox :: ForAll cxt xs => Proxy cxt -> Box xs -> (forall a. cxt a => a -> t) -> t, которая будет применять функцию про констрейнт к содержимому коробки при условии, что для всех возможных вариантов содержимого коробки констрейнт определён.

@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} 
    {              
         ...
    }               
};