Git Product home page Git Product logo

ungoogled-chromium-macos's People

Contributors

23rd avatar cubik65536 avatar dajmon avatar eloston avatar hlgsdx avatar implicitfield avatar ivantrendafilov avatar kramred avatar networkexception avatar pf4public avatar saltama avatar zoraver 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

ungoogled-chromium-macos's Issues

Update to 77

I have a working build of ungoogled-chromium-macos 77.0.3865.90, but it has one key caveat: it requires manually setting the enable_swiftshader gn flag to true; ungoogled-chromium sets it to false.

Chromium 77 appears to require egl to be enabled. When building Chromium for macOS, it appears that enabling egl depends on enabling swiftshader (on Linux, egl can be enabled without enabling swiftshader). In the build that I have working, I do not apply swiftshader.patch and set enable_swiftshader to true.

The best way to resolve this that I can see is to remove the enable_swiftshader line from flags.gn in ungoogled-chromium and make whether it is set to true or false a platform specific flag.

Updating to 110

I've looked at updating these patches to support chromium-110.0.5481.177, and while there aren't too many changes needed, I feel that some of them may warrant discussion.

1. Debian Patches

In my opinion, these could all be dropped, save for patches/debian_buster/disable/installer.patch, which could go to the upstream ungoogled-chromium repo, since there's nothing macOS-specific about it.

The Debian Chromium repo no longer ships any of these patches, and while most of them still apply, they seem to have no impact when building with the latest LLVM toolchain. (Discussed in the next section.)

I'm not sure if patches/inox-patchset/fix-cfi-failures-with-unbundled-libxml.patch is needed either. Replacing all uses of XmlFree with free seems a bit odd. I don't have an unbundled libxml to test this with, though.

2. Toolchain Requirements

Building with LLVM 15 is currently broken. Either chromium/chromium@cb5ad37 needs to be reverted, or the odd initialization should be changed to work with LLVM 15.

