@ninesigns

Тег programming в блоге ninesigns

ninesigns
#ojlot 2
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
ninesigns

http://nanapro.org/en-us/
https://github.com/ocornut/imgui

Чо там QT уже можно выбрасывать?

#ojxqk 19
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
ninesigns

Как в плюсцах писать многопоточный код внутри стейт-машины, который бы не был запутаным клубком ссаных колбеков внутри одного огромного класса?

#ojscv 15
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
ninesigns

Короче, вышел Type driven developement with Idris
Есть СКИДОС на 15$: ``ctwbastacon17'' , то есть чистые байтики можно купить за всего-лишь 25 баксов.

#ojsqj
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
ninesigns

Читаю статью про то как в крестах переизобретают миксины
https://en.wikipedia.org/wiki/Policy-based_design
Ну статья как статья.

Дочитал до низу, а там:

Categories: Romanian inventions

Пиздос.

#ozzhk 2
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
ninesigns

Будущее, которое мы проебали.

#ozupe 13
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
ninesigns

Я прихожу к выводу, что самое сложное в компьютерной науке - сделать пользовательский пользовабельный интерфейс. Все ебутся в какие-то алгоритмы и матан и аналогичный мозгодроч как будто на компьютере и вправду вычисляют какую-то математику (перестаньте рапространять это заблуждение плиз). Может это связано с тем что гуй состоит из нюансов и плохо генерализуется и абстрагируется, в двух случаях из трёх чтобы было удобно нужно делать кастомные виджеты / контролы / whatever you call it, и в трёх случаях из трёх выкинуть их и переделать полностью потому что изначалные предпосылки были не верны. Может это связано с выученным пренебрежением к "формошлепству" которое часто прикрывает банальное неосиляторство. Несмотря на то, что каждая пользовательская программа состоит из интерфейса на 60% (я не про тот случай когда весь код в Form1 плиз). Может это связано с высокомерием консолепердоликов не желающих признавать обычных людей за компокудастером, тип "я буковки в консоль перд перд и ты так делай" (им так удобно). А потом мы обижаемся что везде всё на жаваскриптах и электронах и эштиэмеле. Ну а как ещё может быть если вы компилястеры не осиливаете сделать на нативных окошках? Чей это проёб? Жаваскриптеры клепали интерфейсы всю свою ёбаную жизнь и знают пару приёмов, многие из них делали для себя, а оказалось ещё и для людей. Кароч если ты не можешь спроектировать юзеринтерфейс и не хочешь учиться - вон из профессии.
Я не умею если чо.

#ceebw 21
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
ninesigns

когда я вижу, как какой-нибудь мамкин хуесос чо-то там вякает про КРАСОТУ и ИЗЯЩНОСТЬ в контексте программирования, мне хочется его обоссать. нет блять никакой красоты и никакой изящности в совершенно утилитарных вещах. это как блять восхищаться нормально проложенными и сваренными трубами канализации, по которым течёт обычное человеческое говно. или вакциной от гриппа, например. все эти вещи помогают современному человеку не сдохнуть в первые 20 лет жизни от ебучего быта. это сервисы, это то, что помогает чёртовым ходячим кускам мяса поменьше страдать, влача своё жалкое существование на этом ёбаном голубом шарике. утилитарные вещи незаметны, привычны, модернизируемы и, самое главное, заменяемы. ту же самую задачу выполняют компьютерные программы. мне совершенно до пизды насколько красивее прыщей бсд укладывает байтики в оперативную память. работает? заебись. работает ещё лучше? ещё более заебись. быстрее откроется браузер, в котором я безо всякого восхищения жамкну на спиддиал чтобы сходить на рампу и заказать стафф.

#ootwjs 15
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
ninesigns

I learned to program on a course that follows SICP, I spent all my college years learning how to program from first principles, building all the pieces from scratch. Building compilers, soft threads implementations, graph parsing algorithms... and I was happy with that way of programming!

Today I'm an iOS developer

#oojuoo 2
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
ninesigns
  • Ставим rtags через ``M-x package-list-pachages''
  • Ставим rtags daemon
  • Для текущего проекта генерим JSON compilation datatabse

    !cmake . -DCMAKE_EXPORT_COMPILE_COMMANDS=1

  • Если проект не на cmake, ставим bear (есть
    в debian).

  • Делаем bear make
  • Делаем rc -J . в каталоге с compile_commands.json

Наслаждаемся несосущей навигацией по плюсовому проекту из любимого редактора.

#ooweun 2
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
ninesigns

Зачем брать язык под задачу, когда можно брать задачи под язык?

#iaidt 4
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
ninesigns

