GitHub Enterprise Server 3.10 is now generally available
Customers using GHES can now ensure secure development is a top priority with enhanced security and compliance controls for their repositories.
The post GitHub Enterprise Server 3.10 is now generally available appeared first on The GitHub Blog. ⌘ Read more
Docker Hub Registry IPv6 Support Now Generally Available
Docker announces the general availability of IPv6 support for the Docker Hub Registry, Docker Docs, and Docker Scout endpoints. ⌘ Read more
Immobilier, startups, hydrogène : les profiteurs d’illusions
Un article de Henry Bonner Les dirigeants et les politiciens passent leur temps à inventer des prétextes pour la déformation des prix dans l’économie. En général, ils induisent ainsi plus d’agitation dans l’économie, c’est-à-dire plus de transactions, d’investissements, et de consommation qu’ils croient être de l’activité économique. Selon les modèles et croyances de ces dirigeants, […] ⌘ Read more
Snikket: State of Snikket 2023
This is our first blog post for quite a while, and the last few have all been technical updates of various kinds about the Snikket software. In fact it’s been almost two years since the last post that gave a general progress update on the Snikket project itself, so let’s fix that!
You’ll be pleased to hear that Snikket is very much alive, and although there hasn’t been much of a show to see here, a bunch of stuff has been going on backstage.
We plan to catch you up with our progres … ⌘ Read more
Erlang Solutions: Ship RabbitMQ logs to Elasticsearch
RabbitMQ is a popular message broker that facilitates the exchange of data between applications. However, as with any system, it’s important to have visibility into the logs generated by RabbitMQ to identify issues and ensure smooth operation. In this blog post, we’ll walk you through the process of shipping RabbitMQ logs to Elasticsearch, a distributed search and analytics engine. By centralising and analysing RabbitMQ logs with Elasticsea … ⌘ Read more
How to responsibly adopt GitHub Copilot with the GitHub Copilot Trust Center
We’re launching the GitHub Copilot Trust Center to provide transparency about how GitHub Copilot works and help organizations innovate responsibly with generative AI. ⌘ Read more
GitHub Repository Rules are now generally available
Repository rules provide an easy, flexible way to define branch protections and ensure consistency in code across repositories. ⌘ Read more
Global Atmospheric Circulation
⌘ Read more
A developer’s guide to prompt engineering and LLMs
Prompt engineering is the art of communicating with a generative AI model. In this article, we’ll cover how we approach prompt engineering at GitHub, and how you can use it to build your own LLM-based application. ⌘ Read more
GitHub merge queue is generally available
Supercharge pull request merges on your busiest branches by enabling your team to queue. ⌘ Read more
GitHub CLI project command is now generally available!
Level up your use of GitHub Projects on the command line and in GitHub Actions with the new project CLI command. ⌘ Read more
Question to all you Gophers out there: How do you deal with custom errors that include more information and different kinds of matching them?
I started with a simple var ErrPermissionNotAllowed = errors.New("permission not allowed"). In my function I then wrap that using fmt.Errorf("%w: %v", ErrPermissionNotAllowed, failedPermissions). I can match this error using errors.Is(err, ErrPermissionNotAllowed). So far so good.
Now for display purposes I’d also like to access the individual permissions that could not be assigned. Parsing the error message is obviously not an option. So I thought, I create a custom error type, e.g. type PermissionNotAllowedError []Permission and give it some func (e PermissionNotAllowedError) Error() string { return fmt.Sprintf("permission not allowed: %v", e) }. My function would then return this error instead: PermissionNotAllowedError{failedPermissions}
At some layers I don’t care about the exact permissions that failed, but at others I do, at least when accessing them. A custom func (e PermissionNotAllowedError) Is(target err) bool could match both the general ErrPermissionNotAllowed as well as the PermissionNotAllowedError. Same with As(…). For testing purposes the PermissionNotAllowedError would then also try to match the included permissions, so assertions in tests would work nicely. But having two different errors for different matching seems not very elegant at all.
Did you ever encounter this scenario before? How did you address this? Is my thinking flawed?
GitHub Enterprise Server 3.9 is now generally available
GitHub Enterprise Server 3.9 is now generally available. Organizations can now take advantage of more features that enable deeper collaboration, greater observability and faster workflows. ⌘ Read more
The economic impact of the AI-powered developer lifecycle and lessons from GitHub Copilot
Today at Collision Conference we unveiled breaking new research on the economic and productivity impact of generative AI–powered developer tools. The research found that the increase in developer productivity due to AI could boost global GDP by over $1.5 trillion. ⌘ Read more
Russia blowing up the Nova Kakhovka dam is an incomprehensible war crime. Among other things, it drains water from the Zaporizhzhia nuclear power plant, water that is needed for cooling. They are trying to generate a widespread disaster.
They must be stopped, immediately, without hesitation. This is unacceptable behavior, crossing every red line we have no matter our politics, without any doubt.
Google Bard or BingGPT are actually quite useful to answer simple questions without having to scroll through many pages of clickbait and AI-generated babble blogposts. I’m currently preparing for the AWS exam (I finally signed up!) and Google Bard explained the differences between Cognito User Pools and Cognito Identity Pools in a simple and understandable way. Even with a tabular overview and examples how to use both services. Now my knowledge is refreshed again. 😄 ⌘ Read more
Why an iPhone makes a terrible general purpose computer
(when Android makes a pretty good one) ⌘ Read more
Siphon
⌘ Read more
von Neumann: I came up with this new system that generalizes probability theory to consider convex sets instead of point estimates. I think that I could use this to prove regret bounds…
How companies are boosting productivity with generative AI
Explore how generative AI coding tools are changing the way developers and companies build software. ⌘ Read more
Push protection is generally available, and free for all public repositories
Announcing the general availability of push protection–a feature that proactively prevents secret leaks in your public and private repositories. ⌘ Read more
GitHub code search is generally available
The world’s code is now at your fingertips. ⌘ Read more
I’ve tried twtxt2atom (https://lien.sus.fr/rUluz) but it doesn’t seem to be generating the body for the post
Gonna code a bit tonight. Clean up the image code, then I will rewrite some of the code that uses libcurl, make a more generic function that I use in the calls, instead of many functions. That will be nice.
Isode: Red/Black 2.0 – New Capabilities
This major release adds significant new functionality and improvements to Red/Black, a management tool that allows you to monitor and control devices and servers across a network, with a particular focus on HF Radio Systems. A general summary is given in the white paper Red/Black Overview
Support added for Switch type devices, that can connect multiple devices and allow … ⌘ Read more
Private vulnerability reporting now generally available
Open source maintainers and security researchers embrace a new best practice to report and fix vulnerabilities. ⌘ Read more
Cosmological Nostalgia Content
⌘ Read more
I’m not super a fan of using json. I feel we could still use text as the medium. Maybe a modified version to fix any weakness.
What if instead of signing each twt individually we generated a merkle tree using the twt hashes? Then a signature of the root hash. This would ensure the full stream of twts are intact with a minimal overhead. With the added bonus of helping clients identify missing twts when syncing/gossiping.
Have two endpoints. One as the webfinger to link profile details and avatar like you posted. And the signature for the merkleroot twt. And the other a pageable stream of twts. Or individual twts/merkle branch to incrementally access twt feeds.
I’m not super a fan of using json. I feel we could still use text as the medium. Maybe a modified version to fix any weakness.
What if instead of signing each twt individually we generated a merkle tree using the twt hashes? Then a signature of the root hash. This would ensure the full stream of twts are intact with a minimal overhead. With the added bonus of helping clients identify missing twts when syncing/gossiping.
Have two endpoints. One as the webfinger to link profile details and avatar like you posted. And the signature for the merkleroot twt. And the other a pageable stream of twts. Or individual twts/merkle branch to incrementally access twt feeds.
How generative AI is changing the way developers work
Rapid advancements in generative AI coding tools like GitHub Copilot are accelerating the next wave of software development. Here’s what you need to know. ⌘ Read more
Generative AI-enabled compliance for software development
Explore how generative AI may soon help enable optimizing some of the foundational components of compliance. ⌘ Read more
orthogonality of substrate and structure in general
What developers need to know about generative AI
Generative AI has been dominating the news lately—but what exactly is it? Here’s what you need to know, and what it means for developers. ⌘ Read more
go mills() 😅
So. Some bits.
i := fIndex(xs, 5.6)
Can also be
i := Index(xs, 5.6)
The compiler can infer the type automatically. Looks like you mention that later.
Also the infer is super smart.. You can define functions that take functions with generic types in the arguments. This can be useful for a generic value mapper for a repository
func Map[U,V any](rows []U, fn func(U) V) []V {
out := make([]V, len(rows))
for i := range rows { out = fn(rows[i]) }
return out
}
rows := []int{1,2,3}
out := Map(rows, func(v int) uint64 { return uint64(v) })
I am pretty sure the type parameters goes the other way with the type name first and constraint second.
func Foo[comparable T](xs T, s T) int
Should be
func Foo[T comparable](xs T, s T) int
go mills() 😅
So. Some bits.
i := fIndex(xs, 5.6)
Can also be
i := Index(xs, 5.6)
The compiler can infer the type automatically. Looks like you mention that later.
Also the infer is super smart.. You can define functions that take functions with generic types in the arguments. This can be useful for a generic value mapper for a repository
func Map[U,V any](rows []U, fn func(U) V) []V {
out := make([]V, len(rows))
for i := range rows { out = fn(rows[i]) }
return out
}
rows := []int{1,2,3}
out := Map(rows, func(v int) uint64 { return uint64(v) })
I am pretty sure the type parameters goes the other way with the type name first and constraint second.
func Foo[comparable T](xs T, s T) int
Should be
func Foo[T comparable](xs T, s T) int
What’s new with GitHub Sponsors
GitHub Sponsors is now generally available for organizations. Also, new tooling for bulk sponsorships and an update on how we’re ensuring sustainability for GitHub Sponsors. ⌘ Read more
slides/go-generics.md at main - slides - Mills – I’m presenting this tomorrow at work, something I do every Wednesday to teach colleagues about Go concepts, aptly called go mills() 😅
Writing doesn’t just clarify your existing ideas; it generates more of them. Engineers Need to Write | Hacker News
Introducing self-service SBOMs
Developers and compliance teams get a new SBOM generation tool for cloud repositories. ⌘ Read more
Alexander Gnauck: XmppDotNet announcement
I want to announce the availability of the XmppDotNet XMPP library.
XmppDotNet is the new name and next generation of our MatriX vNext XMPP library.
Why changing the name?
It was never intended to keep vNext in the name forever. And there is a lot of confusion between MatriX and MatriX vNext at some of our existing customers. Most of them expect both libraries to be fully API compati … ⌘ Read more
Alexander Gnauck: XmppDotNet announcement
I want to announce the availability of the XmppDotNet XMPP library.
XmppDotNet is the new name and next generation of our MatriX vNext XMPP library.
Why changing the name?
It was never intended to keep vNext in the name forever. And there is a lot of confusion between MatriX and MatriX vNext at some of our existing customers. Most of them expect both libraries to be fully API compati … ⌘ Read more
GitHub celebrates the ingenuity of developers with disabilities in new video series
Learn how developers with disabilities are pushing the boundaries of accessibility with ingenuity, open source, and generative AI on The ReadME Project. ⌘ Read more
GitHub Enterprise Server 3.8 is now generally available
With updates to GitHub Actions, repositories, and GitHub Advanced Security, this new version of GitHub Enterprise Server is focused on bringing the best developer experience to companies. ⌘ Read more
Isode: M-Guard 1.4 New Capabilities
M-Guard 1.4 is a platform support update release for M-Guard Console and M-Guard Appliance. M-Guard Appliance has been updated to use UEFI instead of BIOS for key system services.
The M-Guard Appliance now supports running on Netgate 6100 and 6100 MAX appliance systems.
M-Guard Appliance on Hyper-V now uses Generation 2 virtual machines.
M-Guard Appliance on VirtualBox now uses EFI.
Use of BIOS for booting is deprecated in favor of UEF … ⌘ Read more
Unleash your potential with GitHub Octernships: a path to a thriving tech career
Empowering the next generation of students in tech with real-world industry experience. ⌘ Read more
@prologic@twtxt.net it is from the generator. But in the actual go implementation methods are represented with a unsigned short. So 65k is the hard limit in go.
@prologic@twtxt.net it is from the generator. But in the actual go implementation methods are represented with a unsigned short. So 65k is the hard limit in go.
GitHub Actions Importer is now generally available
We’re excited to announce the general availability of GitHub Actions Importer. GitHub Actions Importer helps you plan, forecast, and automate migrations from Azure DevOps, CircleCI, GitLab, Jenkins, and Travis CI to GitHub Actions. This product is an extension of the official GitHub CLI and is available for free to any GitHub user starting today. Migrating […] ⌘ Read more
@eldersnake@we.loveprivacy.club apparently someone that generates graphql endpoints for a biiiig app
@eldersnake@we.loveprivacy.club apparently someone that generates graphql endpoints for a biiiig app
10 things you didn’t know you could do with GitHub Codespaces
Unlock the full potential of GitHub Codespaces with these 10 tips and tricks! From generating AI images to running self-guided coding workshops, discover how to optimize your software development workflow with this powerful tool. ⌘ Read more
Secret scanning alerts are now available (and free) for all public repositories
Secret scanning alerts are now generally available for all public repositories. Admins can now turn on the alert experience with one click. ⌘ Read more
@movq@www.uninformativ.de Correct! It’ll be a generic yarn client. :)
@prologic@twtxt.net I’m thinking more in general - about the balloons and stuff that’s been in the news.
It’s just some of the comments they have made publicly, calling it a balloon in one setting, then ‘object’ in another..
I think all of those where just that - balloons, but either way some of those UAP’s are strange.
And I always wonder if someone has a craft from some other world or not.
It would not be weird in any way if some aliens evolved way beyond us, and it would not be weird if someone visited us here.
We would do the same if we found a planet with life.
All in all it’s just fascinating to think about these things.
Tor is technically installed but something is wrong with my system and almost everything I install is outdated. I tried making a hidden service and it generated a v2 address. That is how outdated my Tor daemon is lmao
@prologic@twtxt.net I get the worry of privacy. But I think there is some value in the data being collected. Do I think that Russ is up there scheming new ways to discover what packages you use in internal projects for targeting ads?? Probably not.
Go has always been driven by usage data. Look at modules. There was need for having repeatable builds so various package tool chains were made and evolved into what we have today. Generics took time and seeing pain points where they would provide value. They weren’t done just so it could be checked off on a box of features. Some languages seem to do that to the extreme.
Whenever changes are made to the language there are extensive searches across public modules for where the change might cause issues or could be improved with the change. The fs embed and strings.Cut come to mind.
I think its good that the language maintainers are using what metrics they have to guide where to focus time and energy. Some of the other languages could use it. So time and effort isn’t wasted in maintaining something that has little impact.
The economics of the “spying” are to improve the product and ecosystem. Is it “spying” when a municipality uses water usage metrics in neighborhoods to forecast need of new water projects? Or is it to discover your shower habits for nefarious reasons?
@prologic@twtxt.net I get the worry of privacy. But I think there is some value in the data being collected. Do I think that Russ is up there scheming new ways to discover what packages you use in internal projects for targeting ads?? Probably not.
Go has always been driven by usage data. Look at modules. There was need for having repeatable builds so various package tool chains were made and evolved into what we have today. Generics took time and seeing pain points where they would provide value. They weren’t done just so it could be checked off on a box of features. Some languages seem to do that to the extreme.
Whenever changes are made to the language there are extensive searches across public modules for where the change might cause issues or could be improved with the change. The fs embed and strings.Cut come to mind.
I think its good that the language maintainers are using what metrics they have to guide where to focus time and energy. Some of the other languages could use it. So time and effort isn’t wasted in maintaining something that has little impact.
The economics of the “spying” are to improve the product and ecosystem. Is it “spying” when a municipality uses water usage metrics in neighborhoods to forecast need of new water projects? Or is it to discover your shower habits for nefarious reasons?
here’s a question: when do NNs generalize, and how hard? as in adding two specific numbers together vs. n-digit integer addition vs. addition in general vs. simple arithmetical operations
Yet another AI application
AI is currently finding its way more and more into various software. There is ChatGPT, which sometimes feels like an all-knowing human, DeepL uses artificial intelligence not only for its translator, but also for its new tool that improves written text, or Bunny.net provides an API to generate images “on the edge”. ⌘ Read more
Announcing “The Lunduke Journal of Nerdy Entertainment & Retro Delights”! (N.E.R.D)
Sci-Fi, Fantasy, & General Nerdiness. Books, Comics, TV, & Film. ⌘ Read more
“There is, however,
evidence to suggest that a proportion of advertising-related data collection and tracking could be unnecessary, fuelling ad fraud and ‘made for advertising’ websites that have limited value to society, as well as generating carbon emissions.” href=”https://txt.sour.is/search?q=%23ClimateCrisis”>#ClimateCrisis**
“There is, however,
evidence to suggest that a proportion of advertising-related data collection and tracking could be unnecessary, fuelling ad fraud and ‘made for advertising’ websites that have limited value to society, as well as … ⌘ Read more
My code is still a mess, but I’m learning
I taught myself Go (and programming in general) by learning by doing. I learned by making a lot of mistakes and after noticing them, doing the necessary research. My Go code is probably a big mess, but it’s so satisfying, after not touching some code for a while, to do a major rewrite and improve the code with everything I’ve learned since the last time. ⌘ Read more
Generating SBOMs for Your Image with BuildKit
Learn how to use BuildKit v0.11 to generate SBOMs so you (and your users) can quickly answer questions about your images and packages. ⌘ Read more
pass on my machine:
@abucci@anthony.buc.ci So.. The issue is that its showing the password by default? Would making an alias to always include the -c help? We can probably engage Jason with a PR to enable a more hardened approach when desired. I’ve spoken to him before and is generally a pretty open to ideas.
I found this app that was created by the gopass author that does copy by default and has a tui or GUI mode https://github.com/cortex/ripasso
pass on my machine:
@abucci@anthony.buc.ci So.. The issue is that its showing the password by default? Would making an alias to always include the -c help? We can probably engage Jason with a PR to enable a more hardened approach when desired. I’ve spoken to him before and is generally a pretty open to ideas.
I found this app that was created by the gopass author that does copy by default and has a tui or GUI mode https://github.com/cortex/ripasso
Runtime
⌘ Read more
@lyse@lyse.isobeef.org As far as I know, they’re still visible in the Web UI. Although, in the mobile app and youtube.com, I believe it tells you that the video isn’t available without having to click on it. They don’t tell you that in the RSS feed, and I agree; it gets annoying.
If we had a custom feed generator that hooks directly into the YouTube API, I’ll bet we could find that information and put “[Scheduled][Scheduled][Scheduled][Scheduled][Scheduled][Scheduled][Scheduled][Scheduled]” in the title for premieres and remove it when the video is available.
@lyse@lyse.isobeef.org As far as I know, they’re still visible in the Web UI. Although, in the mobile app and youtube.com, I believe it tells you that the video isn’t available without having to click on it. They don’t tell you that in the RSS feed, and I agree; it gets annoying.
If we had a custom feed generator that hooks directly into the YouTube API, I’ll bet we could find that information and put “[Scheduled][Scheduled=][Scheduled][Scheduled=][Scheduled][Scheduled=][Scheduled][Scheduled=]” in the title for premieres and remove it when the video is available.
Did something chchange with how the discover feed is generated? My pods logout mode now only shows my twts. It used to be all twts from watcher observation like my logged on discover tab. @prologic@twtxt.net
Did something chchange with how the discover feed is generated? My pods logout mode now only shows my twts. It used to be all twts from watcher observation like my logged on discover tab. @prologic@twtxt.net
@prologic@twtxt.net see where its used maybe that can help.
https://github.com/sour-is/ev/blob/main/app/peerfinder/http.go#L153
This is an upsert. So I pass a streamID which is like a globally unique id for the object. And then see how the type of the parameter in the function is used to infer the generic type. In the function it will create a new *Info and populate it from the datastore to pass to the function. The func will do its modifications and if it returns a nil error it will commit the changes.
The PA type contract ensures that the type fulfills the Aggregate interface and is a pointer to type at compile time.
@prologic@twtxt.net see where its used maybe that can help.
https://github.com/sour-is/ev/blob/main/app/peerfinder/http.go#L153
This is an upsert. So I pass a streamID which is like a globally unique id for the object. And then see how the type of the parameter in the function is used to infer the generic type. In the function it will create a new *Info and populate it from the datastore to pass to the function. The func will do its modifications and if it returns a nil error it will commit the changes.
The PA type contract ensures that the type fulfills the Aggregate interface and is a pointer to type at compile time.
@prologic@twtxt.net I guess that refresh field could be easily replaced with Expires HTTP header (I realize that users on neocities.org cannot control this header, for example). And clients should also respect headers like Last-Modified/If-Modified-Since (304), you’re right about that. P.S. twtwt doens’t have a caching mechanism for now, but I plan to implement it in generic way using HTTP headers.
Erlang Solutions: GraphQL interfaces in MongooseIM 6.0
MongooseIM is a robust, scalable and highly extensible instant messaging server. Recent releases have improved its configurability and opened new use cases, and the latest version 6.0 continues that trend. By introducing the brand new GraphQL API, we made MongooseIM much easier to integrate with external web services. The entry barrier is also lower than ever because of the automatically generated API documentation, interactive web UI, an … ⌘ Read more
Data Point
⌘ Read more
Tutorial: Getting started with generics - The Go Programming Language – Okay @xuu@txt.sour.is I quite like Go’s generics now 🤣 After going through this myself I like the semantics and the syntax. I’m glad they did a lot of work on this to keep it simple to both understand and use (just like the rest of Go) 👌
#GoLang #Generics
Bunny AI
Bunny.net joined the AI hype and created “Bunny AI” (docs), AI images created on the edge. I tried it out, because it’s currently free during the preview, but somehow I don’t find the generated images aesthetic or I’m just to stupid to write better prompts. I guess the Bunny developers also need some distraction from time to time, because they are working hard on S3 support for Bunny Storage for years already. 🐰 ⌘ Read more
Snikket: Notes on the F-Droid security warning
Snikket Android users who installed the app via F-Droid may receive a warning
from F-Droid telling them that the app has a vulnerability and that they
“recommend uninstalling immediately”. First of all - don’t panic! This is a
over-simplified generic warning that is scary, but the actual situation is
not quite so scary and has an explanation. Here goes…
When an app is developed and ready for release, it must be compiled and built,
to produce the fina … ⌘ Read more
GitHub Copilot is generally available for businesses
GitHub Copilot for Business is officially here with simple license management, organization-wide policy controls, and industry-leading privacy—all for $19 USD per user per month. ⌘ Read more
Gajim: Gajim 1.5.4
Gajim 1.5.4 comes with a reworked file transfer interface, better URL detection, message selection improvements, and many fixes under the hood. Thank you for all your contributions!
Gajim’s interface for sending files has been reworked, and should be much easier to use now. For each file you’re about to send, Gajim will generate a preview. This way, you can avoid sending the wrong file to somebody. Regardless of how you start a file transfer, be it drag and drop, pasting a … ⌘ Read more
RT by @mind_booster: We’ve been challenged $104,750 in matching donations from some very generous donors this year!
https://sfconservancy.org/news/2022/nov/22/2022-fundraiser/
We’ve been challenged $104,750 in matching donations from some very generous donors this year!
My Generation — The Who (Eurobeat Remix)
Also I need to set up a new website with a static site generator. Ill most likely give hugo a try again.
The journey of your work has never been clearer
In July, we launched the general availability of GitHub Projects, and now we are excited to bring you even more features designed to make it easier to plan and track in the same place you build! ⌘ Read more
Dino: Stateless File Sharing: Source Attachment and Wrap-Up
RecapStateless file sharing (sfs) is a generic file sharing message which, alongside metadata, sends a list of sources where the file can be retrieved from.
It is generic in the sense, that sources can be from different kinds of file transfer methods.
HTTP, Jingle and any other file transfers can be encapsulated with it.
The big idea is that functionality can be implemented for all file transfer methods at once, thanks to … ⌘ Read more
Amnistier les covidistes ? Et puis quoi encore ?
The Atlantic, vénérable mensuel fondé au XIXème siècle, a récemment fait paraître un article d’Emily Oster qui a largement défrayé la chronique : dans “Let’s declare a pandemic amnestie” (“Déclarons une amnistie pour la pandémie”), l’auteur tente d’aligner quelques arguments en faveur d’un pardon général pour tous ceux qui, pendant la pandémie, ont pris les décisions […] ⌘ Read more
GitHub Enterprise Server 3.7 is now generally available
GitHub Enterprise Server 3.7 is available now, including a single view of code risk, new forking and repository policies, and security enhancements to the management console. ⌘ Read more
All In for Students: expanding the next generation of open source leaders
We are pleased to announce the expansion of All In for Students! All In for Students introduces college students to open source and provides them with the education, technical training and career development to prepare them for a summer internship in tech. ⌘ Read more
Why we’re excited about the Sigstore general availability
The Sigstore GA means you can protect your software supply chain today with GitHub Actions, and will power new npm security capabilities in the near future. ⌘ Read more
Stable Diffusion in Code (AI Image Generation) - Computerphile ⌘ Read more
GitHub at the 77th United Nations General Assembly
Read about how the GitHub Social Impact, Tech for Social Good and Policy teams participated in the 77th session of the United Nations General Assembly, including events we hosted with the World Health Organization and the UN Development Programme. ⌘ Read more
Gajim: Gajim 1.5.2
Gajim 1.5.2 brings another performance boost, better emojis, improvements for group chat moderators, and many bug fixes. Thank you for all your contributions!
Generating performance profiles for Gajim revealed some bottlenecks in Gajim’s code. After fixing these, switching chats should now feel snappier than before.
Did you know that you can use shortcodes for typing emojis? Typing :+1 for example will ope … ⌘ Read more
How AI Image Generators Work (Stable Diffusion / Dall-E) - Computerphile ⌘ Read more
GitHub for Startups is generally available
We’re launching GitHub for Startups to give your startup the tools needed to go from idea to unicorn status on the world’s largest developer platform. ⌘ Read more
“If you don’t make it beautiful, it’s for sure doomed”: putting the Vault in GitHub’s Arctic Code Vault
GitHub this month installed a massive steel vault, etched with striking AI-generated art, deep within an Arctic mountain, finalizing its Arctic Code Vault. This vault contains the 188 reels of hardened archival film which will preserve the 02/02/202 snapshot of every active public GitHub repository for 1,000 years. It also now includes a … ⌘ Read more
New repository: aquilax/zadachko-pro - Quick and dirty problem generator
Paul Schaub: Creating a Web-of-Trust Implementation: Accessing Certificate Stores
Currently, I am working on a Web-of-Trust implementation for the OpenPGP library PGPainless. This work is being funded by the awesome NLnet foundation through NGI Assure. Check them out! NGI Assure is made possible with financial support from the European Commission’s Next Generation Internet programme.
[![](https://nlnet. … ⌘ Read more
Physics Safety Tip
⌘ Read more
GitHub Enterprise Server 3.6 is now generally available
GitHub Discussions and Audit Log Streaming, new automation features, and security enhancements are available now in GitHub Enterprise Server 3.6. ⌘ Read more
XMPP Providers: XMPP Providers and blabber.im
Easy Onboarding with Android Chat AppA new version of the Android XMPP chat app
blabber.im has been released.
It provides an easy onboarding.
Passwords are generated automatically and XMPP providers are suggested.
Those suggestions are based on our curated list of XMPP providers.