Skip to content

Instantly share code, notes, and snippets.

Working from home

Alashov Berkeli alashow

Working from home
View GitHub Profile
View QueryHighlighter.kt
import android.text.SpannableString
import android.text.TextUtils
import android.widget.TextView
import java.text.Normalizer
import java.util.Locale
import java.util.regex.Pattern
alashow / webtextsSolver.js
Created Nov 15, 2019
Solves multiple choice question parts of webtexts/soomo learning. Just run this code on browser's console.
View webtextsSolver.js
setTimeout(resetQuestions, 1500);
setTimeout(solveQuestions, 3000);
function prepareAnswers() {
$.each($.find('.multiple-choice-question-element'), function(i, wrapper) {
wrapper = $(wrapper);
var button = wrapper.find('.save-answers');
var choice = $(wrapper.find('.question-choice')[0]).find('input');
View AppBarLifListeners.kt
// activity
private val onAppBarLiftListeners = HashSet<AppBarLiftListener>()
val appBar = findViewById<AppBarLayout>(
if (appBar != null) {
appBar.addOnOffsetChangedListener(AppBarLayout.OnOffsetChangedListener { _, verticalOffset ->
onAppBarLiftListeners.forEach { it.onAppBarLift(verticalOffset) }
alashow / DateTimePickerLocalizer.kt
Created May 4, 2019
Android Localize months in DatePickerDialog or am/pm in TimePickerDialog
View DateTimePickerLocalizer.kt
import timber.log.Timber
* Patch date picker or time picker to use custom months or am/pm
* From:
* @param picker [android.widget.DatePicker] or [android.widget.TimePicker]
* @param values months or am/pm
fun localizePicker(picker: Any, values: Array<String>) {
alashow / CalendarDateRange.kt
Created Apr 17, 2019
Kotlin Calendar/Date utils
View CalendarDateRange.kt
import java.util.Calendar
import java.util.Date
class CalendarRange(override val start: Calendar, override val endInclusive: Calendar, val field: Int = Calendar.DAY_OF_YEAR) :
ClosedRange<Calendar>, Iterable<Calendar> {
override fun iterator(): Iterator<Calendar> {
return CalendarIterator(start, endInclusive, field)
alashow / AppViewModelFactory.kt
Last active Apr 1, 2019
ViewModel dynamic parameters hack
View AppViewModelFactory.kt
class AppViewModelFactory @Inject constructor(
private val creators: @JvmSuppressWildcards Map<Class<out ViewModel>, Provider<ViewModel>>
) : ViewModelProvider.Factory {
var onViewModelCreate: ((viewModel: ViewModel) -> Unit)? = null
override fun <T : ViewModel> create(modelClass: Class<T>): T {
var creator: Provider<out ViewModel>? = creators[modelClass]
if (creator == null) {
for ((key, value) in creators) {
View BaseActivity.kt
package tm.alashow.x.ui.base
import android.arch.lifecycle.ViewModel
import android.arch.lifecycle.ViewModelProvider
import android.arch.lifecycle.ViewModelProviders
import android.databinding.DataBindingUtil
import android.databinding.ViewDataBinding
import android.os.Bundle
alashow / Fibonacci.kt
Created Oct 2, 2017
Fibonacci in Kotlin
View Fibonacci.kt
package tm.alashow.homework.datastructures.second.kt
import java.math.BigInteger
fun main(args: Array<String>) {
object Fibonacci {
alashow /
Last active Oct 2, 2017
Fibonacci in Java using tail call.
package tm.alashow.homework.datastructures.second;
import java.util.Locale;
import java.util.Scanner;
* Created by alashov on 10/1/17.
public class Fibonacci {
# run in "root" folder (e.g /home/datmusic/
chown -R datmusic:www-data storage .env
find storage -type f -exec chmod 664 {} \;
find storage -type d -exec chmod 775 {} \;
chgrp -R www-data storage .env
chmod -R ug+rwx storage .env