Coder Social home page Coder Social logo

quinton-ashley / nostlan Goto Github PK

View Code? Open in Web Editor NEW
439.0 19.0 23.0 44.26 MB

Nostlan is a game launcher for emulators!

License: GNU General Public License v3.0

JavaScript 68.27% CSS 23.16% HTML 5.53% Python 0.41% Pug 2.63%
emulator-frontend dolphin cemu cemu-launcher rpcs3 yuzu citra gamecube nintendo-switch xenia mame bsnes ryujinx wii video-game-emulators game-launcher

nostlan's Introduction

Nostlan : a game launcher for emulators!

Download Nostlan from the official website 🤝

What's a "game launcher"?

Nostlan isn't just a fancy file browser for your game files, it brings the console gaming experience to your computer!

Total emulation noob?

With Nostlan you can install new emulators with a single click. It's never been easier to get started with emulation!

Hardcore collector?

A big bookshelf of game boxes is an impressive conversation starter. Having X amount of games on a hard drive? Not so much.

But with Nostlan you can show off your virtual game collection with high quality box assets. Nostlan is unlike any other game launcher because it has a minimal, skeuomorphic UI design that prioritizes box art. It's like a virtual game room!

Check out the screenshots below. 👇

Couch gamer?

Nostlan was designed to be used with a game controller, so you won't have to use a mouse and keyboard if you don't want to. Nostlan's UI uses large text only, making it perfect for a big UHD TV or projector.

Looking to play retro and modern games?

Nostlan can do it all!

Systems supported: Arcade, DS, 3DS, GBA, N64, PS2, PS3, PSP, SNES, SEGA Mega Drive/Genesis, Nintendo Switch, Wii, Wii U, Xbox, and Xbox 360.

Emulators supported: bsnes, Cemu, Citra, Cxbx-Reloaded, Dolphin, DeSmuME, DS Player, em-fceux, MAME, melonDS, mesen, mupen64plus, mGBA, PCSX2, PPSSPP, RPCS3, Ryujinx, Ryujinx-LDN, snes9x, VBA, webretro, xemu, Xenia, and Yuzu.

Exclusive Features

  • browse the entire app with your mouse, keyboard, or game controller
  • automated install of any emulator
  • no nonsense setup and configuration
  • checks multiple database sites for the highest quality box art
  • nostalgic UI themes for each supported console
  • designed for big UHD displays and projectors
  • most controllers connect to Nostlan automatically, no setup required
  • menu translations for Spanish, German, Hebrew, Russian, and Dutch
  • cross-platform support for Linux, macOS, and Windows
  • box edit mode provides an in-app image search on the web (no need to download and manually place image files in the right folder)
  • can launch games using standalone emulator apps
  • also utilizes JavaScript/WASM based emulator cores
  • browser-based features are completely isolated from the main process in accordance with the latest Electron app security standards
  • advanced customization: edit launch commands
  • [PREMIUM FEATURE] backup/sync all your save data to the cloud, local storage device, or between your PC and laptop

Nostlan is free and open source

Download Nostlan and join the Nostlan community Discord. 😄

Support the development of Nostlan on Patreon to gain access to premium features!

Supported Systems and Emulators

Click on an image to see it in full quality 4K resolution.

Switch [Ryujinx, Yuzu]

Wii U [Cemu]

Wii, Gamecube, Virtual Console [Dolphin]

PS3 [RPCS3]

PS2 [PCSX2]

SNES [bsnes, snes9x]

Arcade Machines [MAME]

NES [Mesen, em-fceux]

DS [melonDS, DeSmuME]

GBA [mGBA, Visual Boy Advance]

Xbox, SEGA Genesis, N64, Nintendo 3DS, and more!

Premium Features

Nostlan includes tons of great features for free, but Patreon supporters can get premium features!

Even though I decided to make this project open source and free to use, it still took a lot of work and a long time to develop. If you appreciate my work so far and will continue to use the app please support its development. Thank you!

How to access Premium Features

Every month, Patreon supporters will be able to see an exclusive post with the monthly donor password unique to that month. When you start Nostlan it will show a donation menu. Select "access premium features" from the donation menu. Copy the monthly donor password from Patreon and paste it into the donor password input. Select "verify password", if the password is correct you will have access to premium features! Passwords are automatically posted each month.

Learn more about Nostlan on the wiki

https://github.com/quinton-ashley/nostlan/wiki

I've put a lot of effort into documenting Nostlan on the wiki. I hope you find it helpful! Go to the wiki to find out more info on these topics:

Adaptive Button Mapping
Credits
Config File Editing Guide
Custom Themes
Development Info
Features
Game Identification
Hardware Compatibility
How is Nostlan different from other front ends?
Image Names to use for Game Art
Premium Features
Progress Reports
Screenshots
Setting up Nostlan
Supported Systems and Emulators
Using Nostlan

Contact

Contact me on Discord with your comments, question, suggestions, or if you need any general help using the app.

Please report technical issues and make specific feature requests on this project's Github.

Is Nostlan safe to use?

Allow me to introduce myself, my full legal name is Quinton Michael Ashley, I'm the lead developer of Nostlan.

I created Nostlan for fun and also to learn more about app development. Since Nostlan started as a personal project I wasn't under any pressure to make it look like a corporate website or follow any UI standards. Nostlan is an experiment in UI design. I consider it a piece of art that I'm sharing because I want other people to experience it too. Of course, I'd also like making some money off it by selling premium features that people can enjoy. But I have no interest in collecting your usage data, hijacking your cpu to mine crypto sh*tcoin, or doing anything malicious.

Since Nostlan is open source, anyone can look at the code. I also put a LOT of effort into following the latest Electron security standards. All the 3rd party emulator cores that Nostlan uses are sandboxed, meaning they run in isolation from the main process.

BUT, please only download Nostlan from my official website!

https://quinton-ashley.github.io/nostlan-web/

Development

In 2018 I started developing Nostlan. I was still learning a lot about JavaScript and Electron was brand new. But Electron has been upgraded significantly over the years and the new paradigms for developing Electron apps are completely different than how things used to be done. Nostlan relies heavily on the electron-remote package, a backwards compatibility layer that allows Nostlan to run with the latest versions of Electron. There are definitely some things I would do differently if I were to start over. But I'm never going to rewrite the whole app to use module imports or context bridging. I will be doing maintenance work, adding new features and fixing bugs.

Information on how to build the app, update a database, and change the Electron version can be found in the <DEV_INFO.md> file.

Legal Disclaimer

Although emulation is legal, pirating games you do not own is illegal. Nostlan does not condone piracy. Nostlan is open source software that does not infringe on any copyrights of publishers, developers, artists, or texture packers. Anyone asking for or sharing information related to digital piracy on Nostlan's Discord server or GitHub page will be blocked and have their comments removed and flagged.

COPYRIGHT AND TRADEMARK INFO

Nostlan is not affiliated with Nintendo, Sony, SEGA, or Microsoft. All trademarks and servicemarks referenced in this app are the property of their respective owners.

MAME and the MAME Logo are Copyright © 1997-2024 MAMEDev and contributors. MAME® is a registered trademark of Gregory Ember. Use of the MAME name and logo is done so with the expressed written permission from the trademark owner. For more information, please visit https://www.mamedev.org.

Nostlan was created by Quinton Ashley Copyright © 2019-2024. The Nostlan logo images are licensed under Attribution-NonCommercial-ShareAlike 4.0 International. The template images found in the nostlan-img repository are public domain images under the Public Domain License CC0. The Nostlan software itself is open sourced and licensed under the GNU GPLv3 license, which prohibits closed source commercial use.

nostlan's People

Contributors

elbandoler avatar quinton-ashley avatar totorruns avatar varlesh avatar vistaus avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

