The Opposite of a Bloom Filter – Something Similar
"A Bloom filter is a data structure that may report it contains an item that it does not (a false positive), but is guaranteed to report correctly if it contains the item (“no false negatives”). The opposite of a Bloom filter is a data structure that may report a false negative, but can never report a false positive. That is, it may claim that it has not seen an item when it has, but will never claim to have seen an item it has not.

A colleague, Jeff Smick, had need of “the opposite of a Bloom filter”, a while back, when dealing with a data stream that was pumping hundreds of thousands of events per second. First, I’ll discuss the motivation, then we’ll dig into the implementation, and, finally, talk about alternatives.

In short, it’s like a cache but one with a fixed size, collisions allowed, and with fetching happening at the same time as replacement[1]."
dedupe  algorithm 
january 2017
Stream de-duplication « Dave Gardner – PHP Developer
"Bloom filters were my first thought when trying to come up with a way of bounding memory. Bloom filters are a probabilistic data structure that is able to test if some element is a member of a set. A Bloom filter will never tell you an item is in the set if it isn’t (no false negatives), but may tell you it is in the set when really it isn’t (chance of false positives).

What I actually want is _the opposite_ of a Bloom filter."
filter  dedupe  algorithm 
january 2017
Concurrent Programming for Scalable Web Architectures
"This diploma thesis provides a comprehensive survey on the myriads of different concepts and techniques of concurrency inside web architectures. It incorporates research publications, hands-on reports and also regards popular programming languages, frameworks and databases. We devise an architectural model for scalable web architectures and provide separate concurrency analyses of three main components: web servers, application servers and storage backends. We examine the relations between concurrency, scalability and distributed systems and dare an outlook on the near future."
architecture  distributed  concurrency 
november 2016
44 engineering management lessons
"Welcome to engineering management. It’s fun, it’s exhausting, it’s rewarding — but most importantly it’s new! What worked for you before won’t work now. You’ll have to acquire a new set of skills, and shed some bad habits in the process. Here is a short guide to get you started."
october 2016
Thunderbolt 2 eGPU using AKiTiO Thunder2 PCIe box | Odd One Out
"I wanted to try a simpler and cheaper external GPU (eGPU) setup than I have used previously. For this I use the AKiTiO Thunder2 which is a fairly inexpensive compared to the rest of the pack."
graphics  mac  egpu 
september 2016
"#TheGreatBuild was a project I started with the intention to not only inspire others to build their own ecommerce business, but a way for me to grow and learn through my own experiences. In this series, I detailed my process and steps to build and launch one of my ecommerce businesses."
startup  business 
june 2016
Metakite Software – The Shape of the App Store
"Every developer knows how tough it can be to make a living on the App Store. There’s a lot of money being made there, but it’s not spread very evenly. Those at the top of the charts make the lion’s share of revenue, while the vast majority are left to fight over the scraps. But exactly how lopsided is it? And how does that affect an indie developer’s chances of finding success?"
appstore  business  ios 
february 2015
William Wilkinson - Manual's 2014 Sales Numbers
"Developers rarely share sales data, and understandably so. It’s hard to do so without looking like a douche. But personally I know that when I was starting out those rare peeks behind the curtain were incredibly informative and inspiring. It’s scary to enter a market without any real sense of what’s possible. Your expectations could be way too high, or so low that you never try. I want people to see that even an idiot like me can make it work, you can do it too. I’m gonna follow Marco and Monument Valley’s lead, and whip my dinky out."
appstore  business  ios  sales 
february 2015
20 Creative Ways to Upcycle Pallets in your Garden
"Recently I upcycled a pallet and large square wooden crate lying around a local landscaping yard into a mini garden shed for $7. I was so pleased with the result it made me consider other ways to reuse materials for my garden needs. With more of us conscious of repurposing rather than impacting on landfill with unnecessary waste, I thought I’d share these DIY creative ideas to upcycle free wood pallets. You may be amazed at the possibilities!"
april 2014
Total security in a PostgreSQL database
"There are lots of stories in the press about crackers accessing corporate databases. Gone are the days when prepubescent teens were the authors of most cracks. Today, data harvesting is big business and is accomplished by dedicated experts who work within a corporate infrastructure. It's not a question of how you can prevent the unauthorized access attempt — you can't — but, rather, how can you reduce the effect when it does happen.
Hacker— A hacker explores, inquires, and discovers by understanding the technology on a level rarely duplicated in normal circumstances. To be called a hacker by your peers is a badge of honor not because you do something bad but because your expertise is unparalleled.
Cracker— A hacker with malicious intent, such as vandalism, credit card fraud, identity theft, piracy, or other types of illegal activity.
This article explores the challenges of protecting your PostgreSQL (also known as Postgres) database server. PostgreSQL is a powerful open source object-relational database system. It has a proven architecture with a reputation for reliability, data integrity, and correctness. It runs on all major operating systems, including Linux®, UNIX®, and Windows®. It is fully ACID-compliant, and has full support for foreign keys, joins, views, triggers, and stored procedures (in multiple languages)."
database  development  security  postgres 
february 2014
pyeq2 - The fitting code for as a collection of Python equations that can fit themselves to both 2D and 3D data sets (curve fitting and surface fitting), output source code in several computing languages, and run a genetic algorithm for initial
"The fitting code for as a collection of Python equations that can fit themselves to both 2D and 3D data sets (curve fitting and surface fitting), output source code in several computing languages, and run a genetic algorithm for initial parameter estimation. Includes splines and user defined functions. Also fits data to over 80 statistical distributions. Passes all NIST tests for nonlinear fitting (see the unit test directory). No compiler required."
january 2014
lazy pizza dough + favorite margherita pizza | smitten kitchen
The best things to know about this recipe are that it doesn’t need to be kneaded and the yeast doesn’t need to be proofed. You simply dump and stir the whole mess together in one bowl (this will take less than 5 minutes of your time) and go on with your day; it will be ready when you are.
recipe  bread  pizza 
october 2013
"Hopscotch is a framework to make it easy for developers to add product tours to their pages. Hopscotch accepts a tour JSON object as input and provides an API for the developer to control rendering the tour display and managing the tour progress."
javascript  framework 
august 2013
iPhone Call Forwarding easy set up & iPhone Codes
"The iPhone is capable of forwarding calls, texts, data messages & more all at once or individually. This can be set to happen when you are unavailable, out of range, when busy, or all of the above. Here's how to set up & easily turn on or off these settings."
january 2013
Taking payments online (in Europe) in 2013
Finding a way to take payments for Vinetrade has been one of my biggest challenges (from which I've learnt a lot) and I thought it would be worth writing up my thoughts on the card payment market, where it's going and what Europe needs.
january 2013
Brisket of beef with delicious gravy
"This is my favourite new thing. A boneless beef brisket should cost you about £5-£6 depending on where you live and what size you buy. I discivered my local butchers stocks this regularly, so its really handy. The best thing is, you can eat as much as you want as your roast and then refrigerate the rest to add to stir fries (or do as I do and eat in sandwiches for the rest of the week!!!). I like to cook this on a weekend afternoon where I can just leave it chugging away"

Note to self: Add a tsp of English Mustard to the gravy for extra zazzle.
recipe  beef 
january 2013
"Whether you are preparing to launch an app, looking to see what phrases you may be missing out on, or want to see what your competitors are up to, Straply offers the most comprehensive set of app store optimization tools to boost your app’s rank."
ios  sales  marketing  analytics 
january 2013
PlaceIt by Breezi - Generate Product Screenshots in Realistic Environments
Drop screenshots of your app onto phones in real-world situations. Neat!
iphone  design 
january 2013
Fastest way on the web to accept online payments
"Paymill enables you to offer credit card payments on your website within a short time. There is no waiting time. You can begin immediately with the integration process, and if you like what you see, then simply activate your account. Online payment as it should be."
ecommerce  psp 
january 2013
Virtual Lighting Studio - Interactive portrait lighting
"The Virtual Lighting Studio lets you light interactively a portrait with multiple lights and see their combined effect. Choose between simple bare strobes, ring lights or softboxes to model the mood of your portraits and find out what lighting equipment you need."
photography  flash  lighting 
december 2012
Far Cry: How the Fire Burns and Spreads : Jean-Francois Levesque
"A few years ago, I got the opportunity to architect and code the fire propagation system in Far Cry 2.  At that time,  it was a gigantic task and it scared the hell out of me. Luckily, it turned out well enough."

With the upcoming Far Cry 3, several people recently asked me how the system worked. I realized that I never took the time to write it down. So, before I forget and also because it might be useful to somebody out there, here’s a high level overview of its inner workings.  Pretty programmer art included as a bonus.
gaming  programming 
december 2012
River Cottage - River Cottage Community Recipes
"I frequently turn to soda bread when the bread bin is bare. If there’s nothing for lunch or to serve with soup for supper, it's a quick and simple answer - and sustaining, too. This classic recipe lends itself to endless tweaking and variation. Slot it into your repertoire and you'll never regret it."
november 2012
Broccoli & blue cheese soup recipe - Recipes - BBC Good Food
A deliciously warming soup, perfect for lunch or chilly evenings and ready in just 30 minutes
recipe  soup 
november 2012
objclibs: Fantastic Objective-C Frameworks!
" helps you discover useful Objective-C frameworks in active development that best fit your use case."
objective-c  library  ios  cocoa 
november 2012
The River Cafe's winter minestrone
"A really thick, filling minestrone soup - tastes even better after a day"
recipe  soup 
november 2012
"Cubism.js is a D3 plugin for visualizing time series. Use Cubism to construct better realtime dashboards, pulling data from Graphite, Cube and other sources."
javascript  visualization  library 
may 2012
How to shoot a wedding - Lesson 1
"This article is designed to assist amateur photographers successfully photograph their first wedding."
photography  reference  tutorial  wedding 
may 2012
ctrlp.vim ÷ home
Full path fuzzy file, buffer, mru and tag finder for Vim.
vim  plugin 
may 2012
Global Site Speed Overview: How Fast Are Websites Around The World? - Analytics Blog
Google reveals aggregate page performance data gleaned from Google Analytics customers.
wpo  performance  web  development 
april 2012
Safari Trackers « Web Policy
"Apple’s Safari web browser is configured to block third-party cookies by default. We identified four advertising companies that unexpectedly place trackable cookies in Safari. Google and Vibrant Media intentionally circumvent Safari’s privacy feature. Media Innovation Group and PointRoll serve scripts that appear to be derived from circumvention example code.

In the interest of clearly establishing facts on the ground, this post provides technical analysis of Safari’s cookie blocking feature and the four companies’ practices."
privacy  safari  webkit  cookies  advertising 
february 2012
Detect if visitors are logged into Twitter, Facebook or Google+
"I’ve found a way to abuse the login mechanism for both Twitter and Google to detect whether a user is logged in to that service. Facebook provides an API for this. So I provide a cross-browser javascript template that works for all 3 networks."
security  appsec  privacy  exploit  twitter  facebook  google  javascript 
february 2012
GLYPHICONS - library of precisely prepared monochromatic icons and symbols.
"GLYPHICONS is a library of precisely prepared monochromatic icons and symbols, created with an emphasis on simplicity and easy orientation."
design  icons  ios  vector  retina 
january 2012
devinross/tapkulibrary - GitHub
"TapkuLibrary is an open source iOS framework built on Cocoa and UIKit intended for broad use in applications."
framework  ios  uikit  development 
january 2012
bartaz/impress.js - GitHub
"It's a presentation framework based on the power of CSS3 transforms and transitions in modern browsers and inspired by the idea behind"
css3  javascript  presenting 
january 2012
Privacy in Internet Explorer 6
To successfully use cookies, the privacy features of Microsoft Internet Explorer 6 require Web services to deploy compact policies, as defined by the Platform for Privacy Preferences (P3P) developed by the World Wide Web Consortium. The Microsoft Internet Explorer 6 privacy features filter cookies based on these compact policies, as well as the user's privacy settings. This overview educates Web services on the privacy requirements of cookies associated with their sites and on the cookie filtering implemented in Microsoft Internet Explorer 6.
p3p  privacy  ie6  ie  cookies  webdev 
november 2011 - hrtimer: index
hrtimer is a project that includes hrprofiler, a new profiler for Javascript in Mozilla, hrcov, a tool for Javascript code coverage, and hrtimer proper, a facility for script to directly access various system timers and metrics.
javascript  debugging  performance  mozilla  tool 
october 2011
Fogbugz bookmarklet query string parameters
A list of query string parameters that can be used to create new case bookmarklets.
october 2011
dkastner/jquery.iecors - GitHub
"An IE8-9 CORS driver for jQuery that uses XDomainRequest (XDR)" ...for jQuery 1.5+
jquery  ie  cors  ajax  xmlhttprequest  javascript 
october 2011
mnot/squidpeek - GitHub
"This is a quick and dirty script for getting cool per-URL statistics and sparklines out of your Squid access logs."
squid  cache  visualisation  visualization  debugging 
august 2011
accounting.js - format money / currency in JavaScript
"accounting.js is a tiny JavaScript library for number, money and currency formatting, with optional excel-style column rendering (to line up symbols and decimals). It's lightweight, fully localisable and has zero dependencies."
javascript  library  i18n 
august 2011
JavaScript tests, compatibility tables and examples
In this web site I have collected various JavaScript tests, to display code samples, have them run and check web browser compatibility.
javascript  compatibility  ecmascript  json  webdev 
august 2011
csnover/TraceKit - GitHub
"Tracekit is a JavaScript library that automatically normalizes and exposes stack traces for unhandled exceptions across the 5 major browsers: IE, Firefox, Chrome, Safari, and Opera."
javascript  debugging  library  webdev 
august 2011
l10n:pluralforms · Translate Toolkit & Pootle
This is a list of the plural forms, as used by Gettext PO, that are appropriate to each language.
i18n  language  l10n  grammar 
august 2011
Cross-domain policy file usage recommendations for Flash Player | Adobe Developer Connection
"This article discusses some of the common security issues that you should consider when deciding how to use a cross-domain policy file on your server. In general, websites using cross-domain policy files increase their security exposure. This is because the cross-domain policy file used by Flash Player allows access to information by more domains than are allowed in the default configuration. As with any security mechanism, use of the cross-domain policy requires careful analysis of the proposed application architecture and threat model to understand potential risks."
crossdomain  flash  security  csrf 
july 2011
jQuery - EPD / PECR compliant jQuery plugin for Google Analytics
jQuery plugin (why???) to show a notification bar asking for consent to set cookies, with expandable detail. For compliance with EPD / PECR cookie-related law changes.
epd  pecr  cookies  jquery 
june 2011
Subscribe to BBC Magazines - buy online
How BBC Subscriptions deals with the EPD/PECR cookie directives.
epd  pecr  cookies 
june 2011
Circular Memory Leak Mitigation
A useful list of coding patterns that cause memory leaks in IE up to and including IE7.
javascript  jscript  ie6  ie7  memory  web  development 
may 2011
Spritemapper: CSS sprite map generator using simulated annealing
"Spritemapper is an application that merges multiple images into one and generates CSS positioning for the corresponding slices. "
wpo  performance  css  images  spriting  web  development 
may 2011
Anatomy of Google analytics cookies
"Google sets four to six different cookies with cryptic names like ‘__utma’ and ‘__utmz’. Each cookie is used for different purposes. I will explain each purpose and the data the cookie holds."
google  analytics  tracking  cookies  web  development 
april 2011
Understanding the Compatibility View List
"This article describes the Compatibility View List, also known as the Compatibility List. It explains how the Compatibility View List was created, how to determine whether your site is in the list, and how to have your site removed from the list. "
ie  ie9  compatibilityview  browser  rendering  javascript  standards  html  web  development 
april 2011
Twitter From the Command Line in Python Using OAuth
Configuring an app to use OAuth properly requires a bit of legwork. My goal with this post is to save people some time by showing the complete step-by-step process of building a Python script that can tweet from the command line using OAuth. I’ve intentionally skipped over the details of how OAuth works and what all the different authentication tokens mean. This post is just about getting things done.
api  oauth  python  twitter  tweepy 
april 2011
« earlier      
accessibility actionscript actionscript2 actionscript3 admin adobe ai air ajax algorithm analysis analytics apache api apollo appcache application appstore architecture aria artwork as3 audio automation bad-practice bazaar bbc book browser browsers bug-tracking business c++ cache caching cakephp canon canvas career cdn charset cheatsheet chrome ci cli clickjacking client cocoa cocoa-touch cocos2d-iphone codereview colour comet command-line commonjs compatibility compatibilityview component components compression console cookies copyright couchdb crossdomain csrf css css3 data database debug debugging dedupe design desktop development dhtml diagram distributed django document documentation dom draganddrop e4x editor embed epd essay event-driven extension file-io filesystem filter finance firebug firefox flash flash9 flashplayer flex flex2 flex3 flex4 flickr fonts forms framework game gaming gecko gesture git github gmail google grammar graphics greasemonkey gumbo gwt html html5 http httpclient i18n icons ie ie6 ie7 ie8 ie9 infrastructure inspiration internationalisation internet ios iphone itunes java javascript jaws jquery json key-value l10n language layout leighcourt library linux llvm localisation log mac macosx management map maps markdown marketing memory microsoft mobile mocks mozilla msaa mvc mxml mysql networking nginx oauth object objective-c offline omnigraffle opacity opengl opengles opensource opera optimisation parsing patterns pecr performance perl photography php physics platform plugin png presenting privacy programming protobuf protocol prototype prototyping push python recipe reference rest rhino ria rss ruby safari sales scale scheme scm scope screenreader search security seo serialization server silverlight sockets software-engineering soup spdy specification spellchecking squid standards statistics steering storage store streaming style svg sync terminal testing to-read tool tracking tutorial twitter typography ued ui uikit uiswitch uitableview uml unit-testing usability utf8 utility ux v8 vcs vector video vim virtualbox virtualisation visualisation visualization vml voiceover wai-aria web webapp webdev webkit wedding windows wpo writing xbox360 xcode xhtml xml xss y!os yahoo yf2e yslow yui yui3

Copy this bookmark: