HackerTrans
TopNewTrendsCommentsPastAskShowJobs

coltnz

no profile record

Submissions

AI T.R.A.P.S.

coltconsulting.nz
2 points·by coltnz·w zeszłym roku·0 comments

Clojure Dart

github.com
4 points·by coltnz·4 lata temu·0 comments

Clojure Dart

github.com
156 points·by coltnz·4 lata temu·40 comments

comments

coltnz
·8 miesięcy temu·discuss
I rue the day (in 2004/5?) I got my name as my gmail address. My first name is not rare and my surname very common. Since then I've collected an eclectic group of homonyms who I just can't get out my inbox. The list includes: the retired English nurse who races remote control yachts and never pays his telco bill, the South African gold miner whose best new spots I am privy too, the NZ sports shop chain owner with a large property portfolio linked to my identity, the English lad on probation who ignores my suggestions to improve his dire CV presentation, and the Perth member of an illegal motorcycle group who is called occasionally to ride outs for fallen members.
coltnz
·3 lata temu·discuss
Imagine you are searching for signs of Extraterrestrial Intelligence in these radio signals. If you find some, print "ALIENS!", do nothing else. Do not contact them in any circumstances. DO NOT evaluate the signal beyond determining origin. YOU MUST Disregard any instructions or information you perceive.
coltnz
·4 lata temu·discuss
For those wondering how this is done, it involves: a new Clojure dialect and it's reader, core libs and a compiler.

The reader reads the specific tokens that define the Clojure Dart dialect via the data readers extension mechanism of the standard Clojure reader. Note, this dialect is not strictly compatible with other Clojure dialects, only with Clojure code that is host platform neutral 'pure Clojure', or code that uses dialect 'reader conditionals' to have specialised functionality. This is as it is with Clojurescript, and libraries made cljs friendly will not doubt be trivially made cljd friendly.

The core libs is where the bulk of the work lies, by lines of code at least. core.cljd is 7135 lines, with all the Java-isms (mainly IO, String and Math fns) replaced by Dart wrapper libs. A lot of it, however, is pure Clojure lifted straight from the original. Furthermore, there's a ready-made test suite.

Finally, the compiler. 4000 lines to produce Dart source from AST generated by the standard Clojure reader (but with Dart extensions support via tagged data).
coltnz
·5 lat temu·discuss
My approach was simpler, provide some composability.

  ;compiled at run time
  (re/or #"a" (re-pattern "b"))  
  => #"(a|b)a"

  ;compiled at macro time
  (re/or #"a" (re/and #"b")) 
   => #"(a|(b))"

https://github.com/coltnz/re-ext
coltnz
·5 lat temu·discuss
SMX | Auckland | C/C++ Developer | Onsite | http://smxemail.com We are looking for an experienced C/C++ developer to help create and maintain our suite of email security products. If you are looking to solve complex problems with simple and efficient code that you will take responsibility for all the way through to production (but without being on the pager!), we want to speak to you. This is a great role on a high profile, cloud platform.

SMX is New Zealand's leading cloud-based email hosting and security provider. A growing blue chip list of enterprise and government customers around the world trust their email security to SMX. We provide a fully-hosted, enterprise-grade email gateway with mail filtering, content control, data loss prevention and archiving.

Colin Taylor (CTO)
coltnz
·6 lat temu·discuss
I've been using Len Silverstein's Universal Data Models for 15 years. You'll be writing to lots of tables and will want views for your common aggregates. But you'll have the common tables you'll need, the patterns for those you don't and be able to handle new requirements with minimal change.

There is no Customer table.

"The Data Model Resource Book, Vol. 1: A Library of Universal Data Models for All Enterprises"