GithubHelp home page GithubHelp logo

dwarf-therapist / dwarf-therapist Goto Github PK

View Code? Open in Web Editor NEW
616.0 44.0 56.0 33.21 MB

Dwarf management tool for Dwarf Fortress

License: Other

CMake 0.43% Shell 0.37% C 0.29% Lua 1.19% Perl 1.41% C++ 95.71% Objective-C++ 0.60%

dwarf-therapist's Introduction

Dwarf Therapist

This is the maintained version of Splintermind's Dwarf Therapist (itself a heavily modified version of the original Dwarf Therapist).

The Dwarf Therapist guide source and releases have their own repository.

Latest Release ======== The latest release is always published in the project's releases page. These releases normally contain packages for Windows, OSX, and Linux.

Alternate Download (DFFD)

If the latest published releases do not contain a package, they may be found on DFFD.

Windows 32-bit

Windows 64-bit

The manual for Dwarf Therapist can be downloaded separately.

Stand-alone Manual

Building

Dwarf-Therapist requires a C++ compiler (with C++14 support), cmake (3.1.0 or newer), and Qt5 (5.9 or newer, with Widgets and QML and Network modules).

Detailed building instructions can be found in BUILDING.md.

Linux

In addition to the AppImage provided on the releases page, packages for specific distributions can be found at:

Some Linux distributions restrict the ability to trace other processes. If Dwarf Therapist fails to connect to Dwarf Fortress, check ptrace_scope help.

Support

Primary support is available at the Dwarf Therapist thread at the Bay 12 Forums; if you are sure you have found a bug, file an issue at the GitHub issue tracker. Provide as much information as possible to help reproduce the issue. Most runtime bugs will require you to send a save, preferably uploaded at DFFD. You may also be requested to provide a log, which is saved in log/log.txt on Windows and OSX and output to stderr on Linux systems (use 2> log.txt to collect).

You can also join us in #dwarftherapist on Freenode.

dwarf-therapist's People

Contributors

abesto avatar adammartinez271828 avatar alatun-rom avatar anders-larsson avatar carbohydratesn avatar cvuchener avatar ehlertjd avatar fakemonster avatar fricy avatar g19fanatic avatar hello71 avatar insolor avatar int-ua avatar kiryl avatar klassekatze avatar lethosor avatar marian-kadanka avatar myk002 avatar nikow avatar ramblurr avatar rustit avatar ryanbennitt avatar splintermind avatar spooq avatar stoutheart avatar sv-esk avatar tareqak avatar thistleknot avatar xales avatar zohan 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  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

dwarf-therapist's Issues

Last open grid view can be closed from the grid view dock

Steps to reproduce:

  • Close all grid view tabs except one.
  • Last tab cannot be closed: "Cannot remove the last tab!".
  • From the Grid View dock, delete the grid view used in the last tab.
  • No grid view is visible and and neither is the menu for adding new tabs.
  • Dwarf Therapist crashes on exit:
#0  0x0000000000619223 in std::__atomic_base<int>::load (__m=std::memory_order_relaxed, this=0x614e656d65685464) at /usr/include/c++/7/bits/atomic_base.h:396
#1  QAtomicOps<int>::load<int> (_q_value=...) at /usr/include/qt5/QtCore/qatomic_cxx11.h:227
#2  0x000000000061901a in QBasicAtomicInteger<int>::load (this=0x614e656d65685464) at /usr/include/qt5/QtCore/qbasicatomic.h:102
#3  0x0000000000619cd6 in QtPrivate::RefCount::ref (this=0x614e656d65685464) at /usr/include/qt5/QtCore/qrefcount.h:55
#4  0x00000000007198f8 in QList<ViewColumnSet*>::QList (this=0x7fffffff1eb0, l=...) at /usr/include/qt5/QtCore/qlist.h:809
#5  0x00000000007197d9 in GridView::sets (this=0xfd0000) at /home/clement/projects/Dwarf-Therapist/src/gridview.h:70
#6  0x00000000007a0f80 in DwarfModel::clear_all (this=0x15be400, clr_pend=false) at /home/clement/projects/Dwarf-Therapist/src/dwarfmodel.cpp:77
#7  0x00000000007a0e3d in DwarfModel::~DwarfModel (this=0x15be400, __in_chrg=<optimized out>) at /home/clement/projects/Dwarf-Therapist/src/dwarfmodel.cpp:64
#8  0x00000000007a0ee8 in DwarfModel::~DwarfModel (this=0x15be400, __in_chrg=<optimized out>) at /home/clement/projects/Dwarf-Therapist/src/dwarfmodel.cpp:65
#9  0x00000000007773da in MainWindow::~MainWindow (this=0x15bd150, __in_chrg=<optimized out>) at /home/clement/projects/Dwarf-Therapist/src/mainwindow.cpp:322
#10 0x0000000000777506 in MainWindow::~MainWindow (this=0x15bd150, __in_chrg=<optimized out>) at /home/clement/projects/Dwarf-Therapist/src/mainwindow.cpp:328
#11 0x00000000006dd469 in DwarfTherapist::~DwarfTherapist (this=0x7fffffff1fa0, __in_chrg=<optimized out>) at /home/clement/projects/Dwarf-Therapist/src/dwarftherapist.cpp:120
#12 0x0000000000773d08 in main (argc=1, argv=0x7fffffff2118) at /home/clement/projects/Dwarf-Therapist/src/main.cpp:42

Active skills count for each unit

Would be nice to have a count of how many active columns each dwarf has, either as a name decoration or as a column. This would make it easy to find an under-tasked dwarf when I need to get more of a certain skill category going in my fortress.

set nickname fails

Setting a nickname fails silently: I'll click the "set nickname" thing in the contextual menu, type the nickname, commit the change, refresh the fort, and nothing has changed (old name still shows both in DT and DF). I'm on

dwarf fortress 0.44.12
dwarf therapist 41.0.2 (from Arch User Respository package dwarftherapist)
arch linux (kernel 4.18.9-arch1)

libstdc++.so.6

Greetings,

I'm trying to use the AppImage you provide, but a real show stopper came up.

./DwarfTherapist-v39.2.1-linux-x86_64.AppImage: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by ./DwarfTherapist-v39.2.1-linux-x86_64.AppImage)
./DwarfTherapist-v39.2.1-linux-x86_64.AppImage: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by ./DwarfTherapist-v39.2.1-linux-x86_64.AppImage)

Unfortunately my system is supporting the previous versions GLIBCXX_3.4.20 and CXXABI_1.3.8, and updating libstdc++6 is no easy or stable task, usually it means upgrading to the next version of the distro, which is not always possible.

Could you please bundle the libstdc++6 files used with the AppImage?!
Would be nice and I'm sure it will come up eventually if not already.

Regards

João Serras

Unaccounted thoughts from expelled dwarfs

Thoughts about family members and friends being expelled doesn't seem to be accounted and the displayed message for them is "this is an unknown thought, please report it!".

Text size in Script Editor is extremely small

MacOS 10.13.3
Dwarf Therapist 39.2.0

The text size in the Script Editor Help and and scripting documentation is almost unreadably small. The size in the actual editor is pretty small too. Please, make the default bigger or make the size configurable.

screen shot 2018-02-26 at 10 59 57 am

mac OS builds

I have successfully built 39.0.0 from source on my macbook air running Sierra 10.12.6. I can prepare a binary if there are instructions (or maybe I just send you the .app folder?)

Add "Go to user data folder" link

Suggested by se5a.

DT should create the data folders (including memory_layouts/<LAYOUT_SUBDIR>) in the writable standard path and copy the READMEs if they don't already exists.

Add an action for opening the folder with the system file explorer.

Roles gridview labour assignation inconsistency

