Each day at our company, developers are required to document their activities, painstakingly jotting down their daily work and future plans. A monotonous chore that I just really dislike.
So now, there's a scribe for that :
#!/bin/bash | |
# Colors | |
RED='\033[0;31m' | |
GREEN='\033[0;32m' | |
NO_COLOR='\033[0m' | |
BLUE='\033[0;34m' | |
YELLOW='\033[0;33m' | |
NO_COLOR='\033[0m' |
# 0 - 6. Always reset the session after these: | |
defaults -currentHost write -globalDomain NSStatusItemSelectionPadding -int 6 | |
defaults -currentHost write -globalDomain NSStatusItemSpacing -int 6 | |
# Revert to the original values | |
defaults -currentHost delete -globalDomain NSStatusItemSelectionPadding | |
defaults -currentHost delete -globalDomain NSStatusItemSpacing |
package cu.spin.catalog.ui.components | |
import android.annotation.SuppressLint | |
import androidx.compose.animation.core.animateFloat | |
import androidx.compose.animation.core.updateTransition | |
import androidx.compose.runtime.State | |
import androidx.compose.ui.Modifier | |
import androidx.compose.ui.composed | |
import androidx.compose.ui.draw.drawWithCache | |
import androidx.compose.ui.geometry.Offset |
Each day at our company, developers are required to document their activities, painstakingly jotting down their daily work and future plans. A monotonous chore that I just really dislike.
So now, there's a scribe for that :
@HiltViewModel | |
class UpdatingViewModel @Inject constructor() : ViewModel() { | |
val offset = mutableStateOf(Offset(0f, 0f)) | |
init { | |
viewModelScope.launch { | |
while(isActive) { | |
delay(50) | |
offset.value = offset.value.copy(x = offset.value.x + 1) |
package com.tonal.trainer.anvilcompilers | |
import com.google.auto.service.AutoService | |
import com.squareup.anvil.annotations.ContributesTo | |
import com.squareup.anvil.compiler.api.AnvilContext | |
import com.squareup.anvil.compiler.api.CodeGenerator | |
import com.squareup.anvil.compiler.api.GeneratedFile | |
import com.squareup.anvil.compiler.api.createGeneratedFile | |
import com.squareup.anvil.compiler.internal.asClassName | |
import com.squareup.anvil.compiler.internal.buildFile |
fun ImageVector.colorPath(pathName: String, color: Color): ImageVector { | |
val path = root.findPath(pathName) | |
val f = VectorPath::class.java.getDeclaredField("fill") | |
f.isAccessible = true | |
f.set(path, SolidColor(color)) | |
return this | |
} |
import kotlin.contracts.ExperimentalContracts | |
import kotlin.contracts.contract | |
@OptIn(ExperimentalContracts::class) | |
internal inline fun <T> List<T>.fastForEach(action: (T) -> Unit) { | |
contract { callsInPlace(action) } | |
for (index in indices) { | |
val item = get(index) | |
action(item) | |
} |
import android.os.Bundle | |
import androidx.activity.ComponentActivity | |
import androidx.activity.compose.setContent | |
import androidx.compose.foundation.background | |
import androidx.compose.foundation.layout.* | |
import androidx.compose.foundation.shape.CircleShape | |
import androidx.compose.foundation.shape.RoundedCornerShape | |
import androidx.compose.material.Card | |
import androidx.compose.material.MaterialTheme | |
import androidx.compose.material.Surface |