Skip to content

Instantly share code, notes, and snippets.

🤓
Going to Go

Chris Suszynski cardil

🤓
Going to Go
Block or report user

Report or block cardil

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@cardil
cardil / JEP.md
Last active Sep 15, 2019
[Draft] JEP - Change name of imported type (aliasing)
View JEP.md

Summary

Change name of imported type (aliasing)

Goals

The goal is to make code more productive and clean in cases where multiple classes with same name must be used in code. It should relief a developers frustration in that

@cardil
cardil / ExamplePartOfActivity.java
Last active Apr 7, 2019
MultiSelectListPreference for devices running Android in the API earlier than level 11. Support ChangeListener receiving list of selected values. Supports automatically setting of summary. Examples attached.
View ExamplePartOfActivity.java
private static OnPreferenceChangeListener autoOnChangeListener = new OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference rawPreference, Object newValue) {
List<CharSequence> selected = Arrays.asList((CharSequence[]) newValue);
if (selected.contains("1")) {
// do some work
}
return true;
}
@cardil
cardil / BOM_JS.md
Last active Jan 15, 2019
Bill of Materials (BOM) dla JS [PL]
View BOM_JS.md

Chciałem opisać koncept pracy nad dużym projektem. Wyobraźmy sobie duży projekt, wiele osób, wiele zakresów biznesowych, wiele osobnych backendów, wszystko powinno być zintegrowane do jednej spójnej aplikacji. Przy takim projekcie proponowałbym pracę w z użyciem projektu BOM (Bill of Materials).

Ten koncept wywodzi się z skomplikowanych projektów ze świata Java.

Poniżej graf przedstawiający taką strukturę.

@cardil
cardil / Installation.sh
Last active Sep 5, 2018
Linux NVidia Optimus with external monitor - enable/disable scripts tested on Ubuntu. Source article: http://www.unixreich.com/blog/2013/linux-nvidia-optimus-on-thinkpad-w520w530-with-external-monitor-finally-solved
View Installation.sh
# You will need latest NVIDIA drivers installed. At the time of writing, version is 331.20.
# On ubuntu 13.10, it looks like this:
sudo add-apt-repository ppa:xorg-edgers/ppa
sudo apt-get update
sudo apt-get install nvidia-331
# Now we need to install bumblebee:
sudo add-apt-repository ppa:bumblebee/stable
sudo apt-get install bumblebee bumblebee-nvidia bbswitch-dkms
View Example fact with error checking.rb
Fact.new(:databases) do
setcode do
output = Facter::Util::Resolution.exec('pgsql listdb')
if $?.success?
{
status: :ok,
list: output.split("\n")
}
else:
raise output
@cardil
cardil / modules.rb
Created Feb 21, 2018
Example custom fact for Facter 3+ with 2 implementations
View modules.rb
Facter.add(:modules) do
setcode { simple }
def simple
codedir = Facter::Core::Execution.exec('puppet config print codedir')
list = Facter::Core::Execution.exec("ls #{codedir}/modules").split("\n")
{
count: list.size,
list: list.freeze
@cardil
cardil / Vagrantfile
Created Sep 19, 2017
Example Vagrantfile to test puppet agent-server connections
View Vagrantfile
Vagrant.configure("2") do |config|
config.vm.box = 'boxcutter/centos7'
config.vm.define :master do |m|
m.vm.network "private_network", ip: "192.168.50.4"
m.vm.provider "virtualbox" do |v|
v.memory = 768
v.cpus = 2
end
end
@cardil
cardil / git-list-merged-branches
Last active May 16, 2017
git-list-merged-branches - A script that can find already merged branches and provide git command to remove them
View git-list-merged-branches
#!/bin/bash
getopt --test > /dev/null
if [[ $? -ne 4 ]]; then
echo "I’m sorry, `getopt --test` failed in this environment."
exit 1
fi
SHORT=d:b:e:h
LONG=date:,branches:,excluded:,help
@cardil
cardil / change-ts-to-human-readable.groovy
Created Jun 30, 2016
Changing Date from timestame to human readable Date from String
View change-ts-to-human-readable.groovy
import java.nio.file.Files
import java.nio.file.Path
import java.nio.file.Paths
directory = args[0] // directory
d = Paths.get(directory)
stream = Files.newDirectoryStream(d)
stream.each {
p = it as Path;
println "file -> ${p}"
@cardil
cardil / DozerProxyMapping.java
Last active Mar 31, 2016
DozerProxyMapping prototype idea
View DozerProxyMapping.java
ProxyConfigurator configurator = new ProxyConfigurator();
Mapping mapping = configurator.newMappingBuilder()
.from(User.class, (user) -> user.getRole().getName() )
.to(UserQuery.class, (query) -> query.getRoleName() )
.andReverseAlso()
.build();
configurator.addMapping(mapping);
configurator.addMapping(
configurator.newMappingBuilder()
You can’t perform that action at this time.