Alternatively, the minimum LLVM version could be bumped to LLVM 16, though it remains unreleased as of yet. (It's not yet available in homebrew, so maybe the build script could handle building it?) However, building with LLVM 16 is broken on arm without chromium/chromium@9f43d82. (See https://bugs.chromium.org/p/chromium/issues/detail?id=1405048)

I'd prefer requiring LLVM 16 for maximum compatibility, but supporting older releases shouldn't be too difficult (yet.)

Can we get a security patch push pls

Can we get 98 release for mac it has few important security fixes. it would be great for mac users to get this update as it's been quiet a while since we got last update.

Use arm64 LLVM when building UGC on Apple Silicon

(This can still be viewed as a part of the works to improve compiling efficiency)

As for now, even if we build ungoogled-chromium-macos on Apple Silicon (arm64), an x86-64 version of LLVM is still used to compile. I think we should try to use arm64 LLVM in this case instead, so no translation for binaries are needed.

This might consist of appending different entries to downloads.ini while running build script.

Any opinions on this? /cc @networkException @PF4Public

No update via Homebrew

Hello, I am not getting any repo update since version 108.0.5359.125 with Homebrew back in December which is confirmed on Homebrew page. You are not providing any updates via homebrew anymore?

Homebrew page(https://formulae.brew.sh/cask/eloston-chromium#default)
Name: Ungoogled Chromium
Google Chromium, sans integration with Google
https://ungoogled-software.github.io/ungoogled-chromium-binaries/
/api/cask/eloston-chromium.json (JSON API)
Cask code on GitHub

Current version: 108.0.5359.125-1.1,1671136997

Incoming network connections firewall permission prompts on every launch

Issue

this morning, i built new chromium on my machine using commit id 73e79586cb25136feb2a197efbbfe17d2d287eb5.
chromium version: 75.0.3770.90-1.2

everything builds fine and after system restart, chromium keeps on prompting for incoming network connections permission. Even though i deny/allow keeps on prompting for permission on each launch.

B-172-incoming-messages-prompt

Workaround:

applied code signing on chromium.app using below command and prompt was only for one time.
sudo codesign --force --deep --sign - /Applications/Chromium.app

Looks like we need to add above code signing part of build. This requires sudo command, is it okay to include as part of build.sh file? If so, we should add below command in build.sh file @ line 33 before packaging starts.
sudo codesign --force --deep --sign - out/Default/Chromium.app

Broken build when upgrading to 74.0.3729.169

Right now, building the latest release tagged on the main project results in a Only source, header, and object files belong in the sources of a static_library error.
It looks like the culprits are some generated python files but adding them to pruning_list.txt doesn't help.
Haven't solved this yet, if someone has any ideas, feel free to comment.

+ ./tools/gn/bootstrap/bootstrap.py -o out/Default/gn --skip-generate-buildfiles
ninja: Entering directory `ungoogled-chromium-macos/build/src/out/Release/gn_build'
[178/178] LINK gn
+ ./out/Default/gn gen out/Default --fail-on-unused-args
ERROR at //third_party/protobuf/proto_library.gni:369:15: Only source, header, and object files belong in the sources of a static_library. //out/Default/pyproto/google_apis/gcm/protocol/mcs_pb2.py is not one of the valid types.
    sources = get_target_outputs(":$action_name")
              ^---------------------------------
See //google_apis/gcm/BUILD.gn:78:1: whence it was called.
proto_library("proto") {
^-----------------------
See //BUILD.gn:81:7: which caused the file to be included.
      "//google_apis/gcm:gcm_unit_tests",
      ^---------------------------------

Build fails in v8 bindings

I'm always getting the same error while trying to build uc.
Ninja updated to latest
python 2.7.18, 3.9
llvm/clang 11.0 (tried with 12.0 with no success)
xcode 12.0.1.
I even tried with windows build but its the same error.

LOG:
(large list of files from this file here)
python ../../third_party/blink/renderer/bindings/scripts/generate_bindings.py --web_idl_database gen/third_party/blink/renderer/bindings/web_idl_database.pickle --root_src_dir ../../ --root_gen_dir gen --output_core_reldir third_party/blink/renderer/bindings/core/v8/ --output_modules_reldir third_party/blink/renderer/bindings/modules/v8/ enumeration interface
Problem while looking for clang-format in Chromium source tree:
Could not find checkout in any parent of the current path.
Set CHROMIUM_BUILDTOOLS_PATH to use outside of a chromium checkout.
(previous three lines repeated like 20 times)
.
.
.
Traceback (most recent call last):
File "../../third_party/blink/renderer/bindings/scripts/generate_bindings.py", line 100, in
main()
File "../../third_party/blink/renderer/bindings/scripts/generate_bindings.py", line 95, in main
task_queue.run(report_progress)
File "/Users/nikolafilipovic/Apps/ungoogled-chromium-macos/build/src/third_party/blink/renderer/bindings/scripts/bind_gen/task_queue.py", line 66, in run
worker_task.get() # Let |get()| raise an exception.
File "/usr/local/Cellar/python@2/2.7.17_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/multiprocessing/pool.py", line 572, in get
raise self._value
RuntimeError: Style-formatting failed: filename = /Users/nikolafilipovic/Apps/ungoogled-chromium-macos/build/src/out/Default/gen/third_party/blink/renderer/bindings/core/v8/v8_text_track_mode.h
---- stderr ----
None:
[24448/43278] ACTION //third_party/blink/public/mojom:mojom_core__parser(//build/toolchain/mac:clang_x64)

Originally posted by @Luka-Filipovic in #61 (comment)

A small suggestion for the Release Notes

Since the release title already includes the version and timestamp, it might be unnecessary to repeat this information in the release body, especially since the two timestamps do not match.

ScreenShot_20240128_hJkbuelfpBd4gihF

Simply delete these two lines.

printf '## Ungoogled-Chromium %s\n' "$_release_tag_version" | tee -a ./github_release_note.md
printf '\n' | tee -a ./github_release_note.md

Cookies deleted upon update

Since the last two versions or so, I have a problem with updating my web browser. Every time I update it, my cookies are being deleted. Weirdly enough, it's only the cookies. History, LocalStorage, IndexedDB, bookmarks — everything is there, but the cookies aren't. As a consequence, I get logged out on every website that I have :(

I use the Homebrew build, so I apologize in advance if I submit this issue in a wrong repository. Maybe you can help me out with trying to debug this issue. Perhaps @frodera or @kramred know what could be wrong?

Build fails on 10.14.5

Trying to build 74.0.3729.131-1.1, it fails with the below message:


********************************************************************************
 WARNING: The Mac OS X SDK is incompatible with the version of Xcode. To fix,
          either upgrade Xcode to the latest version or install the Mac OS X
          10.13 SDK. For more information, see https://crbug.com/620127.

 Current SDK Version:   10.14
 Current Xcode Version: 1021 (10E1001)
********************************************************************************
ERROR at //build/config/mac/mac_sdk.gni:111:3: Assertion failed.
  assert(false, "SDK is incompatible with Xcode")
  ^-----
SDK is incompatible with Xcode
See //build/config/sysroot.gni:64:3: whence it was imported.

Do I just have to bump a variable from 10.13 to 10.14 somewhere? If so, where?

Google Voice in-call Audio Silent

Google Voice in-call Audio Silent
— used to work until maybe a month ago (7/2023)

Discovered macOS 13.4.1.(c) Chromium 114.0.5735.198
Also present: macOS 13.5 Chromium 115.0.5790.170 (Official Build, ungoogled-chromium) (arm64)
works with macOS 13.5 Safari 16.6 (18615.3.12.11.2)

browse to: https://voice.google.com, place call
BUG: in-call audio in/out is silent
— ringing and hang-up sounds work
— listen to voicemail works
— audio test functions work

A periodical problem since 2019 when things no work related to some voice Plugin

Error building

When attempting to compile the build, I keep getting the error:

FAILED: gen/chrome/browser/resources/about_sys/preprocessed/app.html.ts gen/chrome/browser/resources/about_sys/preprocessed/app.html.ts 
python3 ../../tools/polymer/html_to_wrapper.py --in_folder gen/chrome/browser/resources/about_sys/preprocessed --out_folder gen/chrome/browser/resources/about_sys/preprocessed --in_files app.html log_entry.html --minify
Traceback
...
subprocess.CalledProcessError: Command '['which', 'node']' returned non-zero exit status 1
[533/57706] ACTION //chrome/browser/metrics:expired_histograms_array(//build/toolchain/mac:clang_x64)

What could be causing this issue?

clearing extended file attributes needs the '-s' switch when building

When building,
xattr -cr out/Default/Chromium.app
output:
xattr: No such file: out/Default/Chromium.app/Contents/Frameworks/Chromium Framework.framework/Libraries
The "Libraries" is a symbolic link to "Versions/Current/Libraries", so xattr needs the -s switch to avoid this error.
xattr -csr out/Default/Chromium.app

Build fails on 75.0.3770.80-1.1 tag

INFO: Unpacking "chromium" to ./ ...
DEBUG: Using BSD or GNU tar extractor
DEBUG: tar command line: /usr/bin/tar -xf /Users/fusion/git/ungoogled-chromium-macos/build/download_cache/chromium-75.0.3770.80.tar.xz -C /Users/fusion/git/ungoogled-chromium-macos/build/src
INFO: Unpacking "google-toolbox-for-mac" to third_party/google_toolbox_for_mac/src ...
DEBUG: Using BSD or GNU tar extractor
DEBUG: tar command line: /usr/bin/tar -xf /Users/fusion/git/ungoogled-chromium-macos/build/download_cache/google-toolbox-for-mac-v2.2.1.tar.gz -C /Users/fusion/git/ungoogled-chromium-macos/build/src/third_party/google_toolbox_for_mac/src
ERROR: Could not find relative_to directory in extracted files: google-toolbox-for-mac-v2.2.1
Traceback (most recent call last):
  File "/Users/fusion/git/ungoogled-chromium-macos/ungoogled-chromium/utils/downloads.py", line 393, in <module>
    main()
  File "/Users/fusion/git/ungoogled-chromium-macos/ungoogled-chromium/utils/downloads.py", line 389, in main
    args.callback(args)
  File "/Users/fusion/git/ungoogled-chromium-macos/ungoogled-chromium/utils/downloads.py", line 343, in _unpack_callback
    unpack_downloads(DownloadInfo(args.ini), args.cache, args.output, extractors)

Error refreshing patches

When I follow the instructions on refreshing the patches, it returns an error when it runs push -a --refresh.

Applying patch core/inox-patchset/0001-fix-building-without-safebrowsing.patch
can't find file to patch at input on line 3

Can I ignore this or do I need to use quilt remove?

Thank you!

REQ: please make available on MacPorts

Homebrew doesn't respect permissions, leaves a mess, does unwanted updates at odd times, it's just always been an ugly hack at the expense of ease of use. Also, not for nothing, Homebrew is offensive, especially to recovering alcoholics.

MacPorts is based on the FreeBSD ports system, is far more mature and far more organized, and has tens of thousands more packages available than Homebrew. When MacPorts is uninstalled it leaves nothing behind. Good luck completely uninstalling Homebrew. I don't think it's possible without formatting the boot drive and reinstalling the OS.

Thank you for your consideration.

Incoming UDP connection from google-analytics.com

So, this happened to me today: Search on duckduckgo.com for "google ui guidelines"
https://duckduckgo.com/?q=google+ui+guidelines&ia=web

Open first 3 hits in tabs:
https://developers.google.com/assistant/interactivecanvas/design
https://developers.google.com/photos/library/guides/ux-guidelines
https://developers.google.com/mobile-data-plan/ui_guidelines

Get an incoming connection warning from little snitch:
from 142.250.184.14 on UDP port 58040

UDP_google_analytics

I could not reproduce this afterwards.

I'm leaving this here as a note that there may be more (google) connection types hidden in the code that are not yet disabled by a patch.

auto update?

I'd like to use this Software but I don't know if the Software updates itself. Do you guys provide any tool for auto updating this?

Build failure on multiple jumbo files

Building Chromium on the latest Mojave/Xcode11 (the Xcode release shouldn't matter):

In file included from gen/chrome/browser/ui/ui_jumbo_mm.mm:52:
./../../chrome/browser/ui/cocoa/renderer_context_menu/render_view_context_menu_mac_cocoa.mm:101:42: error: too many arguments to function call, expected 0, have 5
  g_original_populatemenu_implementation(self, _cmd, menu, remainingEntries,
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.

In file included from gen/chrome/browser/browser_jumbo_mm.mm:5:
./../../chrome/browser/app_controller_mac.mm:317:60: error: too many arguments to function call, expected 0, have 5
  g_swizzle_imk_input_session->GetOriginalImplementation()(self, _cmd, range,
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~
1 error generated.

I didn't really look into these errors and i'm just modifying those function calls as required(still compiling).
I could submit a patch but... did someone else see these errors?

/cc @Zoraver @kramred

Repository maintenance

This repository is currently unmaintained, as such we are considering to add people to the team as described in https://github.com/ungoogled-software/ungoogled-chromium/blob/master/docs/repo_management.md#teams-in-the-ungoogled-software-organization with access to this repository.

@kramred You have been doing great work maintaining macOS packaging on your fork to the same (in my opinion quite high) standards that we have for Windows and Arch Linux packaging in this organisation. Would you be willing to upstream the work as a maintainer here? I sadly only just saw #84 as I wasn't watching activity until now.

See also ungoogled-software/ungoogled-chromium-windows#144 and ungoogled-software/ungoogled-chromium-debian#301

Notarization in GitHub Actions

As of macOS 10.15 (Catalina), Apple has started to strongly encourage Mac application notarization.

I've only done a bit of looking, but it seems like this is something that can be automated and built into the GitHub Actions CI pipeline. All of the technical stuff looks pretty straightforward, but Apple requires a paid developer account for the notarization process.

Can any of the maintainers support this? If not, would it be sufficient to add instructions for getting around the quarantine to this repo's README and/or the ungoogled software downloads page?

ref. ungoogled-software/ungoogled-chromium#859 for a related discussion. AFAICT, that pre-dates this repository having a CI process that generates the binaries, so I figured it might be worth re-opening a conversation on this repo.

Github CI dropping support for macos-10.14

Just a heads up, GitHub is upgrading the macOS environment to Catalina, moving forward the only available environment value will be macos-latest and older releases will NOT be supported.
The migration is ongoing, so, sooner or later CI will start to fail as for #31.

New version testing

The master branch should be ready for testing. Please try it out and let us know how it goes.

Failed to compile on macOS 10.15

ungoogled-chromium tag: 77.0.3865.90-1
OS: macOS 10.15
Xcode 11.2 beta 2

In file included from gen/chrome/browser/ui/ui_jumbo_mm.mm:52:
./../../chrome/browser/ui/cocoa/renderer_context_menu/render_view_context_menu_mac_cocoa.mm:101:42: error: too many arguments to function call, expected 0, have 5
  g_original_populatemenu_implementation(self, _cmd, menu, remainingEntries,
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.

In file included from gen/chrome/browser/browser_jumbo_mm.mm:5:
./../../chrome/browser/app_controller_mac.mm:317:60: error: too many arguments to function call, expected 0, have 5
  g_swizzle_imk_input_session->GetOriginalImplementation()(self, _cmd, range,
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~

If I pass -DOBJC_OLD_DISPATCH_PROTOTYPES flag to the compiler, this error no longer occurs. However another error jumped out:

[1583/1739] ACTION //tools/v8_context_snapshot:generate_v8_context_snapshot(//build/toolchain/mac:clang_x64)
FAILED: v8_context_snapshot.bin
python ../../build/gn_run_binary.py ./v8_context_snapshot_generator --output_file=v8_context_snapshot.bin
./v8_context_snapshot_generator failed with exit code -5
ninja: build stopped: subcommand failed.

Touch ID/Biometric authentication not available

In the current build of ungoogled chromium on macos there is no option to authenticate with Touch ID through webauthn.

Steps to reproduce:

  • Go to webauthn.io.
  • Fill in a username and click register.
  • Chrome will show "This device" as an option, which triggers TouchID, Ungoogle Chromium does not.

Left is Ungoogled Chromium, right is Chrome
Left Ungoogled Chromium, right Chrome

I understand this might have something to do with signatures, is there anything we could do to possibly self sign it or something?

Ungoogled Arc Browser

Would you guys ever consider making an "Ungoogled Arc Browser" ?

Basically, Arc Browser, but with all the spyware features removed just like for Ungoogled Chromium.

iCloud Password Extension

Install the extension and try to sign it into iCloud via authentication. You are informed you must be using macOS Sonoma and are asked to download it.
I'm running macOS Sonoma :)

Is this project dead ?

I just realised that I haven't been receive any update in homebrew for quite a while now.
Is this project now dead ?

`(Error code: 9) (Extra code: 0)` in About Chromium page

This issue is used to track the following issue and inform ungoogled-chromium macOS users about this (as it was reported before).


An error message with code (Error code: 9) (Extra code: 0) is shown in the about page since PR #134 (update to v120). (Check the photo below).

image

It does also happen with official Google Chromium macOS builds. The same error is shown with the official build (while testing on my local environment) and there's multiple reports found online like this one.

image

It's either an upstream issue or intended (as the update is disabled with vanilla Chromium). If it is intended, what's weird is that only macOS builds have the error message...

Issue w/ Updating v. 109.0.5414.120

Hi there, I have an issue with updates of the latest build 109.0.5414.120 with Brew.

I am getting the following error message as it seems the new build 109.0.5414.120 can't be installed over the December build 108.0.5359.125. After using the usual comands: brew update and brew upgrade, I got the following:-

==> Upgrading 1 outdated package:
eloston-chromium 108.0.5359.125-1.1,1671136997 -> 109.0.5414.120-1.1,1674771644
==> Upgrading eloston-chromium
==> Downloading https://github.com/kramred/ungoogled-chromium-macos/releases/download/109.0.5414.120-1.1_x86-64__1674771
Already downloaded: /Users/Mac11/Library/Caches/Homebrew/downloads/27f81d70f49cf5f312fe547f1fa4798536efa0c03dd13e138ba57b354a64b0ec--ungoogled-chromium_109.0.5414.120-1.1_x86-64-macos.dmg
==> Purging files for version 109.0.5414.120-1.1,1674771644 of Cask eloston-chromium
Error: eloston-chromium: It seems there is already an App at '/usr/local/Caskroom/eloston-chromium/108.0.5359.125-1.1,1671136997/Chromium.app'.

I have never had this issue before of conflict between previous and current version.
Is there anything I should do?

Thanks

switches::kFingerprintingClientRectsNoise

Hi do you know how can I fix this:

ninja -C out/Default chrome
ninja: Entering directory `out/Default'
[1/387] SOLINK libcontent.dylib libcontent.dylib.TOC
FAILED: libcontent.dylib libcontent.dylib.TOC

Undefined symbols for architecture x86_64:
  "switches::kFingerprintingClientRectsNoise", referenced from:
      (anonymous namespace)::SetIndividualRuntimeFeatures(base::CommandLine const&, bool) in runtime_features.o
      content::RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer(base::CommandLine const&, base::CommandLine*)::kSwitchNames in browser_jumbo_14.o
  "switches::kFingerprintingCanvasImageDataNoise", referenced from:
      (anonymous namespace)::SetIndividualRuntimeFeatures(base::CommandLine const&, bool) in runtime_features.o
      content::RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer(base::CommandLine const&, base::CommandLine*)::kSwitchNames in browser_jumbo_14.o
  "switches::kFingerprintingCanvasMeasureTextNoise", referenced from:
      (anonymous namespace)::SetIndividualRuntimeFeatures(base::CommandLine const&, bool) in runtime_features.o
      content::RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer(base::CommandLine const&, base::CommandLine*)::kSwitchNames in browser_jumbo_14.o
ld: symbol(s) not found for architecture x86_64

Update to 73

Help wanted for updating to ungoogled-chromium 73. Please respond if you'd like to work on this. Thanks

[Solved] 89 version now suddenly requires Big Sur?

Hey, when trying to update from 88 to 89 and installing ungoogled-chromium_89.0.4389.90-1.1_arm64-macos.dmg I got a weird message that my macOS 10.15.7 is incompatible with this build and it requires Big Sur. Surely this is just a mistake and we can just change back the target when building, right? Or there is some other even more simple solution? Thanks so much for working on this project.

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.