nostlan's Issues

Add Support for non Flatpak Emulators on Linux

I personally only use Snes9x and Dolphin as flatpaks and the rest I just use non flatpaks
I tried adding melonDS for example but it was still ran as a flatpak
Is this not integrated or did I just not find a way to run melonDS, PCSX2 and mGBA and meson from my path executables?
Oh also yes Meson does run on Linux trough mono, just realized there is no setup option for that one on linux

[Archlinux] Will work?

With the latest release in AppImage doesn't and with the latest zip too what libraries it needs?

Default box art required error

When I first started up bottlenose and it asked me for my dolphin wii game directory, I created a folder and put in one of my games to test it out. I waited and waited, but it stayed on that screen. It wasn't frozen, and strangely enough, I couldn't minimize it. I quit bottlenose, restarted my mac, and checked to make sure it was updated then tried again and the same thing happened. How do I fix this? ( have a macbook pro with touchbar. The video of the error is in the zip file. I also included pictures of where the folder was.)
problem.mov.zip
Screen Shot 2019-09-25 at 5 09 52 PM
Screen Shot 2019-09-25 at 5 09 52 PM

Hebrew Translation Issues

I have decided to test the Hebrew translation and check if there were any bugs when using it. Found some small issues:

  • The term "Hebrew" always refers to the modern, Israeli dialect of that language. Other dialects are basically dead for centuries at this point, and are mutually intelligible anyways, so there is no need to add "(modern)" in the language selection screen.

  • Another issue I found is the RTL writing.
    image
    This phrase (the first button of the Nostlan Setup) should look like this:
    image
    This issue is repeated in each and every occurance of text in both Hebrew and English in the same sentence, for example:
    image
    Which should look like this:
    image
    And sometimes it mixes up the sentences, like here:
    image
    which literally translates to:

game yet you might want GBA if you have no .gba :game files must end with the extension
emulator software first mGBA install the
  • The font is very simple (and tbf, kinda ugly for Hebrew). I recommend using a Google Fonts one, if possible. Otherwise, there's a ton of free Hebrew fonts, I could search for a nice one later. Yes, Hebrew is so weird it requires its own font 😐

I found no other issues currently 😄

Change skin ?

Good job but I dont liked SNES skin. Is there a way I can change it to Europe SNES skin ? I hate American SNES purple skin. Ugh!

Linux symlink error when loading Arcade (MAME) game library

First of all, every time i open Nostlan it requires a setup. Now that it is setup and I have roms in my arcade folder, it is neverendingly looking for arcade roms
image
And every time i try to add a new game it indexes the library continuously. Everything looks cool but at boot I'm already having a considerable amount of problems.

GBA template image broken

The transparent box art used as a placeholder was appearing as a broken image symbol. Checking the source https://i.warosu.org/data/vr/img/0012/83/1387453429811.png got me to the image after waiting a second to make sure I was human. Manually copying the image into the folder fixed the issue.

Suggested fix: include template images as assets with the releases and use those local files.

Let me know if my assessment is inaccurate!

Add more options for install on Linux

Hi. It's possible add support flatpak exec for Linux?
Because mostly emulators distributed as flatpak:

  • dolphin - flatpak, snap (not actual)
  • yuzu - flatpak, appimage
  • ryujinx - appimage
  • citra - flatpak, snap
  • snes9x - flatpak
  • melonDS - flatpak, snap
  • mgba - flatpak, snap
  • pcsx2 - flatpak
  • rpcs3 - flatpak, snap
  • xenia - compile from sources

It's not big problem for me, i can create symlinks:
ln -s /var/lib/flatpak/app/org.DolphinEmu.dolphin-emu/x86_64/stable/active/export/bin/org.DolphinEmu.dolphin-emu ~/.local/bin/dolphin-emu
It's only not comphortable ))
Or maybe better doing configuration file for exec path emulators?

Scan folder of games in archive format

Hello,

