Coder Social home page Coder Social logo

austin-vscode's Introduction

Synopsis

Gabriele has a curiosity that's hard to appease. Since a early age he's always been intrigued by Science and Nature and wanted to know more about its fundamental laws. Together with his taste for abstraction as a way to find order and rigour in things, he embarked on an adventure to learn about Physics and Mathematics. He likes Technology very much too, a trait you could have guessed if you had the chance to see him crack open any gizmos he came across to see what was inside and understand how they worked.

Changelog

2016 - Upgrade to PhD Pure Mathematics

2011 - Upgrade to MSc Theoretical Physics

2009 - Upgrade to BSc Physics

1987 - Initial release

Publications

A list of all my academic publications can be found on arxiv.org.

I maintain The Hub of Heliopolis, a blog where I collect the notes of my experiments with technology.

I'm also the author of the following books

Main Projects

Currently, my main project is Austin, a frame stack sampler for CPython which can be used to build powerful statistical profilers for Python applications that don't require instrumentation and have minimal impact on the application runtime, making it ideal for profiling in production.

Contributions

My work on Austin is helping developing the profiling interface of Python. See my contributions to CPython for more details.

Growth

I always wanted to learn about Machine Learning and in 2018 I started exploring its mathematical fundamentals. You can find my personal take in my book The Mathematical Foundations of Machine Learning.

My project Marvin collects some code that I wrote as part of my experiments and applications of ML techniques that I have used to solve certain problems.

Stats

GitHub Stats
GitHub Stats
Top Language


GitHub Pages LinkedIn Stack Exchange Twitter wikipedia

visits repos gists

austin-vscode's People

Contributors

iburakov avatar iynehz avatar p403n1x87 avatar slishak avatar tonybaloney avatar

Stargazers

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

Watchers

 avatar  avatar  avatar

austin-vscode's Issues

Bug: Austin fails on pshell when executable path is a string