Sorry for the mouthful title.

Gist of the problem is that I have a custom role 'Medical Researcher', for a specific type of scholar that ends up with the relevant grid-cell on the roles tab (un)assigning the medical labours when clicked. The cell is also shaded when (any of) the medical labours are activated. Presumably this is because my definition of the role includes the 5 relevant medical skills.

As far as I can tell the Roles gridview enables assigning labours by clicking the cell only when skills match those of labours that can be assigned in DF through 'p'->'l' (after a dwarf is selected). The medical researcher however is assignable as a scholar through the locations and occupations menu.

I'm not sure what the way forward should be, perhaps an optional override of some sort since it can be useful to assign labours from this tab in other situations. It is an edge case of sorts but not unique since - at least - Furnace Operator and the Mechanic skill could also be useful in defining the roles of different scholars, and presumably will exhibit the same behaviour.

The Roles tab lacks the Blacksmith labor

Inherited from Splinterz version. Not critical as you can get at the labor from e.g. the Labors Full tab, but annoying as Roles is my main labor assignment tab...

Add and update default roles

Newer profession don't currently have a corresponding role.

  • Papermaker
  • Bookbinder
  • Performer
  • Scholar
  • Scribe
  • Tavern keeper
  • Military Tactician

You may propose more to be added. Suggestion for changes to existing default roles are welcome too.

Equipment not displayed on Mac

In Dwarf Therapist all dwarves appear to be completely 100% naked. No clothing, armor, or weapons are shown.

Versions:
Dwarf Fortress 0.44.09
dfhack 0.44.09-r1
DT 39.3.1
macOS 10.13.4

I can try building from source to look for error messages if that would be helpful.

BUG: Header text not showing up properly

Hi!

I am having some trouble with labour list headers - they show up somewhat garbled.
labors full

I am running on Windows7 64bit DF v0.44.02 and Dwarf-Therapist-39.0.0-win64
My screen resolution is 2560x1440.

I have tried, without success:

  1. changing screen resolution,
  2. changing fonts used by DT,
  3. changing cell padding and size,
  4. chaging header options like gradient shading and text direction

Notice that the dwarf name and other UI element text is unaffected.

Some dwarf thoughts/stress broken (44.10)

image
image
There's a bit of a discrepancy between DF and DT when it comes to the new 'memories' stuff - DT not showing the difference between new stressors and past trauma is an extremely minor niggle, but the split between 'saw someone die' and 'saw a corpse' causes lots of 'this is an unknown thought, please report it' in DT.

Optimization Inconsistent

Hi,

I'm just gonna link to the issue I opened on the old DT repo, as it's still happening. This would have something to do with the algo for optimization.. I remember some months ago thistleknot was talking about simplifying the algorithm, maybe he'll want to look at this bug report also.

splintermind/Dwarf-Therapist#318

Dark Mode

Suggest making a Dark Mode for this.

It's incredibly bright sitting next to the dwarf fortress screen on a dual screen setup.

Role preference errors

Preferences for armour pieces are matching 'Clothing (any)' and not matching 'Armour (any)'. For example Greaves are showing as a match for Clothesmakers but not for Armoursmiths. Additionally clothing items (other than those that are confusingly armour) are not displaying a match at all on the gridviews. Hoods for example do not appear/match on the grid, but are correctly displayed in the dock and the tooltip.

Separately, with less gravity and with more structural reason, there is a grammatical issue with the display of preferences for plant parts. Currently, for example, Mango Tree Fruits is displayed rather than Mangos. It is decidedly odd and not how DF displays it in vanilla. Understandably some difficulties arise re: Strawberry Plants and Strawberry Fruits (or would that currently be displaying as Strawberry Plant Fruits - I see Tomatillo Plant Fruit here) but one or the other should probably display as simply Strawberries. It is similarly odd to see Sweet Potato Plants which while perhaps technically correct from the perspective of the code is not what we call the edible thing we eat in real life, how it gets displayed in native dwarf fortress or referred to on the wiki.