Usually I tend to keep my rom collection in zip archives.
Zip/7zip/rar archive of games are supported by most of the emulators, as well as rom dat tools (romcenter, romvault, etc...).

However, it looks like Noslan is not able to retrieve a game list where a folder only contains the zipped versions of the games, at least not for SNES games.

Since I don't really want to extract all zip archives of the games, is it possible to add this feature ?

Thanks in advance.

DS Player download/install crashes the app

Once I got Nostlan on mac up and running, the first thing that I got really interested in was the DS Player integration (which I note you said was preliminary), reminder i'm on macOS intel, trying to download it via nostlan crashes - "Nostlan Crashed :-("

TypeError: Cannot read properties of null (reading 'withFileTypes')
    at e.readdir (node:electron/js2c/asar_bundle:5:10214)
    at go$readdir (/Applications/nostlan.app/Contents/Resources/app.asar/node_modules/graceful-fs/graceful-fs.js:206:16)
    at Object.readdir (/Applications/nostlan.app/Contents/Resources/app.asar/node_modules/graceful-fs/graceful-fs.js:211:12)
    at copyDir (/Applications/nostlan.app/Contents/Resources/app.asar/node_modules/fs-extra/lib/copy/copy.js:166:6)
    at onDir (/Applications/nostlan.app/Contents/Resources/app.asar/node_modules/fs-extra/lib/copy/copy.js:152:10)
    at /Applications/nostlan.app/Contents/Resources/app.asar/node_modules/fs-extra/lib/copy/copy.js:73:39
    at callback (/Applications/nostlan.app/Contents/Resources/app.asar/node_modules/graceful-fs/polyfills.js:306:20)
    at node:electron/js2c/asar_bundle:5:461
    at process.processTicksAndRejections (node:internal/process/task_queues:78:11)

there are downloaded files in the ds_player folder however, but trying to launch also crashes Nostlan with the exact same stack trace

Mac os catalina 10.15.4, The application “nostlan” can’t be opened.

Hi, i just found Nostlan,
It sounds very cool!

After downloading and unzipping the latest and second latest release I'm met with 'The application “nostlan” can’t be opened.' when trying to open it.

Don't know if just my system, but it's not a message i've met before on this system.

Again, really cool project!

Size of readme

This page takes quite a while to load on a slower connection.
The readme is nearly 40MB due to the images while most readmes on GitHub are at or under 1MB.

Linux issues

I like your concept. But now it's impossible use on Linux.
OS KDE Neon (Ubuntu 20.04).

  1. Can not run any emulator
    For example, dolphin-emu. I create symlink on emu/wii/dolphin/ to binary /usr/games/dolphin-emu
    when start game - nothing happens

log

/tmp/.mount_nostlagI…ore/launcher.js:100 Uncaught (in promise) TypeError: Cannot read property 'msg4' of undefined
    at Launcher.launch (/tmp/.mount_nostlagI…ore/launcher.js:100)
    at CuiState.onAction (/tmp/.mount_nostlagI…ameMediaSelect.js:9)
    at CUI.doAction (/tmp/.mount_nostlagI…js/contro-ui.js:314)
    at async CUI.buttonPressed (/tmp/.mount_nostlagI…js/contro-ui.js:733)

Latest Mac app executable crashes immediately

On Catalina on mac 10.15.7. I think the salient item from the report is: DYLD, [0x5] Code Signature
Here's the relevant part of the trace:

Process:               nostlan [27283]
Path:                  /Users/USER/Desktop/nostlan.app/Contents/MacOS/nostlan
Identifier:            com.qashto.nostlan
Version:               1.24.4 (1.24.4)
Code Type:             X86-64 (Native)
Parent Process:        ??? [1]
Responsible:           nostlan [27283]

Exception Type:        EXC_CRASH (SIGABRT)
Exception Codes:       0x0000000000000000, 0x0000000000000000
Exception Note:        EXC_CORPSE_NOTIFY

