HackerTrans
TopNewTrendsCommentsPastAskShowJobs

coltnz

no profile record

Submissions

AI T.R.A.P.S.

coltconsulting.nz
2 points·by coltnz·작년·0 comments

Clojure Dart

github.com
4 points·by coltnz·4년 전·0 comments

Clojure Dart

github.com
156 points·by coltnz·4년 전·40 comments

comments

coltnz
·8개월 전·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년 전·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년 전·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년 전·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년 전·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
·5년 전·discuss
Core code is here: https://github.com/ertugrulcetin/racing-game-cljs/blob/maste...

Looks pretty amenable to hacking with the boy.

I know we're using an engine, but still shocking how little code it is.
coltnz
·5년 전·discuss
While I've used all of them, some of their listed libraries are a little dated IMO. Of course this true of almost all mature codebases.

For the sake of the less experienced, I'd point them to these substitutions in particular:

Compojure: Reitit (which they used in the front end too, so migration maybe in progress) would be my preference for backend routing.

Component: Integrant takes Component's ideas, but prefers the flexibility of multimethods operating on plain data to the typed records approach for defining systems.

Schema: Once very popular, but superseded by clojure.spec (bigger in scope) and to a lesser degree Malli for data schemas.

Potemkin: Avoid, handy for some internal code organisation purposes but hostile to tooling and debugging IMO.
coltnz
·5년 전·discuss
SMX (http://smxemail.com) | CBD, Auckland, New Zealand, GMT+12 +- 3 | Full-time | C++ Developer

SMX aims to be a global leader in managed email security, analytics and deployment solutions.

We deliver enterprise-grade email security, analytics and messaging as-a-service, with a unique focus on the Australasian and Trans-Tasman threat landscape. As a Microsoft Co-Sell Partner and NZ All-of-Government supplier, a growing list of enterprise and government customers trust their email security to SMX.

We're looking for experienced engineers to build our bespoke mail stack which is primarily in C++ on Linux but also using Lua for orchestration.

The primary role is software development, but you will be required to configure, manage and troubleshoot email systems to ensure our customers receive world class service and uninterrupted mail flow. You will also be involved with systems integration, automated deployments, threat analysis, big data ingestion and product design. You won't be on the pager!

GMT+12 adjacent might be an option for remote work. We currently work a mixture of home and office and expect that to continue.

Visa Sponsorship is an option, we are a NZ Govt. preferred employer so very fast turnaround.

Technologies: C++14 on Linux, Lua, Redis, Ansible, Azure.

Contact: [email protected]
coltnz
·6년 전·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"