Skip to content

Instantly share code, notes, and snippets.

View octavian-nita's full-sized avatar
:octocat:

Octavian Nita octavian-nita

:octocat:
View GitHub Profile
@octavian-nita
octavian-nita / shuffle.js
Created July 10, 2017 11:08
Shuffles and (re)names a set of JPG files. Might be useful when photographers deliver digital photos to clients...
(function () {
'use strict';
function shuffle(arr, howManyTimes = 3) {
if (!Array.isArray(arr)) {
return;
}
while (howManyTimes-- > 0) {
for (let i = arr.length - 1; i > 0; i--) {
@octavian-nita
octavian-nita / ReflectionUtils.java
Last active January 5, 2018 16:16
Caching reflection accesses in Java (from the Spring Framework code base)
/**
* Heavily inspired by Spring's {@link org.springframework.util.ReflectionUtils}
* but preferring not to mess with it, as per its own documentation.
*/
void clearCache() { declaredMethodsCache.clear(); }
///////////////////////////////////////
//
// Spring code base (more or less)
@octavian-nita
octavian-nita / new-git-project.bat
Created March 3, 2017 10:30
New git / GitHub project
set REPOSITORY_NAME=mirelanita
set GITHUB_USERNAME=octavian-nita
echo "# %REPOSITORY_NAME%" >> README.md
git init
git add README.md
git commit -m "first commit"
git remote add origin https://github.com/%GITHUB_USERNAME%/%REPOSITORY_NAME%.git
git push -u origin master
(function () {
'use strict';
const out = document.getElementById('out');
function array(arrayLike) { return Array.prototype.slice.call(arrayLike); }
function cl() { if (out) { out.textContent = ''; } }
function pr() { if (out) { out.textContent += array(arguments).join(' ') + '\n'; } }
function p() { if (out) { out.textContent += array(arguments).join('\n') + '\n'; } }
class GameView extends Function {
@octavian-nita
octavian-nita / VPT.java
Created November 28, 2016 13:43
The Visitor design pattern in Java
import static java.util.Arrays.asList;
interface BaseVisitor {
default void visit(Base base) {
if (base != null) {
base.foo();
System.out.println();
}
}
@octavian-nita
octavian-nita / responsive-full-background-images.css
Created October 17, 2016 16:19
Responsive Full Background Images
/* based on http://sixrevisions.com/css/responsive-background-image/ & comments */
html {
background: #464646 url("img/bg-photo.jpg") no-repeat fixed center center;
background-size: cover;
height: 100%;
transform: rotate(0);
}
@media only screen and (max-width: 767px) {
@octavian-nita
octavian-nita / TypeValue.java
Last active June 4, 2019 12:17
"Dynamic" Enums
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
import java.io.Serializable;
import java.lang.reflect.Constructor;
import java.util.HashMap;
import java.util.Map;
import java.util.TreeMap;
import static org.slf4j.LoggerFactory.getLogger;
@octavian-nita
octavian-nita / git_submodules.md
Created April 20, 2016 14:18 — forked from gitaarik/git_submodules.md
Git Submodules basic explanation

Git Submodules basic explanation

Why submodules?

In Git you can add a submodule to a repository. This is basically a repository embedded in your main repository. This can be very useful. A couple of advantages of using submodules:

  • You can separate the code into different repositories.
@octavian-nita
octavian-nita / CustomTableToTableAdapter.java
Created February 24, 2016 16:44
Adapter design pattern applied
package ...;
import static ...Validation.required;
import static org.apache.commons.lang.time.DurationFormatUtils.formatDuration;
import org.joda.time.DateTime;
import org.joda.time.Duration;
import org.joda.time.format.DateTimeFormat;
import org.joda.time.format.DateTimeFormatter;
@octavian-nita
octavian-nita / ConvertUtil.java
Last active April 12, 2016 13:01
Type-conversion utilities
public static <TO extends Enum<TO>, FROM extends Enum<FROM>> TO convert(Class<TO> toType, FROM value) {
return convert(toType, value, null);
}
public static <TO extends Enum<TO>, FROM extends Enum<FROM>> TO convert(Class<TO> toType, FROM value, TO defaultValue) {
return value == null ? defaultValue : Enum.valueOf(toType, value.name());
}