Termination Reason:    DYLD, [0x5] Code Signature

Application Specific Information:
dyld: launch, loading dependent libraries

Dyld Error Message:
  Library not loaded: @rpath/Electron Framework.framework/Electron Framework
  Referenced from: /Users/USER/Desktop/nostlan.app/Contents/MacOS/nostlan
  Reason: no suitable image found.  Did find:
	/Users/me/Desktop/nostlan.app/Contents/MacOS/../Frameworks/Electron Framework.framework/Electron Framework: code signature invalid for '/Users/me/Desktop/nostlan.app/Contents/MacOS/../Frameworks/Electron Framework.framework/Electron Framework'

	/Users/me/Desktop/nostlan.app/Contents/MacOS/../Frameworks/Electron Framework.framework/Electron Framework: stat() failed with errno=1

How do you go back to the Systems menu?

Im not sure what you would call it, but the main menu where it shows all of the systems you can emulate from, the different TYPES of games. when I boot Nostlan, it takes me straight to the arcade menu, and I dont see a button to go back to choose a different menu.

Trouble running Nostlan from the master branch

i think that is very difficult to install.

i've done serveral times. and change the node version to lts or latest with 'sudo n'

sudo apt install libsdl-ttf-gst libsdl-sound-gst libx11-dev libxtst-dev libpng-dev libtool libudev-dev npm i electron npm i robotjs npm rebuild

now it still has problems:

nostlan-master/node_modules/robotjs/build/Release/robotjs.node' was compiled against a different Node.js version using NODE_MODULE_VERSION 88. This version of Node.js requires NODE_MODULE_VERSION 85. Please try re-compiling or re-installing the module (for instance, using npm rebuildornpm install). at process.func [as dlopen] (electron/js2c/asar_bundle.js:5) at Object.Module._extensions..node (internal/modules/cjs/loader.js:1203) at Object.func [as .node] (electron/js2c/asar_bundle.js:5) at Module.load (internal/modules/cjs/loader.js:992) at Module._load (internal/modules/cjs/loader.js:885) at Function.f._load (electron/js2c/asar_bundle.js:5) at Module.require (internal/modules/cjs/loader.js:1032) at require (internal/modules/cjs/helpers.js:72) at Object.<anonymous> (/media/creatxr/WORK/…/robotjs/index.js:1) at Object.<anonymous> (/media/creatxr/WORK/…robotjs/index.js:38)

what's the steps that i am missing? thanks.

Scrolling

When half of the covers are going upwards and another one going downwards, it immediately giving headache and nausea. Why this thing even exists?

fullscreenKeyCombo not working for some emulators on Linux

fullscreenKeyCombo not worked on Yuzu & Dolphin

	"dolphin": {
		"app": "org.DolphinEmu.dolphin-emu",
		"cmd": [
			"flatpak",
			"run",
			"${app}",
			"-e",
			"${game}"
		],
		"fullscreenKeyCombo": [
			"f11"
		]
	},
	"yuzu": {
		"cmd": [
			"flatpak",
			"run",
			"${app}",
			"${game}"
		],
		"fullscreenKeyCombo": [
			"f11"
		],
		"app": "org.yuzu_emu.yuzu"
	},

With Citra worked

AppImage stuck on "starting Nostlan!"

Tried on Manjaro, Ubuntu, and Mint all with same issue. Executing opens full screen with "starting Nostlan!" but nothing else. I can mouse around and click on the four corners but it does nothing I can see. I've let it sit for about an hour (on accident) and it does nothing new. Running from command line produces the following output:

{
arg: '{"_":["/tmp/.mount_nostlasXQKpC/nostlan"],"__root":"/tmp/.mount_nostlasXQKpC/resources/app.asar","node_modules":"/tmp/.mount_nostlasXQKpC/resources/app.asar/node_modules","electron":true}',
node_modules: '/tmp/.mount_nostlasXQKpC/resources/app.asar/node_modules'
}
(node:15928) ProtocolDeprecateCallback: The callback argument of protocol module APIs is no longer needed.

