gitmoji
swift
Our great sponsors
- Appwrite - The open-source backend cloud platform
- InfluxDB - Collect and Analyze Billions of Data Points in Real Time
- Onboard AI - Learn any GitHub repo in 59 seconds
gitmoji | swift | |
---|---|---|
59 | 208 | |
14,701 | 64,571 | |
- | 0.7% | |
9.3 | 10.0 | |
7 days ago | 4 days ago | |
TypeScript | C++ | |
MIT License | Apache License 2.0 |
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.
gitmoji
- Introducing my Lightweight PHP Framework: Simplifying Small Projects with a Powerful Core!
-
Git sloppiness and obsessively compulsively committing to the remote repo
My commit messages are pretty good though. I put some effort/thought into them not just for the repo/git purposes, but it also helps me mentally keep track of what I have done / have to do just in the general carry-on coding. I even prefix messages with an emoji, similar to the guidelines on https://gitmoji.dev/
-
OpenCommit: GitHub Action to improve commits with meaningful messages on every `git push` ๐คฏ๐ซ
You may also turn on GitMoji convention if you prefer your messages baked with emojis ๐ค
-
Show HN: Gut โ An easy-to-use CLI for Git
I use Gitmoji:
-
Mastering Git with ChatGPT โ best auto-commits you've ever seen
OpenCommit leverages the conventional commits convention, ensuring your commit messages are both concise and informative. Want a little fun in your commits? Enable the GitMoji setting!
-
Use AI to commit like a PRO in 1 second
The library uses conventional commits convention which makes commits concise and comprehensive. You can also turn on GitMoji setting if you like.
-
Show HN: Lofi, a Tiny Spotify Player
At a previous job we used https://gitmoji.dev, which scrumoji is based on. At some point I started using the ladybug emoji for bugs because it's actually a bug while my colleagues kept using the caterpillar emoji because they preferred caterpillars. I thought it was a nice way to bring some individuality into our commit messages!
-
A new open-sourcing project launches!!! A declarative, compose-based and cross-platform GUI
It's the first time I see someone combining gitmoji with conventional commits (I use the later now for all my project, to generate my changelogs automatically with with git-cliff.)
-
AI Commits โ a CLI that writes your commit messages for you
It still happens today: https://github.com/carloscuesta/gitmoji
swift
-
Kotlin Multiplatform for Android and iOS Apps
You can do the same thing the other way around - https://github.com/apple/swift/blob/main/docs/Android.md.
-
This isnโt the way to speed up Rust compile times
Codable (along with other derived conformances like Equatable, Hashable, and RawRepresentable) is indeed built in to the compiler[0], but unlike Serde, it operates during type-checking on a fully-constructed AST (with access to type information), manipulating the AST to insert code. Because it operates at a later stage of compilation and at a much higher level (with access to type information), the work necessary is significantly less.
With ongoing work for Swift macros, it may eventually be possible to rip this code out of the compiler and rewrite it as a macro, though it would need to be a semantic macro[1] rather a syntactic one, which isn't currently possible in Swift[2].
[0] https://github.com/apple/swift/blob/main/lib/Sema/DerivedCon...
-
How does Swift implement primitive types in its standard library?
`Int` is a regular struct with a single stored property of type `Builtin.Word` . But the latter is a magical compiler built-in. Source for integer types is generated from this template - https://github.com/apple/swift/blob/9da65ca0a15fdf341649c994b0a77ec3b71f2687/stdlib/public/core/IntegerTypes.swift.gyb
-
hypergrep: A new "fastest grep" to search directories recursively for a regex pattern
The following searches are performed on the entire Apple Swift source tree. The commit used is 3865b.
- Appleโs Game Porting Toolkit is Wine
- Swift Ownership Manifesto
-
Is there a web site I can go to if I want to find the SwiftUI roadmap?
Like someone mentioned swift.org is a start.
-
Apple is rewriting Foundation in Swift
Happily Swift has interop with C, and they're working on actual C++[1], which would be a lot of wasted effort.
The question is very simple: Swift is meant to be a safe language, how feasible is that if a large chunk of the core types and runtime are implemented in C, C++, and Objective-C/C++? Migrating to Swift is the obvious and sensible step, unless you propose re-implementing them in yet another language?
[1] https://github.com/apple/swift/blob/main/docs/CppInteroperab...
> There's not even anything technically interesting about the language
It's a modern statically compiled language with complex generics, that supports providing a generic interfaces in libraries with retaining ABI compatibility. Which no other modern "system" language supports. That's fairly technically interesting to me.
> We have so much more than that and you just went with reference counting
Like what?
The options for memory safe shared ownership are refcounting or GC.
Assuming you're talking about rust, that's just C++: object lifetime is lexical, and if you need it to last longer you have to use Arc/Rc/shared_ptr. The purpose of the lifetime and borrow checkers is to ensure exclusive access, and reduce the copy/destruction churn that you get from the C++ model (a hypothetical C++ that only allows the use of unique_ptr instead of raw pointers - obviously C++'s type system and approach to memory safety is not a Good Thing).
But it's important to realize rust did not create a new solution to object lifetime management for shared objects.
It's also important to realize that rust was designed in an environment where there was no existing code to interoperate with, whereas Swift was designed to work with the existing Darwin APIs and objective-c which are all refcounted. So even if no refcounting was the goal you'd end up with a new language, designed for a specific environment, and the default behaviour would not be correct.
Now that the language is more established, and it's less critical for every part of the language to have objc interop they are working on pure ownership semantics, for the same reason as rust: it saves copies without requiring a refcount[1]
[1] https://github.com/apple/swift/blob/main/docs/OwnershipManif...
-
Thoughts on Swift and Objective-C
His complaint about the bug being closed is weird to me. Swift went through a lot of changes in the early years. Everyone was aware of this. He also had plenty of time to find a work around, and what he was trying to do was trying to do was a bit weird and I would argue is fighting against how Swift works. Itโs weird to have a protocol, a base class that conforms to the protocol but is not actually meant to be used, and then a subclass with the actual implementation. There is no need for the base class. He seems to be trying to use it as an abstract class or something as far as I can tell, but that is what protocols are for.
Finally, it seems that the behavior he was complaining about was largely changed 2 years before the blog was even written. https://github.com/apple/swift/issues/49631
I agree with him that JavaScript is a terrible language and I also take a utilitarian approach to programming languages.
What are some alternatives?
solidity - Solidity, the Smart Contract Programming Language
semantic-release-gitmoji - โจ๐๐ฅ A semantic-release plugin for gitmojis. Different from conventional changelog, Gitmoji commits are used to determine a release type and generate release notes.
cpp-lazy - C++11/14/17/20 library for lazy evaluation
cz-customizable - A standalone commit message helper or customizable commitizen adapter for https://github.com/commitizen/cz-cli
semantic-release - :package::rocket: Fully automated version management and package publishing
Elixir - Elixir is a dynamic, functional language for building scalable and maintainable applications
tree-sitter - An incremental parsing system for programming tools
hummingbird - Hummingbird compiles trained ML models into tensor computation for faster inference.
lobster - The Lobster Programming Language
swift-evolution - This maintains proposals for changes and user-visible enhancements to the Swift Programming Language.
marktext - ๐A simple and elegant markdown editor, available for Linux, macOS and Windows.
standard-version - :trophy: Automate versioning and CHANGELOG generation, with semver.org and conventionalcommits.org