no-color.org is a small initiative to motivate software to use one standartized way to disable colored output. In particular, it says "Please, disable color when
#cli
NO_COLOR
env var is set". So, please, when you'll make a new CLI tool, add support for NO_COLOR
. And I promise to do the same.#cli
The Go compiler needs to be smarter — a short article why Go compiler sucks. Well, things not so bad, don't listen to me. Go is fast and cool, every release brings a lot of performance improvements, especially for garbage collector. However, there are still many things to do, especially if compare to old big compilers like gcc or clang. For instance, PGO and JIT are hard to implement but can give an amazing speed improvement, and there are no such things in Go yet. Well, there is gccgo compiler for go but it is slower than gc.
#golang
#golang
Daniel Lemire's blog
The Go compiler needs to be smarter
One of my favorite languages is the Go language. I love its simplicity. It is popular and useful in a cloud setting. Many popular tools are written in Go, and for good reasons.
I gave a talk on Go last year and I was asked for a criticism of Go. I do not…
I gave a talk on Go last year and I was asked for a criticism of Go. I do not…
Simple techniques to optimise Go programs — a few tricks on how to allocate less memory. Good stuff.
#golang
#golang
High Performance Go — materials from Dave Cheney's workshop on how to measure performance in Go and write a faster code. So hardcore.
#golang
#golang
dave.cheney.net
High Performance Go Workshop
Numbers that aren't numbers is a great article about things that are named "numbers" but cannot be correctly represented as integers. Yeah, I know, the real world is so messy and should be adjusted to let us write a beautiful simple software. Humans spoil everything.
hilton.org.uk
Numbers that aren’t numbers
‘Numbers’ that you can’t represent numerically
🔧 esbuild is a fast JS/TS bundler and minifier, kind of webpack alternative. No, it's really fast, like 10-100 times faster than webpack. It is a new project and supports not all JS (frontenders name it ECMAScript) features, so it can be used not for all projects. But give it a try! Oh, and it is written on our lovely golang.
#js #golang
#js #golang
GitHub
GitHub - evanw/esbuild: An extremely fast bundler for the web
An extremely fast bundler for the web. Contribute to evanw/esbuild development by creating an account on GitHub.
📄 Write code that is easy to delete, not easy to extend is a guide (an essay?) on when it's good to copy-paste a code and when it's not, when it's good to split a code by pieces and when it's better to keep all things together. These are hard questions but we should think and talk about it.
Tumblr
Write code that is easy to delete, not easy to extend.
“Every line of code is written without reason, maintained out of weakness, and deleted by chance” Jean-Paul Sartre’s Programming in ANSI C.
Every line of code written comes at a price: maintenance. To...
Every line of code written comes at a price: maintenance. To...
📄 penglab — Google Colab notebook with a few hash cracking tools in case you need it on a CTF.
📄 colabcat — Google Colab notebook with hashcat only but syncing with Google Drive.
And of course, remeber about our best friend, SecLists. It is a collection of common credentials, filenames, urls, and so on. Maybe, not big enough to crack something serious but good enough for CTFs and Hack The Box.
📄 colabcat — Google Colab notebook with hashcat only but syncing with Google Drive.
And of course, remeber about our best friend, SecLists. It is a collection of common credentials, filenames, urls, and so on. Maybe, not big enough to crack something serious but good enough for CTFs and Hack The Box.
🎥 Clean Code lectures from Uncle Bob ("Coding Better World Together") are amazing. It's a great walkthrough on writing maintainable code, ethics of programming, testing, refactoring, automating things, keeping balance between "fast" and "good". Examples are on Java but ideas in all other languages are pretty much the same. Definitely must-watch.
ITGram
The Zen of Go — 10 good ideas from Dave Cheney on how to write better Go code. Short and useful. #golang
Go Proverbs is another collection of cool ideas on how to Go better. This time, from Rob Pike and more Go-specific.
#golang
#golang
🎥 Extreme Programming 20 years later by Kent Beck is an interesting story about how and why Agile and TDD were born, what's behind JUnit, what the author would have done differently.
YouTube
Extreme Programming 20 years later by Kent Beck
Kent Beck invented Extreme Programming. Guest of honor of the 5th annual Lean IT Summit, he reviewed what he got right, what he got wrong, what he's still wo...
I've made and printed Gram Cards. This is a short collection of cards with phrases that (I hope so) would make me a better developer.
A side note: I had hard times diving into ImageMagick but having graphic as a code definitely worth it.
A side note: I had hard times diving into ImageMagick but having graphic as a code definitely worth it.
📄 The Automated Curse Generator is a fun article about making human-readable IDs and unforeseen consequences. Conclusions are up to you. Probably, something about priorities in business features and "keep it simple", IDK.
Have a good weekend :)
Have a good weekend :)
The Daily WTF
The Automated Curse Generator
It was 1999, and Brian's company's new online marketing venture was finally off the ground and making a profit using an off-the-shelf conglomeration of bits and pieces of various content management, affiliate program, and ad servers. Brian's team had hit…
# Learning Go
There are resources that I find helpful for learning #golang, from easy to hard:
+ An Introduction to Programming in Go is a great start, especially if this is your first language. I learned Go by this book and it was enough to make my first projects.
+ An intro to Go for non-Go developers provides a good motivation on learning Go with a lot of links and examples. However, it assumes that you already have a programming experience.
+ Go by Example is a great thing for "just show me the code" type of people (who you, most probably, are). Google often leads me on this resource when I search something practical like "golang read json". So, maybe not perfect for learning but helpful as a cheat sheet for basics.
+ Learn Go with Tests will make you familiar not only with Go but with TDD as well. it's a great way to get started with immediate result. Nothing is so motivating as immediately seeing that your first code works and does the magic.
Your best guide for more resources is gopher-reading-list. It is a collection of links on learning materials, grouped by topic and experience level.
#golang
There are resources that I find helpful for learning #golang, from easy to hard:
+ An Introduction to Programming in Go is a great start, especially if this is your first language. I learned Go by this book and it was enough to make my first projects.
+ An intro to Go for non-Go developers provides a good motivation on learning Go with a lot of links and examples. However, it assumes that you already have a programming experience.
+ Go by Example is a great thing for "just show me the code" type of people (who you, most probably, are). Google often leads me on this resource when I search something practical like "golang read json". So, maybe not perfect for learning but helpful as a cheat sheet for basics.
+ Learn Go with Tests will make you familiar not only with Go but with TDD as well. it's a great way to get started with immediate result. Nothing is so motivating as immediately seeing that your first code works and does the magic.
Your best guide for more resources is gopher-reading-list. It is a collection of links on learning materials, grouped by topic and experience level.
#golang
Ah jira, here we go again... I joined a new team, and there is Jira for tracking tasks. So, let's re-learn how to survive.
🐚 go-jira is a CLI client for Jira. It can do a lot: browse, search, create, manage, assign tasks.
🐚 micro is like nano but a bit bigger. It is a CLI text editor with friendly hotkeys and interface. I haven't used to vim, and work with go-jira is a bit faster if you edit the text without leaving the terminal. Of course, you can just use gedit/pluma/vscode as your $EDITOR.
#cli
🐚 go-jira is a CLI client for Jira. It can do a lot: browse, search, create, manage, assign tasks.
🐚 micro is like nano but a bit bigger. It is a CLI text editor with friendly hotkeys and interface. I haven't used to vim, and work with go-jira is a bit faster if you edit the text without leaving the terminal. Of course, you can just use gedit/pluma/vscode as your $EDITOR.
#cli
GitHub
GitHub - go-jira/jira: simple jira command line client in Go
simple jira command line client in Go. Contribute to go-jira/jira development by creating an account on GitHub.
🐚 git-extras is a huge collection of additional commands for git to get the project stat, automatize work with branches, help to solve common issues with commit history.
GitHub
GitHub - tj/git-extras: GIT utilities -- repo summary, repl, changelog population, author commit percentages and more
GIT utilities -- repo summary, repl, changelog population, author commit percentages and more - tj/git-extras
📚 Some fundamental theorems of matematics is a collection of 232 theorems from different fields of math, with a bit of context, some even with proofs. Some of them are understandable without remembering much about math, some of them are pretty hardcore. References list has 661 articles!
#math
#math
# Algebraic effects
1. One year ago I posted 📄 Algebraic Effects for the Rest of Us (the post is here 🇷🇺)
2. On the last weekend I read 📄Why PLs Should Have Effect Handlers. It's a bit older article but simpler and shorter. And it remind me about the topic...
3. Today I released eff — a small and simple Python library to work with algebraic effects. It is a true "pythonic" library, with context managers, metaclasses, type annotations, and global variables 🙃
https://github.com/orsinium-labs/eff
It's a part of "orsinium-labs" where I do quick experiments. Maybe, someone will find this experiment interesting and maybe even helpful. Since it's a very small library, I consider it "production ready". Have fun!
#python
1. One year ago I posted 📄 Algebraic Effects for the Rest of Us (the post is here 🇷🇺)
2. On the last weekend I read 📄Why PLs Should Have Effect Handlers. It's a bit older article but simpler and shorter. And it remind me about the topic...
3. Today I released eff — a small and simple Python library to work with algebraic effects. It is a true "pythonic" library, with context managers, metaclasses, type annotations, and global variables 🙃
https://github.com/orsinium-labs/eff
It's a part of "orsinium-labs" where I do quick experiments. Maybe, someone will find this experiment interesting and maybe even helpful. Since it's a very small library, I consider it "production ready". Have fun!
#python
📄SQLite as a document database is a short article about JSON support in one of the latest releases of SQLite. Sounds fun! It provides a noticeable data duplication but for a small pet project, why not.