Comments (47)
Please open Task Manager and find the process that eats this cpu time. Is it really phiola.exe? If so, please post here what the Command Line column shows.
I use System Informer as task manager. Attached is the screenshot.
Currently phiola doesn't support encoding to MP3. I removed it because I think that everyone should use modern and better audio encoders such as Opus, Vorbis and AAC. Do you really need encoding to MP3 for some reason?
Yes, mp3 is no longer the latest and greatest codec. But I think it is the best known and still the most used. At least for people who aren't that interested in it. That's why I wanted to at least offer a conversion.
Therefore the conversion is not necessary. But it would be nice to have.
This can be achieved for example by your script if it will read INFO...written xxxKB line in phiola's output.
Ok, I'll take another look at this.
Is your project opensource?
FYI, I've created the page where you can post the links to your work. Maybe others will find it interesting too.
Thanks for your offer. Yes it is opensource.
But at the moment I haven't published it yet. There are still some bugs to be fixed, the language to be changed and a description to write.
from phiola.
Yes, I'll do it. But I'm on vacation right now. I'll have to see when I can get around to it.
from phiola.
OK, first of all, the log file and crashdump do not match. How did you obtain the log file? You should exec phiola like this:
phiola.exe -D -L phi.log URL
Yes, I created the command line like this.
I don't know why it doesn't match. It could be that the phiola.log was not recreated but appended. I hadn't deleted it before.
There is a small time difference between the two because I shortened the log.
Ok, here are new logs. This time I deleted everything first.
phi.log
phiola-crashdump-6661eee3.txt
Also, does it crash if you play the .aac file that was recorded with phiola convert URL -copy -o 1.aac from this radio stream? I wonder if this problem is due to aac audio data decoding or it is specific to decoding from aac radio stream.
Hm, strange. When I use your command
phiola convert URL -copy -o 1.aac
I don't notice any crashes and I can play the aac without errors. But with
phiola URL
phiola crashes every few calls.
Also, how many aac radio streams result in this behaviour? Does it happen only for this particular radio station?
I tested it with several aac stations. It's always the same result.
Anything else. Stream addresses like this cause Phiola to crash.
http://streams.bigfm.de/bigfm-dance-128-aac?usid=0-0-H-A-D-30
and with
phiola convert URL -copy -o 1.aac
phiola also crashes if the file already exists.
Edit 1:
With the redirection from my program it looked like a crash. But it isn't one. Sorry.
The stream address comes from an imported playlist and phiola displays an error message that the syntax is wrong and terminates.
Edit 2:
As you said, phiola does not overwrite the file. This can be solved using programming, or can phiola do it with appended numbers, like windows.
from phiola.
Thank you very much.
I haven't had any new crashes so far, so the problem should be resolved.
from phiola.
Oh man, you're right. Obviously it wasn't copied correctly or I accidentally took the test directory.
Please excuse my mistake.
from phiola.
Hi!
There are several problems with phiola:
- it requires a port number to be specified in address
- it doesn't support http redirections
- it creates incorrect file names from server's meta data in this case
I'll fix the issues in the next release, thank you for bringing this up!
For now you can use this command:
phiola http://s2-webradio.webradio.de:80/chillout -tee "@counter.mp3"
from phiola.
It looks like Phiola is trying to overwrite the file every new tag from the stream. I keep getting new files with your command.
If I enter "@artist - @title.mp3" for "@counter.mp3", then the title is created correctly the first time, after that there are only error messages. For example
ERROR file-write: *3: fffile_open: El Profesor - Bella Ciao (HUGEL Vocal Radio Cut).mp3: (80) Die Datei ist vorhanden
And later a file with the command parameter is created
ERROR file-write: *6: fffile_open: @artist - @title.mp3: (80) Die Datei ist vorhanden
from phiola.
Fixed in 2.1-beta2. Now this command:
phiola http://mp3channels.webradio.de/chillout -tee "@artist - @title.mp3"
should work correctly.
It looks like Phiola is trying to overwrite the file every new tag from the stream.
Yes, now phiola will create new files only if the tags have been really changed (and not just sent out by server).
from phiola.
Wow, you're fast.
With the example address it works great now, thank you very much.
I just tried other addresses. Unfortunately, many of my list don't work yet.
For example:
http://mdr-284320-0.cast.mdr.de/mdr/284320/0/mp3/high/stream.mp3
brings the error message
#5520 ERROR http-client: resource unavailable: 401 Unauthorized
or
http://radiorecord.hostingradio.ru/chil96.aacp
brings
#8504 ERROR file-write: *3: fffile_open: GEORG LEVIN - When I'm With You.mp3: (80) Die Datei ist vorhanden
#8504 ERROR file-write: *4: fffile_open: @artist - @title.mp3: (80) Die Datei ist vorhanden
like the first time.
from phiola.
401 Unauthorized
Got it, thanks! There's one more thing to fix.
fffile_open: GEORG LEVIN - When I'm With You.mp3: (80) Die Datei ist vorhanden
This is OK, because phiola won't overwrite your files without your permission. In general, I don't think you need to overwite any files in this case. Either use something like @counter. @artist - @title.mp3
to make all file names unique, or just ignore these errors.
If you really want to overwite the files, use -force
key, but be careful.
from phiola.
The command with this adress fails
phiola http://radiorecord.hostingradio.ru/chil96.aacp -tee "@artist - @title.mp3"
#1 "MAPPS/JOSH RUBIN - Secrets" "http://radiorecord.hostingradio.ru/chil96.aacp" 0MB 0:00.000 (0 samples) 0kbps HE-AAC int16 44100Hz stereo
0:0013:27:36.976 #3976 INFO file-write: *2: MAPPS_JOSH RUBIN - Secrets.mp3: written 14KB
13:27:36.976 #3976 ERROR file-write: *3: fffile_open: MAPPS_JOSH RUBIN - Secrets.mp3: (80) Die Datei ist vorhanden
13:27:36.977 #3976 ERROR file-write: *4: fffile_open: MAPPS_JOSH RUBIN - Secrets.mp3: (80) Die Datei ist vorhanden
0:01phiola crashed: C:\Users\Dirk\AppData\Local\Temp\phiola-crashdump-6648acc9.txt
phiola v2.1-beta2 (windows-amd64)
Signal:3221225477 Address:0x000002e6af979070 Flags:0 Thread:3976
#0: 0x00007ff6b8ce99cf +99cf D:\Programmierung\wxbasic\Projects\myMenu\ThirdParty\phiola-2\phiola.exe [0x00007ff6b8ce0000]
#1: 0x00007ff6b8ce2060 +2060 D:\Programmierung\wxbasic\Projects\myMenu\ThirdParty\phiola-2\phiola.exe [0x00007ff6b8ce0000]
#2: 0x00007fffafd2cd9c +15cd9c C:\Windows\System32\KERNELBASE.dll [0x00007fffafbd0000]
#3: 0x00007fffb295907d +a907d C:\Windows\SYSTEM32\ntdll.dll [0x00007fffb28b0000]
#4: 0x00007fffb293f187 +8f187 C:\Windows\SYSTEM32\ntdll.dll [0x00007fffb28b0000]
#5: 0x00007fffb29549ff +a49ff C:\Windows\SYSTEM32\ntdll.dll [0x00007fffb28b0000]
#6: 0x00007fffb28ce466 +1e466 C:\Windows\SYSTEM32\ntdll.dll [0x00007fffb28b0000]
#7: 0x00007fffb29539ee +a39ee C:\Windows\SYSTEM32\ntdll.dll [0x00007fffb28b0000]
#8: 0x00007fff7190f708 +f708 D:\Programmierung\wxbasic\Projects\myMenu\ThirdParty\phiola-2\mod\libsoxr-phi.dll [0x00007fff71900000]
#9: 0x00007fff7191fd09 +1fd09 D:\Programmierung\wxbasic\Projects\myMenu\ThirdParty\phiola-2\mod\libsoxr-phi.dll [0x00007fff71900000]
#10: 0x00007fff71921306 +21306 D:\Programmierung\wxbasic\Projects\myMenu\ThirdParty\phiola-2\mod\libsoxr-phi.dll [0x00007fff71900000]
#11: 0x00007fffa09b31a6 +31a6 D:\Programmierung\wxbasic\Projects\myMenu\ThirdParty\phiola-2\mod\soxr.dll [0x00007fffa09b0000]
#12: 0x00007fffaab050c4 +150c4 D:\Programmierung\wxbasic\Projects\myMenu\ThirdParty\phiola-2\libphiola.dll [0x00007fffaaaf0000]
#13: 0x00007fffaaaf2681 +2681 D:\Programmierung\wxbasic\Projects\myMenu\ThirdParty\phiola-2\libphiola.dll [0x00007fffaaaf0000]
#14: 0x00007fffaaaf6b9e +6b9e D:\Programmierung\wxbasic\Projects\myMenu\ThirdParty\phiola-2\libphiola.dll [0x00007fffaaaf0000]
#15: 0x00007ff6b8cf3c97 +13c97 D:\Programmierung\wxbasic\Projects\myMenu\ThirdParty\phiola-2\phiola.exe [0x00007ff6b8ce0000]
#16: 0x00007ff6b8ce13ae +13ae D:\Programmierung\wxbasic\Projects\myMenu\ThirdParty\phiola-2\phiola.exe [0x00007ff6b8ce0000]
#17: 0x00007ff6b8ce14e6 +14e6 D:\Programmierung\wxbasic\Projects\myMenu\ThirdParty\phiola-2\phiola.exe [0x00007ff6b8ce0000]
#18: 0x00007fffb15e257d +1257d C:\Windows\System32\KERNEL32.DLL [0x00007fffb15d0000]
#19: 0x00007fffb290aa48 +5aa48 C:\Windows\SYSTEM32\ntdll.dll [0x00007fffb28b0000]
from phiola.
13:27:36.976 #3976 ERROR file-write: *3: fffile_open: MAPPS_JOSH RUBIN - Secrets.mp3: (80) Die Datei ist vorhanden
Oh, this is another issue indeed, and it happens with AAC streams. Will be fixed.
Signal:3221225477 Address:0x000002e6af979070 Flags:0 Thread:3976
...
#8: 0x00007fff7190f708 +f708 ...\phiola-2\mod\libsoxr-phi.dll [0x00007fff71900000]
This one will be more difficult. Does it happen every time you try to play this radio stream? I will try to perform thorough testing of phiola on Windows, there might be a global bug somewhere...
phiola http://radiorecord.hostingradio.ru/chil96.aacp -tee "@artist - @title.mp3"
You should use .aac
extension here instead of mp3
, because the radio stream is AAC and -tee
does not perform any audio conversion - it just saves the data as-is on your disk.
from phiola.
Fixed in v2.1-beta3:
(80) Die Datei ist vorhanden
and
401 Unauthorized
from phiola.
Thank you for the fix.
Most of the time Phiola works well with aac now. But sometimes it still crashes. Unfortunately I can't say in which situation.
φphiola v2.1-beta3 (windows-amd64)
12:13:44.410 #40296 ERROR file-write: *2: fffile_open: RE TRACT_MARTHA PHILLIPS - Immutable.mp3: (0) Der Vorgang wurde erfolgreich beendet
#1 "RE TRACT/MARTHA PHILLIPS - Immutable" "http://radiorecord.hostingradio.ru/chil96.aacp" 0MB 0:00.000 (0 samples) 0kbps HE-AAC int16 44100Hz stereo
I'm also having trouble redirecting from another program to hide the Console window. Phiola suddenly requires 11..12% CPU instead of <1% without redirection. What could be the reason?
from phiola.
Or I get this error while recording:
φphiola v2.1-beta3 (windows-amd64)
16:52:02.812 #17804 ERROR file-write: *2: fffile_open: deleted\Records\LIAM THOMAS - Against My Skin.aac: (0) Der Vorgang wurde erfolgreich beendet
#1 "LIAM THOMAS - Against My Skin" "http://radiorecord.hostingradio.ru/chil96.aacp" 0MB 0:00.000 (0 samples) 0kbps HE-AAC int16 44100Hz stereo
0:0016:52:02.948 #17804 ERROR file-write: *2: fffile_open: @��/: (123) Die Syntax für den Dateinamen, Verzeichnisnamen oder die Datenträgerbezeichnung ist falsch
0:0116:52:03.978 #17804 ERROR file-write: *2: fffile_open: @��/: (123) Die Syntax für den Dateinamen, Verzeichnisnamen oder die Datenträgerbezeichnung ist falsch
...
from phiola.
I'm also having trouble redirecting from another program to hide the Console window. Phiola suddenly requires 11..12% CPU instead of <1% without redirection.
Interesting... Can you show the command line so I can try it myself?
(123) Die Syntax für den Dateinamen ...
I saw this once too (corrupted file name), but couldn't catch it with debug logging. Can you run phiola as phiola -Log phi.log -D ...
to collect debug logs when this happens next time?
UPDATE: I was able to catch this one! No need for you to collect debug logs here.
from phiola.
I'm using the wxBasic Interpreter. It's a fork of wxWidgets cpp library. But due to the slow development, it never really became known. To be honest, I don't know whether it will be developed further. I've been working with it for almost 20 years now.
I have written an internet radio with a database that can be expanded to around 28000 stations and would like to improve the recording function with Phiola.
In the short form to test:
Dim webProcess = New wxProcess()
//webprocess.Redirect()
Dim phiolaPath = "D:\\phiola-2\\phiola.exe"
Dim out = "D:\\Records\\"
Dim opt = " -vol 0 -tee " &"\"" &out &"@artist - @title.mp3" &"\""
wxExecute(phiolaPath &" " &"http://radiorecord.hostingradio.ru/chil96.aacp" &opt, wxEXEC_ASYNC, webProcess)
This should also work in wxwidgets and the CPU usage is below 1%. If I activate "webprocess.Redirect()", then the CPU usage is around 12%.
The aac stream is not automatically converted to mp3, is it? The saved stream has the ending "mp3", but is aac.
Then you would have to get an event or flag when the file is completely saved and a new file is created. Otherwise the conversion will not work.
I'm testing the debugging.
from phiola.
then the CPU usage is around 12%.
Please open Task Manager and find the process that eats this cpu time. Is it really phiola.exe
? If so, please post here what the Command Line
column shows.
The aac stream is not automatically converted to mp3, is it?
Currently phiola doesn't support encoding to MP3. I removed it because I think that everyone should use modern and better audio encoders such as Opus, Vorbis and AAC. Do you really need encoding to MP3 for some reason?
Then you would have to get an event or flag when the file is completely saved and a new file is created.
This can be achieved for example by your script if it will read INFO...written xxxKB
line in phiola's output.
I'm testing the debugging.
Actually, I've already caught the bug which causes the crashes. I will fix it in the next release.
from phiola.
Unfortunately, no error message is displayed when debugging. So it is difficult to see the error.
Attached is a saved log where the output was 0 kb. I think this is a case like that.
phi.log
from phiola.
@Ducke1001
Is your project opensource?
FYI, I've created the page where you can post the links to your work. Maybe others will find it interesting too.
#38
from phiola.
Attached is the screenshot.
Thank you! I can reproduce this now, it will be fixed.
from phiola.
then the CPU usage is around 12%.
and
But sometimes it still crashes.
Both problems are fixed in v2.1-rc4. Should not crash anymore, or at least not that often :)
from phiola.
Both problems are fixed in v2.1-rc4.
Thank you very much. There are no more problems with the redirection now.
Should not crash anymore, or at least not that often :)
But it still happens quite often when playing an aac stream.
from phiola.
But it still happens quite often when playing an aac stream.
Can you post the command line and the latest crashdump along with the last ~200 lines of debug log?
Also, when does it happen? Does it crash immediately or after some time?
from phiola.
Ok, here is the command line:
D:\wxBasic\Projects\dsmPlayer\ThirdParty\phiola-2\phiola.exe -vol 0 "http://radiorecord.hostingradio.ru/chil96.aacp"
It is basically the same as before.
If so, Phiola crashes immediately after starting. Otherwise it runs stable, I think.
phi.log
phiola-crashdump-665f5376.txt
from phiola.
Oh, sorry. The laptop didn't have the latest version. I'll have to try again here.
from phiola.
So, now with the new version and the old command line:
phi.log
phiola-crashdump-665f5a06.txt
from phiola.
I tried to reproduce this on my side, and it works fine for me.
OK, first of all, the log file and crashdump do not match. How did you obtain the log file? You should exec phiola like this:
phiola.exe -D -L phi.log URL
Also, does it crash if you play the .aac file that was recorded with phiola convert URL -copy -o 1.aac
from this radio stream? I wonder if this problem is due to aac audio data decoding or it is specific to decoding from aac radio stream.
Also, how many aac radio streams result in this behaviour? Does it happen only for this particular radio station?
from phiola.
Sometimes when I start Phiola with an aac stream under Windows, a WerFault.exe is displayed in the task manager and Phiola is terminated.
from phiola.
Sometimes when I start Phiola with an aac stream under Windows, a WerFault.exe is displayed in the task manager and Phiola is terminated.
WerFault.exe is a Windows component, it's OK if it is started when any other Windows application crashes.
I still haven't been able to reproduce the crash issue you experience. I don't normally use Windows, it requires some special attention... I'll keep you updated on this.
from phiola.
Hi! I created a new phiola build (with clang and address sanitizer) that I hope can help with the crash issue. It should print some more details in case of failure. Note that I couldn't reproduce the issue on my box.
This is the package:
phiola-2.2-test0704-asan-windows-x64.zip
built from branch:
https://github.com/stsaz/phiola/tree/build-windows-clang
(This version will perform somewhat slower due to the enabled address sanitizer.)
Please test it. If the issue persists, just post here what it prints.
from phiola.
Many thanks. I will test it.
from phiola.
Short interim report:
So far I haven't had any crashes on my Win 11 machine.
Tomorrow I'll try it again on the laptop with Windows 10.
from phiola.
Unfortunately the same problem here. Phiola crashes every few times.
I can't find a crash dump. But here is the debug log:
phi.log
from phiola.
I can't find a crash dump.
There is no crash dump with this phiola build, because the address sanitizer library takes over - this is perfectly normal. Now we just need to get the stdout and stderr output - I hope we'll see some more info about what's happening.
I guess that currently when you run phiola from your code, you just don't collect standard output streams from the child process...
Can you run phiola manually from the terminal window and collect the output that is printed to console?
from phiola.
Oh, sorry. Your message ended up in the spam folder.
Yes, I'll do that tomorrow.
from phiola.
New log:
phi.log
console output:
`#1 "BLUT OWN - Transient" "http://radiorecord.hostingradio.ru/chil96.aacp" 0MB 0:00.000 (0 samples) 0kbps HE-AAC int16 44100Hz stereo
0:000:01=================================================================
==9556==ERROR: AddressSanitizer: access-violation on unknown address 0x0233997dabc0 (pc 0x7ff987b2f708 bp 0x000000000000 sp 0x005f97cfc7e0 T0)
==9556==The signal is caused by a READ memory access.
#0 0x7ff987b2f707 (D:\wxBasic\Projects\dsmPlayer\ThirdParty\phiola-2\mod\libsoxr-phi.dll+0x32ae4f707)
#1 0x7ff987b3fd08 (D:\wxBasic\Projects\dsmPlayer\ThirdParty\phiola-2\mod\libsoxr-phi.dll+0x32ae5fd08)
#2 0x7ff987b41305 in soxr_process+0x315 (D:\wxBasic\Projects\dsmPlayer\ThirdParty\phiola-2\mod\libsoxr-phi.dll+0x32ae61305)
#3 0x7ff9ad4e1ece (D:\wxBasic\Projects\dsmPlayer\ThirdParty\phiola-2\mod\soxr.dll+0x180001ece)
#4 0x7ff9a62b21d1 in phi_core_run+0x2a1d1 (D:\wxBasic\Projects\dsmPlayer\ThirdParty\phiola-2\libphiola.dll+0x1800321d1)
#5 0x7ff9a628c2ad in phi_core_run+0x42ad (D:\wxBasic\Projects\dsmPlayer\ThirdParty\phiola-2\libphiola.dll+0x18000c2ad)
#6 0x7ff9a6284f91 (D:\wxBasic\Projects\dsmPlayer\ThirdParty\phiola-2\libphiola.dll+0x180004f91)
#7 0x7ff6499b5fc5 (D:\wxBasic\Projects\dsmPlayer\ThirdParty\phiola-2\phiola.exe+0x140005fc5)
#8 0x7ff6499b1310 (D:\wxBasic\Projects\dsmPlayer\ThirdParty\phiola-2\phiola.exe+0x140001310)
#9 0x7ff6499b1365 (D:\wxBasic\Projects\dsmPlayer\ThirdParty\phiola-2\phiola.exe+0x140001365)
#10 0x7ff9c7f87343 in BaseThreadInitThunk+0x13 (C:\WINDOWS\System32\KERNEL32.DLL+0x180017343)
#11 0x7ff9c9f1cc90 in RtlUserThreadStart+0x20 (C:\WINDOWS\SYSTEM32\ntdll.dll+0x18004cc90)
AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: access-violation (D:\wxBasic\Projects\dsmPlayer\ThirdParty\phiola-2\mod\libsoxr-phi.dll+0x32ae4f707)
==9556==ABORTING
`
from phiola.
Thanks for the info! This message says that libsoxr tries to read from some crazy invalid address, and currently I don't understand where this number may come from. Looks like we'll need to do a couple more iterations to get to the root of this - I'll probably add some more debug logging.
So far I haven't had any crashes on my Win 11 machine.
Tomorrow I'll try it again on the laptop with Windows 10.
Does this issue happen just on one particular Windows installation?
from phiola.
No, unfortunately the problem occurs on both systems.
from phiola.
Hi! I fixed the problem that could cause this crash, can you verify if this build (from branch https://github.com/stsaz/phiola/tree/soxr) works for you?
phiola-2.2-test0723-windows-x64.zip
from phiola.
Thanks for your work. I will test it on both systems.
from phiola.
I have tested it many times. Phiola now works most of the time. Since my player sometimes cannot load the address, we can assume that the server is not responding. Phiola is probably very responsive while my player tries to load the address within 15 seconds. Can I adjust the waiting time?
Also I get an http error on this adress:
http://zet.cdn.eurozet.pl/ZETPAR.mp3
09:15:06.008 #6368 ERROR http-client: *1: response: bad header
But my player can play the stream.
from phiola.
assume that the server is not responding
Currently the connection timeout is 1 minute, and send/receive timeout is 10 minutes. I can add CLI options to adjust these values - is this what you need?
response: bad header
Should be fixed in v2.2-beta3
from phiola.
Currently the connection timeout is 1 minute, and send/receive timeout is 10 minutes.
I didn't know that. Thanks for the info.
I can add CLI options to adjust these values - is this what you need?
Yes, it would be nice to have these options.
from phiola.
Yes, it would be nice to have these options.
Added in v2.2-rc4:
+ play: new options: `-connect_timeout`, `-recv_timeout`
from phiola.
I get an error message for an unknown option with -connect_timeout
and -recv_timeout
on windows.
from phiola.
Please post the full command and the output.
Most likely you haven't updated to v2.2-rc4 ?
from phiola.
Related Issues (20)
- Heap-Buffer-Overflow vulnerability at conv.c:68 HOT 1
- Heap-Buffer-Overflow vulnerability at pcm_convert.h:513 HOT 1
- Feature Requests HOT 2
- Problem when playing unsupported files? HOT 3
- CLI recording slow start on Linux x86 HOT 2
- [FAEATURE REQUEST] Volume in CLI HOT 7
- phiola.exe (also phiola-gui.exe) crash while playing m3u file with radio stations when going next / previous HOT 2
- Background recording CLI not working HOT 9
- User Projects & User Stories HOT 2
- Arguments -aformat/-rate/-channels are not work HOT 4
- Support for external open with HOT 2
- [Android 11, v2.1-rc4] Recorded files are not added to playlist HOT 2
- [Android 11, v2.1-rc4] Recording compression setting is not respected HOT 1
- Custom recording filename template (Android) HOT 1
- Read aac info HOT 2
- CUI option --volume HOT 2
- Recursive Search HOT 6
- Some tracks are missing when splitting FLAC files. HOT 8
- Please share the readme gui theme.conf HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from phiola.