- Design, implement, optimize scalable systems
- Microservices architecture, serverless computing
- Java knowledge, ecosystem
- Java frameworks: Spring, Hibernate, Java EE
- Modern Java libraries, tools, best practices
# Based on https://blog.vandenbrand.org/2016/01/04/how-to-automate-your-mac-os-x-setup-with-ansible/ | |
# | |
- hosts: all | |
tasks: | |
- name: Current Dock names | |
shell: > | |
dockutil --list | | |
python -c 'import sys; [sys.stdout.write(line.split("\t")[0] + "\n") | |
for line in sys.stdin]' | |
register: dockitems |
(* | |
The zero_pad function taken from: | |
http://www.nineboxes.net/2009/10/an-applescript-function-to-zero-pad-integers/ | |
*) | |
on zero_pad(value, string_length) | |
set string_zeroes to "" | |
set digits_to_pad to string_length - (length of (value as string)) | |
if digits_to_pad > 0 then | |
repeat digits_to_pad times | |
set string_zeroes to string_zeroes & "0" as string |
# It is recommended that you save this script as an application, so you don't have to open Script editor. | |
(* | |
It all started when I wanted to join zoom faster than a human could do with no prompt like how I expected like this. | |
I first discovered zoom.us's URL scheme to join meeting, but when I found out it doesn't work, I started to make this program. | |
After this all of stuff, I finally have something that is constantly updated. | |
After this pandemic is over, development might slow down or become discontinued. | |
*) | |
global meetingNames, meetingIDs, meetingPwds, wname | |
# Compiling the app will reset all your saved meetings! | |
property meetingNames : {} |
#!/usr/bin/env python | |
# -*- coding: utf-8 -*- | |
""" | |
Outputs some information on CUDA-enabled devices on your computer, | |
including current memory usage. | |
It's a port of https://gist.github.com/f0k/0d6431e3faa60bffc788f8b4daa029b1 | |
from C to Python with ctypes, so it can run without compiling anything. Note | |
that this is a direct translation with no attempt to make the code Pythonic. |
******************************************************** | |
*** STEPS TO SYMBOLIZE A CRASH DUMP OR EXCEPTION LOG *** | |
******************************************************** | |
1) Move/copy both the crashing .app and the relevant.dSYM files into the same directory. | |
2) If the crash was in a framework, dynamic library, or bundle, you have position-independent code and must work out the *slide*. Otherwise, skip up to step 9 and use slide=0. | |
3a) If you have a crash dump, look in the *Binary Images* part of the crash log and find the framework, dynamic libray or bundle in which the crash occurred. Read the first column of the output. This is the address at which the __TEXT segment was loaded. We call it the *Actual Load Address* and denote it as *A*. |
from random import randrange | |
class MinesGrid: | |
# Implement a sparse array to optimize space. | |
MINE = -1 | |
class Row: | |
# Each row in the __a dict has the following | |
# structure a list, containing: | |
# [ empty_cells, {} ] |
# 1 <= T <= 10 | |
# 0 <= N <= 1e12 | |
# 1e3 = Thousand | |
# 1e6 = Million | |
# 1e9 = Billion | |
# 1e12 = Trillion | |
# Project Euler 17 |
# Question Description: Write a function that takes, as arguments, an integer representing line length in | |
# characters and a (long) string of text and returns the text with spaces and line breaks to produce a block of | |
# text justified to the given line length. For example, if the function were called as | |
# justify(25, "This is some sample text, really just enough to generate a few lines in the output to show what the text justify function is supposed to do.") | |
# This is some sample text, | |
# really just enough to | |
# generate a few lines in | |
# the output to show what |
# | |
# | |
# _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
# |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_| | |
# | | | | | |
# |H| |L| |W| |D| | |
# |E| |O| |O| |!| | |
# |L| |R| | |
# |L| | |
# |