Thanks for your time. (p.s. version 40.1.1)

Support of retina display in MacOS

Hi,

Add support of retina for MacOS build in Info.plist, pls:

<key>NSPrincipalClass</key>
<string>NSApplication</string>
<key>NSHighResolutionCapable</key>
<string>True</string>

Thanks

Dwarf Therapist Causes Network Issues.

I just downloaded DF and DT recently after a several year break. I was playing DF for a bit and decided to check on some torrents I was downloading in the background. To my surprise I noticed the speed constantly rising and dropping every 7 ticks. I checked the speed graph which was a constant up and down line. I checked my resource monitor and my local area connection graph was the same. I spent a great deal of time trying to figure out the cause of this. Eventually I ended up exiting DF thinking that was the problem. The graph remained a jagged up and down mountain field until I exited Therapist and suddenly all network traffic returned to normal. I restarted therapist and graph turned to peaks exit and it returns to normal. Something in this build is destroying my network when its running.

Importing professions ignores checkboxes

Hi, I found a bug importing professions. The checkboxes to choose which ones to import doesn't seem to work. I share my professions publicly (here) and this bug might cause issues for people who don't want particular professions.

EDIT: I believe this also affects exporting professions in the same manner.

  1. Here are existing professions. I will be importing a copy that has a new profession "2: Builder" next.

image

  1. Importing my custom professions, you can see Builder here:

image

  1. I unchecked Builder, I do NOT want to import it:

image

  1. Import successful, but 44 were imported? That number is off too. It only actually imported 1 profession, and it was not supposed to even do that!

image

  1. Confirming that Builder was imported, erroneously:

image

Thanks

What happened to sort by squad?

Military tab now sorted by sex and sexual orientation instead of squads.
Not useful. I can't seem to find the option to make it like it used to be.

Kill Count

Been using DT 39.0.0 64 bit with DF 0.44.02. My dwarves killed a bunch of trolls and troglodytes but DT isnt showing a kill count or listing the kills in the military tab.

Feature Request: Sort by Migration Wave & Sort by Profession

Both options would make it much easier to address new migrants, and see who is doing what. It was in some version of Dwarf Therapist that I tried over the years, and was a great feature.

Apologies if its already there, and I'm missing it.

Script Editor: Unknown type: ATTRIBUTES_TYPE

I want to filter dwarves by selection of attributes. I open the Script Editor and type:

d.attribute_maximum(1) > 0

It shows red text:

Error: Unknown method parameter type: ATTRIBUTES_TYPE
%entry@:1

While I can use d.agility() instead of d.attribute(1), there is nothing to use instead of d.attribute_maximum(1):

Dwarf-Therapist/src/dwarf.h

Lines 251 to 275 in 3ace235

//! return specific attribute values
Q_INVOKABLE int strength() {return attribute(AT_STRENGTH);}
Q_INVOKABLE int agility() {return attribute(AT_AGILITY);}
Q_INVOKABLE int toughness() {return attribute(AT_TOUGHNESS);}
Q_INVOKABLE int endurance() {return attribute(AT_ENDURANCE);}
Q_INVOKABLE int recuperation() {return attribute(AT_RECUPERATION);}
Q_INVOKABLE int disease_resistance() {return attribute(AT_DISEASE_RESISTANCE);}
Q_INVOKABLE int willpower() {return attribute(AT_WILLPOWER);}
Q_INVOKABLE int memory() {return attribute(AT_MEMORY);}
Q_INVOKABLE int focus() {return attribute(AT_FOCUS);}
Q_INVOKABLE int intuition() {return attribute(AT_INTUITION);}
Q_INVOKABLE int patience() {return attribute(AT_PATIENCE);}
Q_INVOKABLE int empathy() {return attribute(AT_EMPATHY);}
Q_INVOKABLE int social_awareness() {return attribute(AT_SOCIAL_AWARENESS);}
Q_INVOKABLE int creativity() {return attribute(AT_CREATIVITY);}
Q_INVOKABLE int musicality() {return attribute(AT_MUSICALITY);}
Q_INVOKABLE int analytical_ability() {return attribute(AT_ANALYTICAL_ABILITY);}
Q_INVOKABLE int linguistic_ability() {return attribute(AT_LINGUISTIC_ABILITY);}
Q_INVOKABLE int spatial_sense() {return attribute(AT_SPATIAL_SENSE);}
Q_INVOKABLE int kinesthetic_sense() {return attribute(AT_KINESTHETIC_SENSE);}
//! attribute value from id
Q_INVOKABLE int attribute(ATTRIBUTES_TYPE attrib_id) {return get_attribute(attrib_id).get_value();}
Q_INVOKABLE int attribute_maximum(ATTRIBUTES_TYPE attrib_id) {return (int)get_attribute(attrib_id).max();}
Attribute get_attribute(ATTRIBUTES_TYPE id);

