Skip to content

Instantly share code, notes, and snippets.

@jesslilly
jesslilly / ProductControl.cs
Last active August 11, 2023 17:09
How would you refactor this code?
using System.Collections.ObjectModel;
using System.Runtime.CompilerServices;
using System.Security.Cryptography.X509Certificates;
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
namespace MyApplication.Web.Controllers
{
public class ProductControl : Controller
{
@DanDiplo
DanDiplo / JS-LINQ.js
Last active October 31, 2024 12:33
JavaScript equivalents of some common C# LINQ methods. To help me remember!
// JS array equivalents to C# LINQ methods - by Dan B.
// First: This version using older JavaScript notation for universal browser support (scroll down for ES6 version):
// Here's a simple array of "person" objects
var people = [
{ name: "John", age: 20 },
{ name: "Mary", age: 35 },
{ name: "Arthur", age: 78 },
{ name: "Mike", age: 27 },
function foo() {
var er = new Error('foo() has been removed in favor of bar(). Please update your java scripts codes.')
Error.captureStackTrace(er, foo)
throw er
}
function bar() {
console.log('ok')
}
@jesslilly
jesslilly / Cake.java
Last active August 29, 2015 13:57
Jetty, Jersey, Guice, JAXB Sample
// See http://blog.bdoughan.com/2011/06/using-jaxbs-xmlaccessortype-to.html
@XmlAccessorType(XmlAccessType.PUBLIC_MEMBER)
@XmlRootElement
public class Cake implements PlainTextBean {
private String type;
// The getter is up here since the order of fields affects the order in the
// xml.
public String getType() {
return type;
<p>The files that could have been potentially accessed included a ton of sensitive information: SSL keys, database passwords with read/write access to our production databases, basically everything you never want a third party to see. Somebody with access to the database could replace npm modules with malicious payloads. I don't want to blur the truth here: this could have been a disaster. It is very much like the <a href="http://venturebeat.com/2013/01/30/rubygems-org-hacked-interrupting-heroku-services-and-putting-millions-of-sites-using-rails-at-risk/">rubygems.org security breach</a> in early 2013, and we are similarly lucky that the effect was not much much worse.</p>
<p>Thankfully, there's no evidence that, other than ourselves, the engineers who reported the bugs, and a few members of the GitHub security team who knew about the issue, anyone knew about this hole. But, in the interests of transparency, we should be clear that we can't <strong>prove</strong> that: the logs we kept at the time were not su
@jesslilly
jesslilly / Hello.groovy
Last active August 29, 2015 13:57
Just a little groovy exploration
#!/usr/bin/env groovy
// GROOVY STYLE!!!!!!!!!!!!!!!!
def a = new ArrayList<String>()
a.add("Hello")
a.add("my")
a.add("name")
a.add("is")
a.add("Jess")
@jesslilly
jesslilly / stack.js
Created March 16, 2014 02:28
Stack with push, pop, and min all of complexity O(1). With unit tests.
#!/usr/bin/env node
/*
* Design a stack with a push, pop, and min method.
* Min returns the smallest element.
* All methods must operate in O(1) time.
* I implemented this with simple numbers, but I could enhance it
* to use objects with a comparator function.
*/
$ find node_modules -name 'README*' | xargs wc -c | tail -1
531452 total
$ find static -type f | xargs wc -c | tail -1
820587 total
@jesslilly
jesslilly / groupBy.js
Last active January 4, 2016 03:58
Function to group an array of x,y data. Useful for charting. Requires underscore.js.
/**
* @method
* @public
* @description Take an array of objects and convert to an array of pairs whose
* xCol are grouped and yCol values are aggregated somehow. If
* grouping by day or month, dates must be in ZULU format strings!
* Original implementation returned an object with keys = xCol and
* values = yCol. It worked great but js maps(objects) cannot be
* sorted!
* @param {array}
@jesslilly
jesslilly / logaxParserSpec.js
Created January 14, 2014 13:48
Parameterized jasmine test for your logax parser. https://github.com/jesslilly/logax. This is a really good idea to make sure that minor changes to your parser don't break your JSON output. Thanks to https://gist.github.com/basti1302/5051200 for the parameterized test gist. This test is in javascript, not coffeescript. This is a template. You wi…
var fs = require('fs');
var exec = require('child_process').exec, child;
// Inputs
var inputDir = './developer/test/unit/data/input/';
var expectedDir = './developer/test/unit/data/expected/';
var outputDir = './developer/test/unit/data/output/';
var parserA = './server/load-it/logax-a-parser.js';
var parserB = './server/load-it/logax-b-parser.js';
var inputFiles = new Array(3);