Our great sponsors
hoogle | gitlab | |
---|---|---|
60 | 443 | |
714 | - | |
- | - | |
6.3 | - | |
about 2 months ago | - | |
Haskell | ||
GNU General Public License v3.0 or later | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
hoogle
- The Hunt for the Missing Data Type
-
What Is Dimensional Analysis?
Dimensions behave somewhat like a "type system" for math. These dimensional-analysis tricks act like the trick you see in Haskell sometimes, where you can easily guess an implementation of an expression once you know it's type (or e.g. search by type signature https://hoogle.haskell.org/ )
-
Java 20 Is Out
Ideally like this: https://zio.dev/reference/#concurrency
-
Haskell IDE setup
{ "customLocalFormatters.formatters": [ { "command": "make format", "languages": ["haskell"] } ], "emeraldwalk.runonsave": { "commands": [ { "match": "*.hs", "isAsync": true, "cmd": "make retag retag_file=${file}" } ] }, "ghcid.command": "make ghcid", "goto-documentation.customDocs": { "hs": "https://hoogle.haskell.org/?hoogle=${query}" } }
-
Idris: A Language for Type-Driven Development
You had a look at Hoogle?
For some type signatures there is (are) only one (or only a few) meaningful implementation(s).
-
Haskell is the one of the most hardest code
I'm in the middle on operators. I like being able to define my own, but I understand how it's challenging to figure out what the hieroglyphics mean when you're not familiar with them. https://hoogle.haskell.org/ can be a help here
-
What’s so great about functional programming anyway?
> In something like Haskell I need to know upfront what I may do with some "object". The IDE can't help me discover the methods I need. All it can do is to show me all available functions in scope.
Sorry, but this just isn't true. Hoogle <https://hoogle.haskell.org/> searches function by type, fuzzily: ask for functions whose first parameter is the type of the object-like thing, and you'll get just what you're looking for. And it's perfectly possible to run hoogle locally and integrate it with your editor.
Now, the tooling for a language like Java have had several centuries more of aggregate development work done on them compared to Haskell's tools, and if that polish is a difference-maker for you, that's fine! But it's not a fundamental limitation, and claiming it is is just fud.
-
Type-Signature.com
In my perusals into the Haskell ecosystem, discovering Hoogle[1] was definitely a revelation on the power of a strongly-typed language. Sometimes, you know the _shape_ of the thing you are looking for, but not the name. The ability to search a repository of packages for all functions conforming to a certain type signature (e.g., (a -> Bool) -> [a] -> [a]) is a superpower.
which is quite a bit more readable. You can even search Hoogle for x -> HashMap x y -> y and find it, try it!
https://hoogle.haskell.org/?hoogle=x%20-%3E%20HashMap%20x%20...
-
What Operators Do You WISH Programming Languages Had? [Discussion]
Haskell has hoogle, which searches Hackage for functions matching names, type signatures, etc.
gitlab
-
BuildKit in depth: Docker's build engine explained
and its "oh, you want multi-arch, do you?" friend. While prosecuting this <https://gitlab.com/gitlab-org/gitlab/-/issues/339567> I learned that https://hub.docker.com/layers/multiarch/qemu-user-static/7.2... actually mutates the binfmt_misc in buildx's context in order to exec the static copy of qemu in it https://github.com/multiarch/qemu-user-static/blob/v7.2.0-1/...
and, that the buildx plugin itself has some qemu magick in it, which got addressed in a minor version bump but I couldn't track down the relevant GitHub issue this second (I've flushed it from my mind, only recalling that there were a lot of actors in that tire fire)
-
Gitlab password reset bug leaves more than 5.3K servers up for grabs
For folks who wanna see what led to this exploit in a Rails codebase, here’s the commit where the exploit is fixed:
https://gitlab.com/gitlab-org/gitlab/-/commit/c571840ba2f0e9...
> "RecoverableByAnyEmail"
Added 8 months ago [1]. And then one month later:
> "password_reset_any_verified_email"
Was removed. 7 months ago [2], *note* __verified__ word here.
No blaming or conspiracy intended in this post, just listing links to relevant commits.
1 - https://gitlab.com/gitlab-org/gitlab/-/commit/94069d38c9cd63...
2 - https://gitlab.com/gitlab-org/gitlab/-/commit/a935d28f3decf8...
This doesn't look like the actual fix but rather a follow-up refactor. I believe the fix is here: https://gitlab.com/gitlab-org/gitlab/-/commit/abe79e4ec43798...
- recoverable.send_reset_password_instructions(to: email) if recoverable&.persisted?
This is actually a follow-up refactor, the fix is here: https://gitlab.com/gitlab-org/gitlab/-/commit/abe79e4ec43798...
-
I Love Ruby
This made me curious. Having never read the gitlab code before, and on mobile, took all of about 30 seconds to find https://gitlab.com/gitlab-org/gitlab/-/blob/master/config/ro...
Those are some pretty clean routes!
-
GitLab 💚 Kubernetes : act 2
If you want to know why GitLab decided to replace ArgoCD with Flux, you can refer to this issue: https://gitlab.com/gitlab-org/gitlab/-/issues/357947.
-
Geany 2.0 Is Out
> ruby has just RubyMine which doesn't have a community edition and also isn't very good
I have a great deal of sympathy for RubyMine (and shudder at working for the CLion team, whew) because Ruby isn't doing the IDE author any favors. Given:
https://gitlab.com/gitlab-org/gitlab/-/blob/v16.5.0-ee/lib/g...
- what types are client_email and private_key? they are whatever type they're called with lolol
- the symbol Google::Auth::ServiceAccountCredentials just materializes; was it required in some containing context and thus is in scope by _this_ required file? are those symbols visible in every context from one of the various Gemfile lines? a hard-core rubyist knows
- where did the symbol StringIO come from? well, from require 'stringio' obviously, which is on .. err, which line exactly? I guess that lends weight to the 'this file is obviously running as a child context of some other file' theory
I think half of it is the culture of Rubyists and half of it is "productivity hacks" of "if it runs, then it must be correct"
I also recognize that I'm very clearly a static typing snob, and firmly in the camp of "please import symbols you use," but that doesn't stop me from having a great deal of sympathy for anyone who has to implement an IDE for such a monkey-patch friendly language
-
GitHub and Developer Ecosystem Control
BitBucket and GitLab both have organizational backing, BitBucket even more so. GitLab does offer an open source core for those to self host. Though I must say the "Contact Sales" link at the top navigation banner is quite interesting. The GNU project does offer hosting services, though it's very much conditional on buying into their philosophy. There are also some options of hosted software such as heptapod and Codeberg.
-
🦊 GitLab CI: 10+ Best Practices to Avoid Widespread Anti-patterns
The "needs" keyword can also be applied to jobs within the same stage, allowing you to create stageless pipelines similar to those in Jenkins. However, it's important to note that in reality, jobs fall into the default stage, which is Test. This limitation is currently being addressed in GitLab, as mentioned in this issue.
What are some alternatives?
Gitea - Git with a cup of tea! Painless self-hosted all-in-one software development service, including Git hosting, code review, team collaboration, package registry and CI/CD
Harbor - An open source trusted cloud native registry project that stores, signs, and scans content.
onedev - Git Server with CI/CD, Kanban, and Packages. Seamless integration. Unparalleled experience.
rich-markdown-editor - The open source React and Prosemirror based markdown editor that powers Outline. Want to try it out? Create an account:
gitlab-foss
chatwoot - Open-source live-chat, email support, omni-channel desk. An alternative to Intercom, Zendesk, Salesforce Service Cloud etc. 🔥💬
Gitbucket - A Git platform powered by Scala with easy installation, high extensibility & GitHub API compatibility
terratest - Terratest is a Go library that makes it easier to write automated tests for your infrastructure code.
castle - A tool to manage shared cabal-install sandboxes.
semantic-release - :package::rocket: Fully automated version management and package publishing
dependency-track - Dependency-Track is an intelligent Component Analysis platform that allows organizations to identify and reduce risk in the software supply chain.
Redmine - Mirror of redmine code source - Official Subversion repository is at https://svn.redmine.org/redmine - contact: @vividtone or maeda (at) farend (dot) jp