jm + rules   12

The Configuration Complexity Clock
This, so much this.....
Frustratingly there are still some business requirements that can’t be configured using the new [post-config-file] rules engine. Some logical conditions simply aren’t configurable using its GUI, and so the application has to be re-coded and re-deployed for some scenarios. Help is at hand, someone on the team reads Ayende’s DSLs book. Yes, a DSL will allow us to write arbitrarily complex rules and solve all our problems. The team stops work for several months to implement the DSL. It’s a considerable technical accomplishment when it’s completed and everyone takes a well earned break. Surely this will mean the end of arbitrary hard-coded business logic? It’s now 9am on the clock.

Amazingly it works. Several months go by without any changes being needed in the core application. The team spend most of their time writing code in the new DSL. After some embarrassing episodes, they now go through a complete release cycle before deploying any new DSL code. The DSL text files are version controlled and each release goes through regression testing before being deployed. Debugging the DSL code is difficult, there’s little tooling support, they simply don’t have the resources to build an IDE or a ReSharper for their new little language. As the DSL code gets more complex they also start to miss being able to write object-oriented software. Some of the team have started to work on a unit testing framework in their spare time.

In the pub after work someone quips, “we’re back where we started four years ago, hard coding everything, except now in a much crappier language.”


(via Oisin)
configuration  scripting  dsls  script  config  rules-engines  rules  via:oisin  dsl  coding  hard-coding 
5 weeks ago by jm
The Lord British Postulate
One of the most famous attributes of Lord British is that he is almost invincible. In every Ultima game in which he has appeared, he is designed to be almost impervious to a player's character predations. However, there are ways for a player thinking outside the box to assassinate him. This phenomenon is the origin of the Lord British Postulate which states: "If it exists as a living creature in an MMORPG, someone, somewhere, will try to kill it."[7] Virtually every MMO game displays numerous instances of this, with players attempting to kill (or, in the case of friendly NPCs, cause the death of) virtually every NPC or monster, howsoever powerful, meek, friendly, or ethereal.
npcs  gaming  games  lord-british  murder  rules  mmorpgs 
march 2017 by jm
Martin Fowler's First Law of Distributed Object Design: Don’t
lol. I hadn't seen this one, but it's a good beatdown on distributed objects from back in 2003
distributed-objects  dcom  corba  history  martin-fowler  laws  rules  architecture  2003 
march 2017 by jm
A Guide to Naming Variables
good rules of thumb for variable naming, from ex-coworker Jacob Gabrielson
guidelines  rules  naming  variables  coding  style 
april 2016 by jm
Rob Pike's 5 rules of optimization
these are great. I've run into rule #3 ("fancy algorithms are slow when n is small, and n is usually small") several times...
twitter  rob-pike  via:igrigorik  coding  rules  laws  optimization  performance  algorithms  data-structures  aphorisms 
april 2015 by jm
Screen time: Steve Jobs was a low tech parent
“This is rule No. 1: There are no screens in the bedroom. Period. Ever.”
screen-time  kids  children  tv  mobile  technology  life  rules  parenting 
september 2014 by jm
3 Rules of thumb for Bloom Filters
I often need to do rough back-of-the-envelope reasoning about things, and I find that doing a bit of work to develop an intuition for how a new technique performs is usually worthwhile. So, here are three broad rules of thumb to remember when discussing Bloom filters down the pub:

One byte per item in the input set gives about a 2% false positive rate.

The optimal number of hash functions is about 0.7 times the number of bits per item.

3 - The number of hashes dominates performance.

But see also http://stackoverflow.com/a/9554448 , http://www.eecs.harvard.edu/~kirsch/pubs/bbbf/esa06.pdf (thanks Tony Finch!)
bloom-filters  algorithm  probabilistic  rules  reasoning  via:norman-maurer  false-positives  hashing  coding 
august 2014 by jm
Fighting spam with BotMaker
Some vague details of the antispam system in use at Twitter.
The main challenges in supporting this type of system are evaluating rules with low enough latency that they can run on the write path for Twitter’s main features (i.e., Tweets, Retweets, favorites, follows and messages), supporting computationally intense machine learning based rules, and providing Twitter engineers with the ability to modify and create new rules instantaneously.
spam  realtime  scaling  twitter  anti-spam  botmaker  rules 
august 2014 by jm
Peter Norvig writes a program to play regex golf with arbitrary lists
In response to XKCD 1313. This is excellent. It's reminiscent of my SpamAssassin SOUGHT-ruleset regexp-discovery algorithm, described in http://taint.org/2007/03/05/134447a.html , albeit without the BLAST step intended to maximise pattern length and minimise false positives
python  regex  xkcd  blast  rule-discovery  spamassassin  rules  regexps  regular-expressions  algorithms  peter-norvig 
january 2014 by jm
**IMPORTANT** Copyright policy - boards.ie
Boards' new post-SOPAIreland copyright policy, at least for the Rugby forum. Wonder how widespread this is to the rest of the site
boards  ireland  sopaireland  sean-sherlock  copyright  rules  forums  linking 
march 2012 by jm
ScamNailer - Anti-Phishing Filter
a generated set of SpamAssassin rules containing known-phisher addresses
scams  phishing  spear-phishing  spamassassin  rules  anti-phishing  from delicious
april 2010 by jm
spamtune.pl
'a Perl script that generates an OpenOffice.org spreadsheet which loads up SpamAssassin configuration and known spam and ham messages. Once loaded, you can tweak individual SpamAssassin scores in the spreadsheet itself and see their effect on spam/ham classification in real-time. The script also shows you the number of false positives and negatives for a set of scores in real-time.' by Raj Mathur <raju at linux-delhi.org>
spamtune  spamassassin  rules  scores  optimization  tweaking  openoffice  from delicious
april 2010 by jm

Copy this bookmark:



description:


tags: