LINUX.ORG.RU

Сообщения fmdw

 

Гентушники бойкотируют Габриэля?

Форум — Development

Недавно поднимал виртуалку на генте для nightly builds одной софтины на haskell, и решил в кои-то веки вылезти из песочниц. Так оказалось, что в оверлее gentoo-haskell есть все зависимости, кроме pipes*. Разве тамошние ебилды не генерятся автоматически на основе hackage?

cast qnikst

 

fmdw
()

Вопрос по линзам

Форум — Development

Чтение манов — для слабаков, а талмуда по lens — тем более. Вопрос: как совместить два действия над одним значением изящнее, чем:

import Control.Lens

on1 :: (b -> a -> c) -> (a -> b) -> a -> c
on1 f g a = f (g a) a

main = do
    print $ on1 (_1 +~) (view _2) (1, 2)
    print $ on1 (views _1) ((+) . view _2) (1, 2)

 ,

fmdw
()

Web-фреймворк и сервер для Haskell

Форум — Development

Разыскивается фреймворк для создания веб-морды для некой разработки. Что нужно:

  1. легковесность (!)
  2. умение раздавать статику
  3. REST API желательно должно как-то генерироваться (hackage://rest-gen?)
  4. Собственный HTTP сервер

Что не обязательно:

  1. Performance

Что совсем не нужно:

  1. Шаблонизатор
  2. Интерфейс к базе

Я слышал про wai/warp, snap и happstack. Кто из них лучше в плане легковесности? Какие подводные камни у них?

 

fmdw
()

Этот ваш reference counting

Форум — Development

Во время попытки доказать одному товарищу, что Swift — ненужно, я наткнулся на интересную особенность:

import Foundation

let noLeak = 131028
let withLeak  = noLeak*10

class R {
    var _a : R?
    init(a : R?) {
        _a = a
    }
}

func test(n:Int, leak:Bool) {
    var p0 = R(a : nil)
    var p = R(a : p0)
    for _ in 1...n {
        p = R(a : p)
    }
    if leak {
        p0._a = p
    }
}

test(withLeak, true)
println("Evil leaking function")
test(noLeak, false)
println("Good function")

Первый вызов test просто течёт в лучших традициях Reference Counting, а вот второй падает со stack overflow (деаллокация, похоже, делается рекуррентно).

Интересно, есть ли такое же в Rust?

 ,

fmdw
()

Docker: сборочки от Вована, поставленные на поток?

Форум — Talks

Почитал про это оверхайпнутое поделие. Как у него обстоит дело с секьюрностью? Что мешает мне подложить в сборочку какой-нибудь убунты пару особых патчей? Как всю эту прорву контейнеров обновлять?

И пытался ли кто-нибудь это использовать на десктопе для изоляции приложений и сред разработки разных проектов?

 , ,

fmdw
()

Signal Handler — как сделать лучше?

Форум — Development

Есть код, который должен возвращать промежуточный результат при keyboard interruption. Пока я реализовал топорное решение: signal handler что-то пишет в некий MVar, а код вычисления этот MVar периодически проверяет. Всё работает, но это убого.

А как бы эту задачу решил %username%? Поделитесь best practices.

 ,

fmdw
()

Back to the 90s

Галерея — Скриншоты

В недрах корпоративной сети я набрёл на эдакий летучий голландец.

Концентрированная ностальгия: Solaris 9, CDE и Netscape Navigator, пытающийся при старте зайти на sun.com.

>>> Просмотр (1025x768, 80 Kb)

 , ,

fmdw
()

Каким софтом можно строить графики наподобие этого?

Форум — Talks

В браузере, данные должны подтягиваться с сервера.

Пример того, что нужно: http://rghost.ru/58917372.view

 ,

fmdw
()

Как нынче модно решать проблему Producer/Consumer?

Форум — Development

Мне известно несколько подходов к этой проблеме, подозреваю, что неизвестно больше:

1) Корутины. И producer и consumer живут в одном потоке, а значит реализовать, скажем, неблокирующий прелоад или гц ресурсов нельзя.

2) Iteratees, pipes и ещё десяток подобных библиотек. Более примитивны во всех смыслах, за исключением, может, pipes с его "клиент-серверной" моделью под капотом.

3) Некоторые эстеты используют продолжения. Мой бедный опыт использования продолжений подсказывает, что здесь опять проблема с взаимной блокировкой, prove me wrong.

4) Акторы, с помощью которых можно реализовать всамделишный клиент-сервер. Оверкилл.

Поскольку мне важно, чтобы consumer мог игнорировать недогруженные данные по своему усмотрению, а producer тоже был бы умным в плане использования различных эвристик, пока склоняюсь к 4, но это решение кажется слишком жирным во всех смыслах.

Можно ли дополнить этот список?

fmdw
()

Синхронизация агенды org-mode с android

Форум — Desktop

Кто-нибудь сумел это осуществить? Мне видится несколько способов:

1) Очевидный MobileOrg. Вроде работает, но бедновато.

2) org-icalendar-combine-agenda-files <-> x <-> android calendar

x <- [Google calendar, syncthing, caldav]

3) Пытаться пользоваться, собственно, emacs на самом быдлодевайсе.

На какой из способов стоит обратить внимание? Есть ли истории успеха?

 , ,

fmdw
()

RSS подписка на новые темы