когда хаскелистам нехуй делать они занимаются микробенчмарками
http://lionet.livejournal.com/137511.html

#iavbb
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
ninesigns
#icjgu
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
ninesigns

Один из главных отососов в современных языках программирования - это отсутсвие во многих из них поддержки keyword arguments.

Эта хуйня существенно повышает читаемость и, как следствие, качество кода.

В некоторых ЯП, в которых есть встроеные литералы для словарей проблема может решаться ими.
В остальных - это мрак, отсос и говно.

Как ни странно, божественная статическая типизация тут не роляет совершенно. Ведь очень легко перепутать аргументы с одинаковыми типами местами и потом долго ломать голову какого Х не работает. В случае keyword args достаточно поверхностного осмотра кода, чтобы понять что не так.

#iofkh 24
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
ninesigns

GPU text rendering with vector textures.
http://wdobbie.com/post/gpu...ith-vector-textures/
demo

#ipchj
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
ninesigns

ADTs in Typed Racket with macros

Немного изящного (макроебства)[http://lexi-lambda.github.i...racket-with-macros/] и в тайпед/ракетке можно юзать ADT с паттерн матчингом.
(Прямо как во взрослых крутых языках).

(define-datatype Expr
  (Value Number)
  (Add Expr Expr)
  (Subtract Expr Expr)
  (Multiply Expr Expr)
  (Divide Expr Expr))

(: evaluate (Expr -> Number))
(define (evaluate e)
  (match e
    [(Value x)      x                            ]
    [(Add a b)      (+ (evaluate a) (evaluate b))]
    [(Subtract a b) (- (evaluate a) (evaluate b))]
    [(Multiply a b) (* (evaluate a) (evaluate b))]
    [(Divide a b)   (/ (evaluate a) (evaluate b))]))

> (evaluate (Add (Value 1)
                 (Multiply (Divide (Value 1) (Value 2))
                           (Value 7))))
4 1/2

Интересно, ебанется ли кто-нить достаточно чтобы набыдлить какой-нить аналог хаскеля или scalaz?

#icpaa 11
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
ninesigns

Просто и элегантно.
Спасибо динамической типизации!

#lang racket
(require math)
(require racket/match)

(define (inverse func)
  (match func
    ['exp log]
    ['cos acos]
    [_ #f]))

(printf "Inv[~a](~a) = ~a\n" 'exp (exp 1) ((inverse 'exp) (exp 1)))
(printf "Inv[~a](~a) = ~a\n" 'cos 1       ((inverse 'cos) 1))

http://pasterack.org/pastes/74110

Inv[exp](2.718281828459045) = 1.0
Inv[cos](1) = 0
#iclcy 4
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
ninesigns

Охуенно выразительно и красиво. Спасибо статической типизации.

struct Node<T> { 
    prev: Raw<T>, 
    next: Link<T>, 
    elem: T, 
}

type Link<T> = Option<Box<Node<T>>>;

struct Raw<T> { 
    ptr: *mut Node<T>, 
}

pub struct LinkedList<T> { 
     len: usize, 
     head: Link<T>, 
     tail: Raw<T>, 
}
#ipjpp
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
ninesigns

Новая ракетка вышла.

Roughly, hygienic macro expansion is desirable for the same reason as lexical scope: both enable local reasoning about binding so that program fragments compose reliably. The analogy suggests specifying hygienic macro expansion as a kind of translation into lexical-scope machinery. In that view, variables must be renamed to match the mechanisms of lexical scope as macro expansion proceeds. A specification of hygiene in terms of renaming accommodates simple binding forms well, but it becomes unwieldy for recursive definition contexts (Flatt et al. 2012, section 3.8), especially for contexts that allow a mixture of macro and non-macro definitions. The renaming approach is also difficult to implement compactly and efficiently in a macro system that supports “hygiene bending” operations, such as datum->syntax, because a history of renamings must be recorded for replay on an arbitrary symbol.

In a new macro expander for Racket, we discard the renaming approach and start with a generalized idea of macro scope, where lexical scope is just a special case of macro scope when applied to a language without macros. Roughly, every binding form and macro expansion creates a scope, and each fragment of syntax acquires a set of scopes that determines binding of identifiers within the fragment. In a language without macros, each scope set is identifiable by a single innermost scope. In a language with macros, identifiers acquire scope sets that overlap in more general ways.

http://www.cs.utah.edu/plt/scope-sets/index.html

#iakrt
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
ninesigns

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

http://neuralnetworksanddeeplearning.com/

#iciyw 4
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.

Добавить пост

Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
Для форматирования текста используется Markdown.