Angle column headers for ease of reading

I would really appreciate the option to have column headers angled from the vertical.
Example image: https://i.stack.imgur.com/2VDhS.png
I think this would really improve the readability of the column headers.

If the text direction was set to Top to Bottom, they would be angled to the left. If Bottom to Top, then angled to the right as in the linked example.

Thanks!

Role Calculation error when '100' cell changes

This bug has existed since the Splinterz versions. When the cell that DT assigns the normalised value of 100 to changes it sometimes happens that normalised distribution becomes errant. The workaround is to create a new custom role, or to delete one.

This save should demonstrate the problem: http://dffd.bay12games.com/file.php?id=13422

World was generated in DF44.02, embarked 44.03, unpaused, bug seen and saved in 44.05. Download also includes custom roles and gridviews that will be useful (needed?) to see the problem. Images that graphically display the problem - from DT39.1.2 (sex-icon experimental) but checked also with DT39.1.2. Top is (what I take to be) the correct distribution, the bottom is an example of the error that arises.

nobug1

bug1

To get the bug with the savegame, custom roles + gridviews delete the Tanner++ custom role and then read. (I added the Tanner++ role as a workaround to the bug.) Adding it back and reading restores the correct distribution. Zuglar Mistemthimshur (Carpenter+) was the intial 100 cell that subsequently changed to Urdim Adilkakdal (Herbalist).

I have heard reports of at least two other users encountering this bug. For what it's worth they were both also using custom roles and gridviews. I don't know if it might occur without them. Also note that it does not always occur when the 100 cell changes but neither is it rare for it to happen.

Happy to provide further information, or the initial savegame (after embark) if these might be helpful

DT doesn't save setting between sessions

Macos, v39.3.0
Not sure if its a bug or feature but every time I run the program, it set all setting to default. For example I can check option "Dont display children", restart Therapist, and it will be unchecked again.

Script Editor: Cannot copy the error message

As a side-effect of #108 I found another problem:
The red-colored error message in Script Editor cannot be copied because it disappears as soon as the mouse leaves the code editing area. There is no way to switch focus to the error panel without it getting blanked first.

Not a big prio but there should be better way to report errors, besides reading the error text and typing it anew, or the mighty screenshot.

Fix possible preference list

From @feelotraveller's comment: #88 (comment)

Quires, scrolls and scroll-roller preferences I have seen (definitely some, pretty sure all) but they are quite rare. It was possible to add the Quire preference to roles at one stage (since my bookbinder role has it) has this since been removed? If so please give my toy back.;)

I generated a few thousands dwarves and I can confirm that incomplete tools are possible preferences (including helves). I did not see any instrument though despite the wiki claim.

The good solution may be to filter generated items.

Creature materials need some filters too: removing generated creature (e.g. forgotten beast) materials too?

I think plants may be limited to crops.

Animal tool-tip is too wide

