Skip to content

Instantly share code, notes, and snippets.

@valotas
valotas / pre-push.sh
Created July 24, 2015 13:16
git-hooks: check if branch name is on par with pom's version
#!/bin/bash
# Run the following command in the root of your project to install this pre-push hook:
# cp git-hooks/pre-push .git/hooks/pre-push; chmod 700 .git/hooks/pre-push
if [ -z "$BRANCHES_TO_SKIP" ]; then
BRANCHES_TO_SKIP=(master develop test)
fi
BRANCH_NAME=$(git symbolic-ref --short HEAD)
BRANCH_NAME="${BRANCH_NAME##*/}"
@valotas
valotas / run.js
Created August 27, 2011 14:23
Trying to make a small scrapy like app with nodejs
var scrapy = require('./scrapy.js').scrapy,
getAdFromTD = function( $td ) {
var ad = {
title: $td.find('a').html().replace(/\s*$/g, '')
},
type;
$td = $td.next();
ad.address = $td.find('a').html().replace( /<br>/g, ',' );
@valotas
valotas / HttpServletRequestDecoratorFilter.java
Created September 11, 2011 11:18
Decorator pattern with HttpServerRequest
public class HttpServletRequestDecoratorFilter implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
//do nothing
}
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
request = decorate(request);
@valotas
valotas / BetterJerseyTest.java
Created April 9, 2012 16:42
Better JerseyTest
public class BetterJerseyTest extends JerseyTest {
//Fire up jersey with Guice
private static final AppDescriptor APP_DESCRIPTOR = new WebAppDescriptor.Builder("com.some.package.name")
.filterClass(GuiceFilter.class)
.contextPath("jersey-ctx-path")
.servletPath("/")
.clientConfig(new DefaultClientConfig(JacksonJaxbJsonProvider.class))
.build();
@valotas
valotas / GrizzlyWebServer.java
Created May 1, 2012 13:43
Jersey + Guice + Grizzly
public class GrizzlyWebServer {
private static final Logger logger = LoggerFactory.getLogger(GrizzlyWebServerService.class);
public static final void main(String[] args) throws IllegalArgumentException, IOException {
HttpServer server = startWebServer();
System.out.println("Jersey started");
if (logger.isInfoEnabled()) {
logger.info("Jersey web app started with Grizzly web container");
}
@valotas
valotas / override-app-render.ts
Last active December 31, 2015 07:49
A way to override express' app.render function
app.use((req: express.Request, resp: express.Response, next?: Function) => {
var render = resp.render;
resp.render = (view: string, options?: any, fn?: any) => {
if ('function' == typeof options) {
fn = options;
options = {};
}
render.call(resp, view, options, (err, html) => {
if (html) {
/*eslint-env jasmine*/
import Rx from 'rxjs';
fdescribe('TestScheduler', () => {
describe('createHotObservable()', () => {
it('should create a hot observable emmiting the values given as marble strings', () => {
//given
const scheduler = new Rx.TestScheduler(null);
@valotas
valotas / index.html
Last active May 15, 2017 12:00
Promise.inSequence
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jasmine/2.3.4/jasmine.min.css">
<script src="http://cdnjs.cloudflare.com/ajax/libs/jasmine/2.3.4/jasmine.min.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/jasmine/2.3.4/jasmine-html.min.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/jasmine/2.3.4/boot.min.js"></script>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>Promise.inSequence</title>
@valotas
valotas / index.js
Last active September 18, 2017 20:40
download vscode vsix files
const { JSDOM } = require("jsdom");
const semver = require("semver");
const Listr = require("listr");
const { Observable } = require("rxjs");
const http = require("https");
const fs = require("fs");
function fetchPluginInfo(plugin) {
return JSDOM.fromURL(
`https://marketplace.visualstudio.com/items?itemName=${plugin}`
@valotas
valotas / index.html
Last active August 15, 2018 10:22
RxJs Marble testing
<!DOCTYPE html>
<html>
<head>
<script src="https://npmcdn.com/@reactivex/rxjs@5.0.0-beta.2/dist/global/Rx.KitchenSink.umd.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jasmine/2.3.4/jasmine.min.css">
<script src="http://cdnjs.cloudflare.com/ajax/libs/jasmine/2.3.4/jasmine.min.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/jasmine/2.3.4/jasmine-html.min.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/jasmine/2.3.4/boot.min.js"></script>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">