Hangs at scraping

Nostlan hangs at scraping

Version: 1.7.7
OS: Manjaro Linux

Error:

Uncaught (in promise) TypeError: Cannot read property 'localeCompare' of undefined
    at /tmp/.mount_nostla4uVQ4V/resources/app.asar/scrape/scraper.js:194
    at Array.sort (<anonymous>)
    at Scraper.loadImages (/tmp/.mount_nostla4uVQ4V/resources/app.asar/scrape/scraper.js:194)
    at async viewerLoad (/tmp/.mount_nostla4uVQ4V/resources/app.asar/views/js/index.js:902)
    at async reload (/tmp/.mount_nostla4uVQ4V/resources/app.asar/views/js/index.js:188)
    at async CUI.cui.onAction (/tmp/.mount_nostla4uVQ4V/resources/app.asar/views/js/index.js:710)
    at async CUI.doAction (/tmp/.mount_nostla4uVQ4V/resources/app.asar/node_modules/contro-ui/dist/js/contro-ui.js:224)
    at async CUI.buttonPressed (/tmp/.mount_nostla4uVQ4V/resources/app.asar/node_modules/contro-ui/dist/js/contro-ui.js:540)

It seems to hang on different games each time I launch it. I also tried version 1.60 but just got a blank screen and the buttons in each corner, no menus where working.

Publish Nostlan on flatpak for Linux

Hi there. I know you already got an AppImage, which is nice. But for the average user (I.e Steam Deck users), being able to install it as an app makes it a bit more user friendly. That way, you can also easily add it as a non-Steam game and launch it through Steam in game mode.
So, could you please consider releasing a Flatpak version?
Thank you.

Nostlan hangs on startup with "cui is not defined"

The application opens, loads the Power, Reset, and Open buttons, along with the Nostlan logo, but all do nothing. In the console, the error

ReferenceError: cui is not defined
    at module.exports (index.js:574)

happens in index.js

Running on Linux Mint, using the AppImage for v1.3.2

macOS - The app can't be opened

Hello,

I'm on macOS 10.15.7 and just downloaded the latest release 1.20.5 zip for macOS. I did some digging and saw that there was an issue opened a while back regarding this issue that had been resolved. This is not the "unidentified developer" issue as it does not appear in the Security & Privacy tab of system preferences to Open Anyway. Is there something I'm missing, thanks a lot.

Some Donation UI Buttons Are Broken

After Clicking on the "I already donated button, trying to press the "I haven't Donated Yet" button does not work. Also, after clicking on the continue button with an incorrect key, the "Okay" button is also broken.
Button1
image

Icon redesign suggestions

Are you open to suggestions? I made these, what do you think:
bottlenoseideas
If you're interested in any of these I could give you the vector file, or do some changes.

Xenia and PCSX2 Support

In order to support the Xenia and PCSX2 emulators I need a database files for xbox360 and ps2 games. gametdb does not have xbox 360 or PS2 game database files availabe. If someone could scrape a database site for me and give me a database file then I could support these emulators.

Theming

Many of the launchers you had on the page that explains differences with other launches, you forgot to say that emulationstation, pegasus, etc... are completely themeable, if you don't like metadata you can use other themes with full-screen images or whatever you like. So I don't think your comparison is fair.

Anyway, I'll test it, always happy to test new frontends.

I think you could improve adoption if for example I could point nostlan to a emulationstation instalation (retropie, configured retroarch,etc), and gamelists and media could be plain imported and used. Many people have this kind of setup. And autoconfiguring via retroarch cores (nostlan detect the cores so it knows what can be emulated and how)

Thanks for your efforts!

Loading nostlan stuck

When I started up Nostlan everything looked like it was starting fine but I am currently stuck at Loading "additional images" and "discSleev" what would I need to do, or what information would you need from me

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.