Skip to content

Instantly share code, notes, and snippets.

View jarshwah's full-sized avatar

Josh Smeaton jarshwah

View GitHub Profile
- name: create aliases for executing tests on regular database backends
lineinfile:
dest: "{{ user_home}}.profile"
line: >
alias runtests{{ (10 * item.0)|round|int }}-{{ item.1 }}='PYTHONPATH=/home/vagrant/djangodata/
tox -c /django/tox.ini -e py{{ (10 * item.0)|round|int }}{{ ("-" + item.1)|replace("-sqlite3", "") }} --
--settings=test_{{ item.1 }}'
with_nested:
- '{{ python_versions }}'
- '{{ databases }}'
@jarshwah
jarshwah / uwsgi-conf.ini
Created August 1, 2016 10:37
Config files for deploying django
# Some of the filenames have been named to make things slightly easier to understand
# uwsgi parameters that instruct uwsgi how to run
/path/to/project/uwsgi-conf.ini
# the wsgi file that django generates for your project
/path/to/yourproject/yourproject/wsgi.py
# nginx config connects to the uwsgi unix socket
/etc/nginx/sites-enabled/yourproject.conf
/etc/nginx/conf.d/yourproject_upstream.conf
@jarshwah
jarshwah / main-window.cs
Created June 9, 2016 00:04
Register a top level tab in workspace
if (options.SingleInstance) // hosted within the main window
{
container.RegisterType<ICRMViewModel, CRMViewModelSingleInstance>(Singleton);
viewManager.ViewsByRegionName["ToolbarWorkplaceRegion"].Add(
new ViewActivator { ViewType = typeof(ICRMView), ViewName = "CRMView", ActivateView = true });
}
@jarshwah
jarshwah / SearchVector.py
Created April 4, 2016 00:30
Use inner expressions
class ConcatWords(Func):
arg_joiner = " || ' ' || "
template = '%(expressions)s'
class SearchVector(SearchVectorCombinable, Func):
function = 'to_tsvector'
_output_field = SearchVectorField()
def __init__(self, *expressions, **extra):
expressions = [ConcatWords(*[Coalesce(expression, Value('')) for expression in expressions])]
Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Failed to parse template uwsgi/uwsgi.ini.erb:
Filepath: /etc/puppet/modules/uwsgi/templates/uwsgi.ini.erb
Line: 16
Detail: undefined method `sort_by' for #<String:0x2a4870f8>
at /etc/puppet/modules/uwsgi/manifests/init.pp:148 on node node.domain.com
Warning: Not using cache on failed catalog
Error: Could not retrieve catalog; skipping run
@jarshwah
jarshwah / shell.sh
Created November 17, 2015 02:40
Timing python moving if outside loop
smeatonj ~/Development
$ python3 -m timeit -s 'from testif import without_if' 'without_if(0, 100)'
100000 loops, best of 3: 4.94 usec per loop
smeatonj ~/Development
$ python3 -m timeit -s 'from testif import with_if' 'with_if(0, 100)'
100000 loops, best of 3: 5.88 usec per loop
smeatonj ~/Development
$ python3 -m timeit -s 'from testif import without_if' 'without_if(0, 10000)'
@jarshwah
jarshwah / Change Restore.diff
Created October 12, 2015 00:16
ConcatPair.coalesce() idempotent
diff --git a/django/db/models/functions.py b/django/db/models/functions.py
index ac24aa7..8139ec0 100644
--- a/django/db/models/functions.py
+++ b/django/db/models/functions.py
@@ -44,8 +44,12 @@ class ConcatPair(Func):
def as_sqlite(self, compiler, connection):
self.arg_joiner = ' || '
self.template = '%(expressions)s'
- self.coalesce()
- return super(ConcatPair, self).as_sql(compiler, connection)
cinst Atom -y
cinst cmder -y
cinst git -y
cinst git.install -y
cinst git-credential-winstore -Version 1.2.0.0 -y
cinst resharper -y
cinst sysinternals -y
cinst Devbox-Clink -y
cinst linqpad4 -y
cinst SublimeText3 -y
import random
def simulate(bank=1000.0, percentage=2.0, races=10000):
min_odds = 2.4
max_odds = 13.0
sample_odds = [3,6,21,5.5,5.5,5,2.8,18,8,6.5,4,3.3,2.4,21,5,3.2,3.3,6.5,5.5,16,3.4,26]
original_bank = bank
want_to_win = (percentage / 100) * bank
races_run = 0
wins = 0
diff --git a/tests/foreign_object/models.py b/tests/foreign_object/models.py
index e774421..1c163f5 100644
--- a/tests/foreign_object/models.py
+++ b/tests/foreign_object/models.py
@@ -278,7 +278,7 @@ class BrokenContainsRelation(StartsWithRelation):
@python_2_unicode_compatible
class SlugPage(models.Model):
- slug = models.TextField()
+ slug = models.CharField(max_length=20)