Skip to content

Instantly share code, notes, and snippets.

View tatocaster's full-sized avatar
🇺🇦

Merab Tato Kutalia tatocaster

🇺🇦
View GitHub Profile
@tatocaster
tatocaster / main.go
Created June 17, 2020 20:37
set slack status
func setSlackStatus() {
api := slack.New(SlackAccessToken, slack.OptionDebug(false))
expirationTime := time.Now().Add(time.Hour * time.Duration(3)).Unix()
err := api.SetUserCustomStatus("Gone Cycling", "🚴🏻‍♂️", expirationTime)
if err != nil {
log.Fatalf("Unable to set status : %v", err)
}
err = api.SetUserPresence("away")
if err != nil {
log.Fatalf("Unable to set presence : %v", err)
@tatocaster
tatocaster / main.go
Created June 17, 2020 20:30
fetch messages from Gmail
func getLastMessageId(srv *gmail.Service) string {
r, err := srv.Users.Messages.List(user).MaxResults(100).Q("to:testuser+garminlivetrack@gmail.com is:unread").Do()
if err != nil {
log.Fatalf("Unable to retrieve messages: %v", err)
}
if len(r.Messages) == 0 {
fmt.Println("No messages found.")
os.Exit(1)
}
return r.Messages[len(r.Messages)-1].Id
@tatocaster
tatocaster / distributed_factorial.go
Created May 21, 2020 12:05
concurrent calculation of factorial in golang
package main
import (
"fmt"
"math/big"
"runtime"
"time"
)
type computationRange struct {
@tatocaster
tatocaster / randomEmail.dart
Created December 18, 2019 09:04
select random from set
import 'dart:math';
void main() {
var _emailSet = new Set.from([
'',
''
]);
final _random = new Random();
@tatocaster
tatocaster / DesignPatterns.java
Last active November 27, 2019 20:46
Hello World using design patterns
// https://developers.slashdot.org/comments.pl?sid=33602&cid=3636102
public interface MessageStrategy {
public void sendMessage();
}
public abstract class AbstractStrategyFactory {
public abstract MessageStrategy createStrategy(MessageBody mb);
}
public class MessageBody {
setContentView(LithoView.create(this,
ListItem.create(mComponentContext)
.title("My Title")
.subtitle("SubTitle")
.listener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(MainActivity.this, "Clicked", Toast.LENGTH_SHORT).show();
}
})
@LayoutSpec
class ListItemSpec {
@OnCreateLayout
static ComponentLayout onCreateLayout(
ComponentContext c,
@Prop(optional = true, resType = ResType.DIMEN_OFFSET) int shadowRadius,
@Prop(optional = true) int color,
@Prop String title,
@Prop String subtitle) {
@tatocaster
tatocaster / MyActivity.java
Created April 30, 2017 08:49
MyActivity.java
setContentView(LithoView.create(this,
ListItem.create(mComponentContext)
.title("My Title")
.subtitle("SubTitle")
.build()));
@LayoutSpec
class ListItemSpec {
@OnCreateLayout
static ComponentLayout onCreateLayout(
ComponentContext c,
@Prop(optional = true, resType = ResType.DIMEN_OFFSET) int shadowRadius,
@Prop(optional = true) int color,
@Prop String title,
@Prop String subtitle) {
@tatocaster
tatocaster / MyActivity.java
Created April 30, 2017 08:45
MyActivity Litho
public class MyActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
final ComponentContext context = new ComponentContext(this);
final Component component = Text.create(context)
.text("Hello World!")