The animal tool-tip is too wide because of the two columns. The second column should not be shown when it is empty.

SSL Handshake Failed

I'm using DT 41.0.2 from DF Starter Pack 0.44.12-r03, and getting "SSL Handshake Failed" whenever I launch DT or run a version check. Searching for a solution came across one mentioning to run DT as administrator, but that solution didn't work for me either. I can't find any existing issues on this posted here, so I'm submitting a new issue.

Custom role weights broken

Unable to save the weight of individual Attributes, Traits or Skills (e.g. creativity, mechanic, altruism) as anything other than 1.00. Weights can be specified as other than 1.00 but on save they are written as 1.00. This applies to both new roles and editing existing roles.

However copying then saving existing roles with non-1.00 weighting for attributes, traits and skills works fine. Also always saved correctly are the weights of individual preferences and categories when not 1.00.

Observed with 40.1.2 release.

Linux/QT5.9.3: Extreme padding between columns in skill table

Hi,

On Linux with QT5.9.3 Dwarf Therapist looks bad because of the padding between the different columns. It's also taking up a lot of space making it harder to use Dwarf Therapist. I have never seen it look like this before (when using Splintermind's version) so it's probably caused by the QT version?. Text also seems to be a bit blurry. Not sure if it's my system's fault though. See image linked below.

http://tinyimg.io/i/HyCoR1e.png

Thanks,

[REQUEST] Military-Alt. addition and personality sorting

  1. Ability to see who had grown attached to their weapons (would make navigation easier in several ways)
  2. Either an in-built filter or/and a personality sorting: eg. certain characteristics like ~knowledge are not in among those that can be added to dwarf sorting (like creativity or curiosity) and it makes finding dwarves who like knowledge a difficult task (if not using manually created filters)
  3. Same as 2, but for skills/labors like Wordsmithing, Writing, Reading, etc.

P.S: 2 & 3 came in mind because it's very difficult to find a suitable dwarf for becoming a scholar, would be great to have features in DT that would make it easier.

39.1.1 Mac Version crashes due to wrong library path

Termination Reason: DYLD, [0x1] Library missing

Application Specific Information:
dyld: launch, loading dependent libraries

Dyld Error Message:
Library not loaded: /usr/local/Cellar/[email protected]/5.7.1/lib/QtGui.framework/Versions/5/QtGui
Referenced from: /Applications/Lazy Mac Pack v0.44.02-barebones-alpha-a/LNP/Utilities/DwarfTherapist.app/Contents/Frameworks/QtWidgets.framework/Versions/5/QtWidgets
Reason: image not found

General font settings not applied on initial load

When starting DT the user settings from Options/Settings/General Font are not applied. They are applied only once the options window is opened and then closed. The setting is saved/remembered just not applied on restart.

Missing profession icons

Profession icons are located in resources/img/profession icons/

  • Monster Slayer (prof_107.png)
  • Scout (prof_108.png)
  • Beast Hunter (prof_109.png)
  • Snatcher (prof_110.png)
  • Mercenary (prof_111.png)
  • Performer (prof_113.png)
  • Poet (prof_114.png)
  • Bard (prof_115.png)
  • Dancer (prof_116.png)
  • Sage (prof_117.png)
  • Scholar (prof_118.png)
  • Philosopher (prof_119.png)
  • Mathematician (prof_120.png)
  • Historian (prof_121.png)
  • Astronomer (prof_122.png)
  • Naturalist (prof_123.png)
  • Chemist (prof_124.png)
  • Geographer (prof_125.png)
  • Scribe (prof_126.png)
  • Papermaker (prof_127.png)
  • Bookbinder (prof_128.png)
  • Tavern Keeper (prof_129.png)
  • Criminal (prof_130.png)
  • Peddler (prof_131.png)
  • Prophet (prof_132.png)
  • Pilgrim (prof_133.png)
  • Monk (prof_134.png)

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.