One of the most common questions about #rust from newcomers is: "why do we have both
This article has a great answer!
&str and String"?This article has a great answer!
> Every time I want to write format a date in Ruby using strftime I have to look up the symbols for month, year, etc.
> This tool lets you just write your desired outcome (e.g. "March 3rd, 2019") and it generates the right #ruby code for you
Date strings are compatible with some other languages as well.
http://strftimer.com/
> This tool lets you just write your desired outcome (e.g. "March 3rd, 2019") and it generates the right #ruby code for you
Date strings are compatible with some other languages as well.
http://strftimer.com/
Playwright is a Node library to automate the Chromium, WebKit and Firefox browsers with a single API. It enables cross-browser web automation that is ever-green, capable, reliable and fast.
Our primary goal with Playwright is to improve automated UI testing by eliminating flakiness, improving the speed of execution and offering insights into the browser operation.
https://github.com/microsoft/playwright
#qa #ts
Our primary goal with Playwright is to improve automated UI testing by eliminating flakiness, improving the speed of execution and offering insights into the browser operation.
https://github.com/microsoft/playwright
#qa #ts
Conditional coverage based on any rules you define!
Some project have different parts that relies on different environments:
- #python version, some code is only executed on specific versions and ignored on others
- OS version, some code might be Windows, Mac, or Linux only
- External packages, some code is only executed when some 3rd party package is installed
Current best practice is to use
Read the announcing post: https://sobolevn.me/2020/02/conditional-coverage
Go star this repo: https://github.com/wemake-services/coverage-conditional-plugin
Some project have different parts that relies on different environments:
- #python version, some code is only executed on specific versions and ignored on others
- OS version, some code might be Windows, Mac, or Linux only
- External packages, some code is only executed when some 3rd party package is installed
Current best practice is to use
# pragma: no cover for this places in your project. coverage-conditional-plugin allows to use configurable pragmas that include code to the coverage if some condition evaluates to true, and fallback to ignoring this code when condition is false.Read the announcing post: https://sobolevn.me/2020/02/conditional-coverage
Go star this repo: https://github.com/wemake-services/coverage-conditional-plugin
Great talk about solving the same simple problem with three completely different languages: #csharp, #haskell, and #clojure
From one of my favourite speakers / authors out there:
> First, we'll do a brief overview of the FizzBuzz kata, and see one 'idiomatic' way to implement it in C# (the Java, Javascript, Visual Basic, etc. version would be similar, so all OO programmers are welcome). Next, most of the talk will be a live demo showing approaches to the kata in Haskell and Clojure. If you've never seen Haskell or Clojure before, but are curious about these languages, this is the talk for you! Finally, we take some of the ideas from the Haskell and Clojure implementations, and bring them back to C# for a second attempt at the kata.
From one of my favourite speakers / authors out there:
> First, we'll do a brief overview of the FizzBuzz kata, and see one 'idiomatic' way to implement it in C# (the Java, Javascript, Visual Basic, etc. version would be similar, so all OO programmers are welcome). Next, most of the talk will be a live demo showing approaches to the kata in Haskell and Clojure. If you've never seen Haskell or Clojure before, but are curious about these languages, this is the talk for you! Finally, we take some of the ideas from the Haskell and Clojure implementations, and bring them back to C# for a second attempt at the kata.
YouTube
One kata, three languages - Mark Seemann
First, we'll do a brief overview of the FizzBuzz kata, and see one 'idiomatic' way to implement it in C# (the Java, Javascript, Visual Basic, etc. version would be similar, so all OO programmers are welcome). Next, most of the talk will be a live demo showing…
❤1
> When you start learning a programming language, how much time do you spend stuck on syntax errors? Hours? Days? As someone who once spent a full day trying to debug a MapReduce build before learning that you need backslashes in multi-line bash expressions, I know it is a deeply discouraging amount of time. Lots of people have suffered through experiences like this with missing semi-colons and curly braces, but how many people do not make it past these syntax errors? How many people fall off the syntax cliff and give up on a language or just quit programming entirely?
> So with the release of Elm 0.19.1 today, I am excited to share the new and improved syntax error messages! My hope is that the new compiler feels more like a teacher, showing helpful and relevant examples when you get stuck. The remainder of this post highlights some of the messages that people are likely to see when learning Elm, so you can decide for yourself!
#elm
> So with the release of Elm 0.19.1 today, I am excited to share the new and improved syntax error messages! My hope is that the new compiler feels more like a teacher, showing helpful and relevant examples when you get stuck. The remainder of this post highlights some of the messages that people are likely to see when learning Elm, so you can decide for yourself!
#elm
Let your documentation be your testing suite! Now for #js
Doctests are my favourite tests.
https://github.com/supabase/doctest-js
Doctests are my favourite tests.
https://github.com/supabase/doctest-js
⚡Breaking news!
Introducing Hanami::API: It's a minimal, extremely fast, lightweight Ruby framework for HTTP APIs.
http://hanamirb.org/blog/2020/02/26/introducing-hanami-api.html
#ruby
Introducing Hanami::API: It's a minimal, extremely fast, lightweight Ruby framework for HTTP APIs.
http://hanamirb.org/blog/2020/02/26/introducing-hanami-api.html
#ruby
#ts has Turing-complete type system. It means that you can write any program with just types.
Here's an amazing example:
> This project attempts to push TypeScript's type system to its limits by actually implementing various functions and algorithms, purely on top of the type system.
> Every implementation includes comments describing in detail what's going on. Some functions and algorithms use creative (and sometimes not officially supported) solutions to overcome some limitations of the type system.
https://github.com/ronami/meta-typing
Here's an amazing example:
> This project attempts to push TypeScript's type system to its limits by actually implementing various functions and algorithms, purely on top of the type system.
> Every implementation includes comments describing in detail what's going on. Some functions and algorithms use creative (and sometimes not officially supported) solutions to overcome some limitations of the type system.
https://github.com/ronami/meta-typing
⚡Breaking news!
Rome is finally released!
https://github.com/facebookexperimental/rome
It is still highly experimental and stuff, but you can have a look at the source code and try it.
#ts #js
Rome is finally released!
https://github.com/facebookexperimental/rome
It is still highly experimental and stuff, but you can have a look at the source code and try it.
#ts #js
A commandline tool + #python library to glitchify images and even make GIFs out of them! Featuring 10 different levels of glitching intensity! The algorithm used to create glitched images is a slightly modifed version of the popular ImageGlitcher tool's algorithm, so you can expect the glitched images to look really cool!
https://github.com/TotallyNotChase/glitch-this
https://github.com/TotallyNotChase/glitch-this
Director is a simple and rapid framework used to manage tasks and build workflows using Celery.
The objective is to make Celery easier to use by providing:
- a WebUI to track the tasks states,
- an API and a CLI to manage and execute the workflows,
- a YAML syntax used to combine tasks into workflows,
- the ability to periodically launch a whole workflow,
- and many others.
https://github.com/ovh/celery-director
#python
The objective is to make Celery easier to use by providing:
- a WebUI to track the tasks states,
- an API and a CLI to manage and execute the workflows,
- a YAML syntax used to combine tasks into workflows,
- the ability to periodically launch a whole workflow,
- and many others.
https://github.com/ovh/celery-director
#python
> My honeymoon with the #go language is extremely over.
> This article is going to have a different tone from what I've been posting the past year - it's a proper #rant. And I always feel bad writing those, because, inevitably, it discusses things a lot of people have been working very hard on.
> If you're already heavily invested in Go, you probably shouldn't read this, it'll probably just twist the knife. If you work on Go, you definitely shouldn't read this. I've been suffering Go's idiosyncracies in relative silence for too long, there's a few things I really need to get off my chest.
> This article is going to have a different tone from what I've been posting the past year - it's a proper #rant. And I always feel bad writing those, because, inevitably, it discusses things a lot of people have been working very hard on.
> If you're already heavily invested in Go, you probably shouldn't read this, it'll probably just twist the knife. If you work on Go, you definitely shouldn't read this. I've been suffering Go's idiosyncracies in relative silence for too long, there's a few things I really need to get off my chest.
> In recent years, many language ecosystems have developed automatic code formatters to reduce the mental overhead of code readers and therefore to share code more easily. These tools work by ensuring that all code written in the same language looks the same. Some examples of these tools include gofmt for Go or mix format for Elixir. The Erlang community was lacking a tool like this, so we created a rebar3 plugin just to automatically format code.
> In this article we’ll discuss the history of the Erlang parsing and formatting tools, the challenges of developing a formatter and the resulting tool that we created. Learn how you can use it and customize it to your needs.
#erlang
> In this article we’ll discuss the history of the Erlang parsing and formatting tools, the challenges of developing a formatter and the resulting tool that we created. Learn how you can use it and customize it to your needs.
#erlang
Build complete frontend features, even if your API doesn't exist.
Mirage #js is an API mocking library that lets you build, test and share a complete working #js application without having to rely on any backend services.
https://miragejs.com/
Mirage #js is an API mocking library that lets you build, test and share a complete working #js application without having to rely on any backend services.
https://miragejs.com/
> Approachable ideas and best practices to help engineering teams apply the principles of functional programming to high-level design and architecture.
> Many articles on functional programming, or FP, focus on low-level coding practices (such as avoiding side effects) and FP-specific patterns (such as the dreaded monad). They don’t, however, touch on high-level design and architecture. Yet FP principles can be applied at larger scales. In fact, many popular frameworks and architectural styles, from serverless on the backend to Redux/Elm-style frameworks on the frontend, have their roots in functional programming.
> When used appropriately, FP principles can reduce complexity while increasing the testability and maintainability of an application. This is functional architecture.
> Many articles on functional programming, or FP, focus on low-level coding practices (such as avoiding side effects) and FP-specific patterns (such as the dreaded monad). They don’t, however, touch on high-level design and architecture. Yet FP principles can be applied at larger scales. In fact, many popular frameworks and architectural styles, from serverless on the backend to Redux/Elm-style frameworks on the frontend, have their roots in functional programming.
> When used appropriately, FP principles can reduce complexity while increasing the testability and maintainability of an application. This is functional architecture.
> You will aquire knowledge on how to build software in a purely functional manner, you will leverage a particular kind of algebraic effects called environmental effects in order to structure your code in a better way enabling you to test each individual component in an isolated way and making your modules reusable and composable.
> We are not cheating, neither using magic tricks! By leveraging functional programming principles we have developed a set of libraries that enrich the fp-ts ecosystem with the functionalities that you may find in a library like ZIO in the Scala ecosystem.
> The latest development in the core TypeScript language allow us to take environment usage even further compared to what ZIO can achieve, namely TypeScript has a very good support for intersection types and this makes environment usage wonderful.
https://arnaldimichael.gitbook.io/matechs-effect/
#ts #scala
> We are not cheating, neither using magic tricks! By leveraging functional programming principles we have developed a set of libraries that enrich the fp-ts ecosystem with the functionalities that you may find in a library like ZIO in the Scala ecosystem.
> The latest development in the core TypeScript language allow us to take environment usage even further compared to what ZIO can achieve, namely TypeScript has a very good support for intersection types and this makes environment usage wonderful.
https://arnaldimichael.gitbook.io/matechs-effect/
#ts #scala
arnaldimichael.gitbook.io
How to use Effect! | Matechs Effect
And write better end to end software, so you can sleep at night!
#k8s #devops #go
Skaffold is a command line tool that facilitates continuous development for Kubernetes applications. You can iterate on your application source code locally then deploy to local or remote Kubernetes clusters. Skaffold handles the workflow for building, pushing and deploying your application. It also provides building blocks and describe customizations for a CI/CD pipeline.
https://github.com/GoogleContainerTools/skaffold
Skaffold is a command line tool that facilitates continuous development for Kubernetes applications. You can iterate on your application source code locally then deploy to local or remote Kubernetes clusters. Skaffold handles the workflow for building, pushing and deploying your application. It also provides building blocks and describe customizations for a CI/CD pipeline.
https://github.com/GoogleContainerTools/skaffold
#k8s #devops #go
arkade (ark for short) provides a clean CLI with strongly-typed flags to install charts and apps to your cluster in one command.
Gone are the days of contending with dozens of README files just to get the right version of #helm and to install a chart with sane defaults.
https://github.com/alexellis/arkade
arkade (ark for short) provides a clean CLI with strongly-typed flags to install charts and apps to your cluster in one command.
Gone are the days of contending with dozens of README files just to get the right version of #helm and to install a chart with sane defaults.
https://github.com/alexellis/arkade