Austin task fails to run (on Windows 10, powershell) if the python executable path needs to be enquoted (as there's a space in the path).
Example:

Starting Profiler in c:\Users\Alexandre Nole\Desktop\PyDis.
Running 'austin' with args '-i 100 --pipe  "C:\Users\Alexandre Nole\AppData\Local\Programs\Python\Python310\python.exe" "c:\Users\Alexandre Nole\Desktop\PyDis\AOC\Day24\tmp.py"'.
austin process exited with code 33

 *  The terminal process failed to launch (exit code: 33).

Potentially fix this by adding an option in the extension settings to specify an alias for the python executable path, eg py?
Alternatively, change enquoting method such that it enquotes the exact directory name with the space:

C:\Users\"Alexandre Nole"\AppData\Local\Programs\Python\Python310\python.exe

The full string version works fine on cmd, but not pshell, so forcing vscode to use cmd instead is another workaround.

No FlameGraph Visualisation

Hi, first of all, thank you for Austin profiler!

Flame graph visualization stops working in the 0.8 release.

I have a related log in vscode developer tools :

mainThreadExtensionService.ts:63 [[object Object]]Cannot read property 'asWebviewUri' of undefined
$onExtensionRuntimeError @ mainThreadExtensionService.ts:63
mainThreadExtensionService.ts:64 TypeError: Cannot read property 'asWebviewUri' of undefined
	at FlameGraphViewProvider.showLoading (vscode-file://vscode-app/home/psvoboda/.vscode/extensions/p403n1x87.austin-vscode-0.8.0/out/providers/flamegraph.js:116)
	at vscode-file://vscode-app/home/psvoboda/.vscode/extensions/p403n1x87.austin-vscode-0.8.0/out/extension.js:24
	at vscode-file://vscode-app/home/psvoboda/.vscode/extensions/p403n1x87.austin-vscode-0.8.0/out/model.js:191
	at Array.forEach (<anonymous>)
	at AustinStats.readFromFile (vscode-file://vscode-app/home/psvoboda/.vscode/extensions/p403n1x87.austin-vscode-0.8.0/out/model.js:191)
	at AustinCommandExecutor.showStats (vscode-file://vscode-app/home/psvoboda/.vscode/extensions/p403n1x87.austin-vscode-0.8.0/out/providers/executor.js:21)
	at ChildProcess.<anonymous> (vscode-file://vscode-app/home/psvoboda/.vscode/extensions/p403n1x87.austin-vscode-0.8.0/out/providers/executor.js:52)
	at ChildProcess.emit (events.js:315)
	at maybeClose (internal/child_process.js:1048)
	at Process.ChildProcess._handle.onexit (internal/child_process.js:288)

Line heat color can make lines unreadable on dark themes

Hi! Great tools, thanks. I seem to have stumbled upon a minor problem with those line heat color decorations:

function setLineHeat(frame: FrameObject, own: number, total: number, overallTotal: number, localTotal: number, mode: string) {
const editor = vscode.window.activeTextEditor;
if (editor !== undefined) {
const opacity = own / localTotal;
var color: string | undefined = undefined;
switch (mode) {
case "cpu":
color = `rgba(255, 64, 64, ${opacity})`;
break;
case "wall":
color = `rgba(192, 192, 64, ${opacity})`;
break;
case "memory":
color = `rgba(64, 192, 64, ${opacity})`;
break;
}

I'm using a dark theme and if there's a single hottest line, then it becomes kind of unreadable:

image

You can reproduce it by running the "Profile with Austin" action on this snippet:

import time

time.sleep(5)

I tried other dark themes, including the default ones, and the line is more or less hard to read on most of them. While this is somewhat of a corner case, it would probably be nice to fix it regardless. What do you think?

The easiest solution I can think of is just Math.min(opacity, 0.6) it. The 60% opacity cap makes it at least (arguably) distinguishable enough:

image

60% is a big share of the time, so, if I understand it correctly, there can't even be more than one such line and it's safe to cap its color. In other words, we're not really missing anything by losing the ability to visually distinguish between lines in 60%-100% own% range :)

What's your thoughts on that?

Color Highlighting

Is it possible to personalise color highlighting?
Like I want to wisualize time in second instead of %?.
Also It would be very nice if when selecting a sub stack in the flame graph the time is updated also in the lines.

Add MacOS instructions for modifying `sudoers`

It could be helpful for MacOS users if there was a note about needing to adjust the sudoers file by using sudo visudo and adding the following line:

<USER>        ALL = (root) NOPASSWD: <PATH_TO_AUSTIN>

(With the appropriate substitutions).

Thanks for the great work!

Issues with launching tasks on Mac

I am running VS Code on MacOS Ventura 13.6.1, with the latest version of the extension (0.16) and austin installed from conda-forge. I also have the permissions in the sudoers file. However, I can't get a satisfactory task configuration.

If I set austin as a task type, I have two problems:

  • it doesn't add sudo at the beginning, so I don't have permissions (that should be fixed according to 38720cf). As a workaround, I can add myself using the command option.
  • I don't get variable substitution like ${file}. This appears in this issue #35, but since it is closed, I understand that it has been solved. However, it is not working for me.

On the other hand, if I set the task to be of script type, although the two previous problems are solved, the results are not integrated in the extension, so they don't appear in the panels.

I am sure I am doing something wrong or have misunderstood how to configure the extension, so I would appreciate information on this.

Thanks in advance.

austin: unrecognized option '--pipe'

Hello,

I've set up my task:

    "version": "2.0.0",
    "tasks": [
        {
            "type": "austin",
            "file": "dragonfly.py",
            "args": ["--document-id", "f9f2b069-947c-4fbf-95dc-520a663c5124"],
            "label": "Profile dragonfly",
        }
    ]
}```

but I get 

  • Executing task: Profile dragonfly

Starting Profiler in /workspaces/tome-core.
Running 'austin' with args '-i 100 --pipe /home/vscode/.pyenv/versions/document/bin/python3 /workspaces/tome-core/dragonfly.py --document-id f9f2b069-947c-4fbf-95dc-520a663c5124'.
austin process exited with code 64


and if I try running that directly on the terminal:

```austin -i 100 --pipe /home/vscode/.pyenv/versions/document/bin/python3 /workspaces/tome-core/dragon
fly.py --document-id f9f2b069-947c-4fbf-95dc-520a663c5124  
austin: unrecognized option '--pipe'
Try `austin --help' or `austin --usage' for more information.```

? Thanks!

Load stats crashes when flame graph view not showing

If the flame graph web view is not available, then load task crashes

stack trace: TypeError: Cannot read properties of undefined (reading 'asWebviewUri')
    at FlameGraphViewProvider.showLoading (/Users/anthonyshaw/projects/austin-vscode/src/providers/flamegraph.ts:141:38)
    at /Users/anthonyshaw/projects/austin-vscode/src/extension.ts:26:60
    at /Users/anthonyshaw/projects/austin-vscode/src/model.ts:242:39
    at Array.forEach (<anonymous>)
    at AustinStats.readFromStream (/Users/anthonyshaw/projects/austin-vscode/src/model.ts:242:25)
    at AustinStats.readFromFile (/Users/anthonyshaw/projects/austin-vscode/src/model.ts:253:21)
    at /Users/anthonyshaw/projects/austin-vscode/src/controller.ts:41:32
    at processTicksAndRejections (node:internal/process/task_queues:96:5)

austin process exited with code 127

Using this task in tasks.json:

{
  "version": "2.0.0",
  "tasks": [
    {
      "type": "austin",
      "file": "main",
      "label": "Profile Main"
    }
  ]
}

It gives me the error:

Starting Profiler in /home/user/src
Running 'austin' with args '-i 100 --pipe  /usr/bin/python3 /home/user/src/main'.
austin process exited with code 127
The terminal process failed to launch (exit code: 127)

Austin version: austin 3.1.0


It works when I run the file manually (as it shows in the errors, with --pipe and -i 100).

Set environment variables when running Austin task

Hello,

I tried using Austin to profile my python process (as a Task following the docs), but the python process needs to be launched with some environment variables. VSCode launch.json supports the field envFile: eg "envFile": "${workspaceFolder}/.env". Is it possible to support the same field in Austin tasks?

This is my tasks.json:

{
  "version": "2.0.0",
  "tasks": [
    {
      "type": "austin",
      "label": "Profile tests",
      "command": ["poetry", "run"],
      "args": ["pytest", "test/"]
    }
  ]
}

Improve sample loading time

When profiling scripts that take more than a few minutes, austin can generate GB of profiling data.
I'm using austin to profile a heavy algorithm for machine learning explainability, so lots of computation which can take several minutes to complete.

When I try to load a 300MB sample from the flamegraph view, I get "crunching the numbers..." for 1+ minutes.
When I try to load anything over 1GB, it's a coin toss on whether it will ever complete at all.

I was hoping the loading time could be improved as I believe it should be possible to parse the file in less time than that.

I find the in Editor timing annotations that this extension provides invaluable during profiling and I haven't been able to find anything else providing them for python, but the loading time is revealing itself to be prohibitive for any longer running script.

I tried looking at the code of the extension to see if something stood out to me, but after a while I concluded it would be best to profile the loading code instead and perform informed decisions using that data.

I believe VS code might offer something to profile VS Code extensions, but I'm not certain, I was hoping you would know more.

exited with code 127 Error, possible shell config issue?

While trying to profile a python script in vscode on macOS 12.4 and austin 0.10.8 I keep getting the error:

 *  Executing task: austin: profile /Users/user/Desktop/dev_folder/test_profile_script.py 

Starting Profiler in /Users/user/Desktop/create_transfer_functions.
Running 'austin' with args '-i 100 --pipe  /Users/user/miniconda3/envs/mtpytest/bin/python "/Users/user/Desktop/dev_folder/test_profile_script.py"'.
austin process exited with code 127

 *  The terminal process failed to launch (exit code: 127). 
 *  Terminal will be reused by tasks, press any key to close it. 

the Austin output in vscode appears to indicate it's being launched through bash, rather than zsh

/bin/sh: austin: command not found

It's possible this error is unrelated to austin at all, but rather my misunderstanding of vscode settings. I suppose it may also be related to #21.

Process exited with code -2

Hello there! Here's the error that I get:

 *  Executing task: austin: profile /home/k4/Projects/JingleGenerator/vocalframe_reconstruction_speedtest.py 

Starting Profiler in /home/k4/Projects/JingleGenerator.
Running 'austin' with args '-i 100 --pipe /home/k4/gpu_ml_env/bin/python /home/k4/Projects/JingleGenerator/vocalframe_reconstruction_speedtest.py'.
spawn austin ENOENTaustin process exited with code -2

 *  The terminal process failed to launch (exit code: -2). 
 *  Terminal will be reused by tasks, press any key to close it. 

I tried a lot of stuff with no luck so far, also no more descriptive errors. Austin is installed and seems to run ok (well, it starts and the version is current at 3.6.0, I wish I knew how to test it in command line). I'm on Ubuntu 20.04.

tasks.json not accepting variable replacement

Not sure if this is a vs-code issue or an plugin issue, but my Austin task fails in vscode when I try to insert variables like ${workspaceFolder} or ${file} in args.

extension version: v0.10.8
os: macOS 12.6 (M1 Pro)
vscode verson: 1.72.2 (Universal)

I have completed the necessary steps to invoke sudo instead of austin directly.

tasks.json

{
    "version": "2.0.0",
    "tasks": [
        {
            "type": "austin",
            "label": "Austin: Profile File",
            "command": ["sudo"],
            "args": [
                ".venv/bin/python",
                "${file}" // "someFile.py"
            ],
            "problemMatcher": []
        }
    ]
}

output:

 *  Executing task: Austin: Profile File 

Starting Profiler in /Users/tucker/Dev/colour-specio.
Running 'sudo' with args 'austin -i 100 --pipe  .venv/bin/python ${file}'.
austin process exited with code 32

 *  The terminal process failed to launch (exit code: 32). 
 *  Terminal will be reused by tasks, press any key to close it. 

Not possible to select conda environment to run with

When I profile a script, it always calls python from a specific conda environment, which is always the one selected for the workspace.

It would be nice if austin could be run with environment assigned to the script being profiled.

If it is not possible, how can I define the environment it uses (where can I specify the default python path)?

Thank you.

Space in path problem

I have a problem when launching a new profile with shift + F5.
The output is:
austin process exited with code 33.
and by looking at the logs in output it says:
C:\Users\Name Surname.conda\envs\env_name\python.exe: can't open file 'c:\Users\Name': [Errno 2] No such file or directory
unfortunately I have a space in my path and I think this is what is causing the problem.
If i launch the same command:
austin -i 100 ...
from powershell it works, then I save it into a file and I load it using the vscode palette.

Run Austin from a Task

It would be better to run Austin from a task, that way you can set configurations for which file/module to execute.

  • Implement a task model
  • Implement a task provider
  • Write the child-process executor
  • Write a command-line provider
  • Test?

I'll implement this and raise a PR

Running 'Profile with Austin' command fails without error message, causes script to abort at start

When I run Austin in VS Code via the built-in 'Profile with Austin' command (or [shift]+[F5]), the Python script aborts early and no useful data is recorded for the flame graph. However, when I take the exact same command line parameters and run them manually in the VS Code terminal window (piping to file output instead), then the underlying Austin install runs perfectly, profiles the full script, and writes the file nominally. After this, the Austin VS Code extension can then read the output file nominally, including the flame graph and highlighted lines.

So, for my instance of the built-in 'Profile with Austin' command, something in the extension itself is causing the program to abort early, messing up script execution, and therefore messing up script profiling via the built-in command.

(Another possibility I was exploring is that the profiler is not being attached to the correct thread. But this simple mis-attachment cannot explain why the script itself would abort early; in this case, the script would still run, albeit in the background without being profiled. But with longer-running scripts, it's obvious from monitoring my system resources and blocking time that the script itself is aborting very early, without my code even having been ran.)

Attached screen recording video demonstrates 'Profile with Austin' command failure and manual workaround success via terminal window.
https://github.com/P403n1x87/austin-vscode/assets/53286846/fc6dfd98-970f-433a-ae05-953d3a8cf9fc

System/Environment Parameters:

  • OS:
    - Windows 10 Pro, Version 22H2, Build 19045.4529
  • VS Code:
    - Version: 1.91.0-insider (user setup)
    - Commit: 0da59bdde2339d6ba632524dc8f3fb6f4b8a2bcb
    - Date: 2024-06-14T10:07:53.538Z
    - Electron: 29.4.0
    - ElectronBuildId: 9593362
    - Chromium: 122.0.6261.156
    - Node.js: 20.9.0
    - V8: 12.2.281.27-electron.0
    - OS: Windows_NT x64 10.0.19045
  • Austin:
    - Version: 3.6.0
    - Installation: via austin-3.6.0-win64.msi
  • Austin VS Code extension v0.17.2
  • Conda Virtual Environment
    - Installation: Mambaforge 23.1.0-1
    - Usage: unnamed virtual environment, as created via VS Code’s built-in “Conda” command

austin process exited with code -4058

I just installed Austin v0.13.1 in VSCode v1.82.2. When I press Shift-F5 I get the following terminal output:

Executing task: austin: profile f:\VSCode\test.py 

Starting Profiler in f:\VSCode.
Running 'austin' with args '-i 100 --pipe C:\Users\...\Python310\python.exe f:\VSCode\test.py'.
spawn austin ENOENTaustin process exited with code -4058

The terminal process failed to launch (exit code: -4058).

Live updates?

I hoped to get a "live" update of the actual usage (best case including reset/start/stop), but it seems that the results are only plotted after the program finished (although -pipe is used)
Maybe I don't understand the extension correctly?

Is this not possibe or didn't I click the correct buttons...

Best Regards,
leo

Fails to launch and closes window

When I try and run "Profile with Austin", it opens a terminal, runs a command and then closes the terminal again.

The task failed with "Austin terminated with code 33"

but because the terminal is closed, I can't see what the error message was.

Poor test coverage

This VS Code extension currently lacks good test coverage. The main focus should be on the "model" part of the code-base.

Vscode flamegraph different compared to flamegraph.pl

The flamegraph inside vscode seems wrong to me. In the example below it shows that testcallback function spends most of the time in __call__ in jit.py, but the flamegraph.pl shows it spends most of the time in multiple __call__ functions in device.py.

Here is the output of austin -o output.txt python3 testtiny.py:

output.txt

Here is the screenshot of the output.txt file opened in vscode (some of the text is barely readable due to the colors (can this be improved?), but you can find the testcallback function on the image):

screen

Here is the svg file from flamegraph.pl output.txt > test.svg. Note that the testcallback function has a different breakdown compared to the previous image.

test

Use memory profiling option

Hi - me again...

I was wondering if there is a way to use the memory profiling option with the vscode-austin plugin?

Cheers

Respect active environment

Hi 👋

I'm not sure if I have my setup wrong - but it seems when I try to invoke austin as a task it is not using the python version/ venv selected in VSCode.
Is this expected?
I currently specify the full path to python interpreter as my first arg.

Cheers

Trying to run pytest using Austin in VS code.

This may be similar to #21 but I'm not sure. I read the documentation at the VS code marketplace here

Here's my situation:
I have python project that I'm trying to profile using Austin within VS code. I'm using a MacBook (macOS Big Sur). Here's my tasks.json

{
    "version": "2.0.0",
    "tasks": [
        {
            "type": "austin",
            "label": "Profile tests",
            "args": [
                "python",
                "-m",
                "pytest",
            ],
            "problemMatcher": []
        }
    ]
}

I'm just trying to run pytest over the project. I'm also running this within a conda virtual environment. I get the following error:

> Executing task: Profile tests <

Starting Profiler in xxx/yyy/zzz/project-name.
Running 'austin' with args '-i 100 --pipe  python -m pytest'.
austin process exited with code 127
The terminal process failed to launch (exit code: 127).

Terminal will be reused by tasks, press any key to close it.

Any guidance/suggestion would be great appreciated.

Task doesn't start in correct working directory

I have a workspace with many different folders.

The task always starts in the first folder in the workspace, instead of the one with the project where the task is configured, rendering this extension impossible to use in any but the first project in the workspace.

I suspect this line is to blame:

let cwd = vscode.workspace.workspaceFolders?.[0].uri.fsPath;

flame graph does not show

It only shows the Austin icon on the flame graph tab. This is not the same issue as #11 . I got #11 on my home PC, but on my workplace PC it does not show flame graph at all. Not sure if it relates to the fact that we use VSCode remote at work..

doesn't work on my setup

OS : windows10

env:

  • python 3.7.10 installed using anaconda,
  • austin 3.1.0 installed using choco,
  • austin-vs-code 0.9.0

what works:

  • austin-tui
  • austin commandline

what doesn't:

  • austin-vs-code

symptom:
After I hit shift+F5,

  • the tasks terminal is launched and keeps running (it's a long-running script),
  • the flamegraph pane shows an "OPEN" button most of the time, sometimes it also shows a "crunching the numbers...", but never anything else.
  • the call stacks/ top pane is always empty

Please tell me whatever information I could provide, thank you developers.

By the way, I also used to study theoretical physics (and got my PhD in this field), and I also am doing machine learning and data analysis (for a career) right now. @P403n1x87 We got more than a bit in common, to give you a reason to help me.

Unable to launch profile, austin process exited with code -4058

Hello,
I installed Austin on windows (from the installer) and the VSC extension.
When I try to run the profiler in VSC extension, I get the following error:

Executing task: austin: profile c:\Users\camilleha\OneDrive - RISE\Dokument\MyPythonPackages\ElectricityMarketsData\src\ElectricityMarketsData\create_price_scenarios_AS.py

Starting Profiler in c:\Users\camilleha\OneDrive - RISE\Dokument\MyPythonPackages\ElectricityMarketsData.
Running '"C:\Program Files\P403n1x87\Austin"' with args '-i 100 --pipe C:\Users\camilleha\Anaconda3\envs\latestpkgs\python.exe "c:\Users\camilleha\OneDrive - RISE\Dokument\MyPythonPackages\ElectricityMarketsData\src\ElectricityMarketsData\create_price_scenarios_AS.py"'.
spawn "C:\Program Files\P403n1x87\Austin" ENOENTaustin process exited with code -4058

  • The terminal process failed to launch (exit code: -4058).
  • Terminal will be reused by tasks, press any key to close it.

I read in other issues that there may be some issues with whitespaces in the path. Is it what's happening here? (One of the parent folders of the python script is called "OneDrive - RISE").

command not recognized when using conda environment in Windows

I can't install austin via conda because there's no Windows package. It doesn't look like it's on PyPI either (for Windows at least), and using the Windows MSI or Chocolately doesn't automatically add austin to the path. The docs mention that you can specify the absolute path to austin using the extension settings, but there are "No Settings Found". After installing austin, in Windows Terminal it recognizes austin -h just fine.

Any suggestions?

Unable to launch profiler

Configured VScode as per instructions. Have miniconda / austin installed. When trying to run the profiler, I see:

Starting Profiler in f:\adobe\photoframe\iCloudPhotoViewer.
Running 'C:\Program Files\P403n1x87\Austin\austin.exe' with args '-i 100 --pipe C:\tools\miniconda3\python.exe f:\adobe\photoframe\iCloudPhotoViewer\server\WebFrontend.py'.
austin process exited with code 1
The terminal process failed to launch (exit code: 1).

Terminal will be reused by tasks, press any key to close it.

Any idea what I might be doing wrong?

Missing instructions for using austin with sudo through vs code?

Heya, I've been trying to get this working per the instructions, but the error I keep getting back from the terminal is exit 37 which I know to mean 'insufficient permissions'.

I've created an appropriate /private/etc/sudoers.d file and tested sudo austin from the terminal to make sure it runs without a password prompt.

However when running a task within vs code (running as the user in the sudoers.d file), I still get that exit 37 issue. The only thing I can think of is that the vs code extension isn't executing austin with sudo? Is this something that must exist in the tasks.json file?

Also, unrelated, I could not get the recommended sudoers line to work in MacOS Sonoma. I had to replace the (root) part with (ALL). sudo would refuse to recognize it for whatever reason. (sudo -l -l would not display the entry as existing at all, even when sudo visudo -c thatsudoersfile returned a clean bill of health )

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.