Giter Site home page Giter Site logo

Comments (7)

pgaskin avatar pgaskin commented on June 18, 2024

Resource extraction:

go run github.com/pgaskin/qrc/cmd/qrc2zip@latest --output nickel.21582.qInitResources_styles.zip --recursive --verbose nickel 1 26572352 26432304 26560712
go run github.com/pgaskin/qrc/cmd/qrc2zip@latest --output nickel.21582.qInitResources_resources.zip --recursive --verbose nickel 1 21580752 101096 21579424
go run github.com/pgaskin/qrc/cmd/qrc2zip@latest --output nickel.21582.qInitResources_certificates.zip --recursive --verbose nickel 1 26733760 26575600 26729584
go run github.com/pgaskin/qrc/cmd/qrc2zip@latest --output nickel.21582.qInitResources_translations.zip --recursive --verbose nickel 1 26431976 21581792 26431232

Output Diff


https://krc.storage.pgaskin.net/nickel.21582.qInitResources_certificates.zip
https://krc.storage.pgaskin.net/nickel.21582.qInitResources_resources.zip
https://krc.storage.pgaskin.net/nickel.21582.qInitResources_styles.zip
https://krc.storage.pgaskin.net/nickel.21582.qInitResources_translations.zip

from kobopatch-patches.

pgaskin avatar pgaskin commented on June 18, 2024
  /home/patrick/kp/src/kobopatch-patches/src/versions/4.37.21582/libnickel.so.1.0.0.yaml/pgaskin.yaml: Customize ComfortLight settings: could not apply patch "Customize ComfortLight settings": line 529: inst 4: ReplaceInt: could not find specified bytes at offset
  /home/patrick/kp/src/kobopatch-patches/src/versions/4.37.21582/nickel.yaml/pgaskin.yaml: Increase size of kepub chapter progress chart: could not apply patch "Increase size of kepub chapter progress chart": line 28: inst 4: ReplaceZlib: not a zlib stream
  /home/patrick/kp/src/kobopatch-patches/src/versions/4.37.21582/nickel.yaml/pgaskin.yaml: Remove forgot pin button from lock screen: could not apply patch "Remove forgot pin button from lock screen": line 20: inst 4: ReplaceZlib: not a zlib stream

The easiest release possible.

from kobopatch-patches.

pgaskin avatar pgaskin commented on June 18, 2024

Released: v82, MR:thread-354898.

from kobopatch-patches.

pgaskin avatar pgaskin commented on June 18, 2024
$ git diff v81:src/versions/4.37.21533 v82:src/versions/4.37.21582
diff --git a/libnickel.so.1.0.0.yaml/pgaskin.yaml b/libnickel.so.1.0.0.yaml/pgaskin.yaml
index df5cc02..5a6ea98 100644
--- a/libnickel.so.1.0.0.yaml/pgaskin.yaml
+++ b/libnickel.so.1.0.0.yaml/pgaskin.yaml
@@ -522,7 +522,7 @@ Customize ComfortLight settings:
   # In an unnamed subroutine two layers into FrontLightPopupController::loadView
   # (find it by going back from QTime::addSecs), the times for the dropdown are
   # generated into a QVector<QPair<QString, QTime>> with a simple loop.
-  - BaseAddress: 0xE7D2D4 # find the base of the unnamed subroutine with the x-ref to _ZN5QTimeC1Eiiii
+  - BaseAddress: 0xE7D454 # find the base of the unnamed subroutine with the x-ref to _ZN5QTimeC1Eiiii
   #
   # Change the initial hour / first bedtime dropdown item passed to the QTime
   # constructor (mov r1, #21):
diff --git a/nickel.yaml/geoffr.yaml b/nickel.yaml/geoffr.yaml
index 9c7dec9..2d48dcd 100644
--- a/nickel.yaml/geoffr.yaml
+++ b/nickel.yaml/geoffr.yaml
@@ -19,7 +19,7 @@ Reduce top/bottom page spacer:
       # AuraHD/H2O/GloHD/ClaraHD/Clara2E: 44px --> 22px
       - Find:    "MediumVertSpacer[qApp_deviceIsDragon=true] {\n  min-height: 44px;\n  max-height: 44px;\n}"
         Replace: "MediumVertSpacer[qApp_deviceIsDragon=true] {\n  min-height: 22px;\n  max-height: 22px;\n}"
-      # AuraOne/Forma/Sage/Elipsa: 56px --> 28px
+      # AuraOne/Forma/Sage/Elipsa/Elipsa2E: 56px --> 28px
       - Find:    "MediumVertSpacer[qApp_deviceIsDaylight=true] {\n  min-height: 56px;\n  max-height: 56px;\n}"
         Replace: "MediumVertSpacer[qApp_deviceIsDaylight=true] {\n  min-height: 28px;\n  max-height: 28px;\n}"
       # LibraH2O/Libra2: 50px --> 25px
@@ -38,7 +38,7 @@ Custom synopsis details line spacing:
       - {Find: "line-height: 1.4em;",  Replace: "line-height: 1.3em;"}
         # AuraHD/AuraH2O/AuraH2O2/GloHD/ClaraHD/Clara2E (Dragon) and
         # LibraH2O/Libra2 (Storm) and
-        # AuraOne/Forma/Sage/Elipsa (Daylight) 
+        # AuraOne/Forma/Sage/Elipsa/Elipsa2E (Daylight) 
       - {Find: "line-height: 1.35em;", Replace: "line-height: 1.3em;"}
 
 Custom synopsis font size:
@@ -52,7 +52,7 @@ Custom synopsis font size:
       - {Find: "font-size: 29px;", Replace: "font-size: 32px;"} # AuraHD/AuraH2O/AuraH2O2 (Dragon)
       - {Find: "font-size: 32px;", Replace: "font-size: 35px;"} # GloHD/ClaraHD/Clara2E (Alyssum/Nova)
       - {Find: "font-size: 34px;", Replace: "font-size: 37px;"} # LibraH2O/Libra2 (Storm)
-      - {Find: "font-size: 37px;", Replace: "font-size: 40px;"} # AuraONE/Forma/Sage/Elipsa (Daylight)
+      - {Find: "font-size: 37px;", Replace: "font-size: 40px;"} # AuraONE/Forma/Sage/Elipsa/Elipsa2E (Daylight)
 
 Increase home screen cover size:
   - Enabled: no
@@ -70,7 +70,7 @@ Increase home screen cover size:
         # AuraHD/AuraH2O/AuraH2O2/GloHD/ClaraHD/Clara2E (Dragon)
       - {Find: "qproperty-leftMargin: 57px;",  Replace: "qproperty-leftMargin: 22px;"}
       - {Find: "qproperty-rightMargin: 57px;", Replace: "qproperty-rightMargin: 22px;"}
-        # AuraONE/Forma/Sage/Elipsa (Daylight)
+        # AuraONE/Forma/Sage/Elipsa/Elipsa2E (Daylight)
       - {Find: "qproperty-leftMargin: 74px;",  Replace: "qproperty-leftMargin: 29px;"}
       - {Find: "qproperty-rightMargin: 74px;", Replace: "qproperty-rightMargin: 29px;"}
         # LibraH2O/Libra2 (Storm)
diff --git a/nickel.yaml/jackie_w.yaml b/nickel.yaml/jackie_w.yaml
index e2c88ef..ddc81e3 100644
--- a/nickel.yaml/jackie_w.yaml
+++ b/nickel.yaml/jackie_w.yaml
@@ -23,7 +23,7 @@ Dictionary pop-up - increase available text area:
           # AuraHD/AuraH2O/AuraH2O2/GloHD/ClaraHD/Clara2E/LibraH2O/Libra2
         - Find:    "#dictionary[qApp_deviceIsDragon=true] {\n  margin-top: 30px;\n  margin-left: 30px;\n}"
           Replace: "#dictionary[qApp_deviceIsDragon=true] {\n  margin-top: 10px;\n  margin-left: 0px;\n}"
-          # AuraOne/Forma/Sage/Elipsa
+          # AuraOne/Forma/Sage/Elipsa/Elipsa2E
         - Find:    "#dictionary[qApp_deviceIsDaylight=true] {\n  margin-top: 42px;\n  margin-left: 42px;\n}"
           Replace: "#dictionary[qApp_deviceIsDaylight=true] {\n  margin-top: 14px;\n  margin-left: 0px;\n}"
         #
@@ -37,7 +37,7 @@ Dictionary pop-up - increase available text area:
           # AuraHD/AuraH2O/AuraH2O2/GloHD/ClaraHD/Clara2E/LibraH2O/Libra2
         - Find:    "#header[qApp_deviceIsDragon=true] {\n  max-height: 90px;\n  min-height: 90px;\n}"
           Replace: "#header[qApp_deviceIsDragon=true] {\n  max-height: 70px;\n  min-height: 70px;\n}"
-          # AuraOne/Forma/Sage/Elipsa
+          # AuraOne/Forma/Sage/Elipsa/Elipsa2E
         - Find:    "#header[qApp_deviceIsDaylight=true] {\n  max-height: 120px;\n  min-height: 120px;\n}"
           Replace: "#header[qApp_deviceIsDaylight=true] {\n  max-height: 90px;\n  min-height: 90px;\n}"
         #
@@ -51,7 +51,7 @@ Dictionary pop-up - increase available text area:
           # AuraHD/AuraH2O/AuraH2O2/GloHD/ClaraHD/Clara2E
         - Find:    "#mainContainer[qApp_deviceIsDragon=true] {\n  qproperty-leftMargin: 22px;\n  qproperty-rightMargin: 22px;\n}"
           Replace: "#mainContainer[qApp_deviceIsDragon=true] {\n  qproperty-leftMargin: 11px;\n  qproperty-rightMargin: 11px;\n}"
-          # AuraOne/Forma/Sage/Elipsa
+          # AuraOne/Forma/Sage/Elipsa/Elipsa2E
         - Find:    "#mainContainer[qApp_deviceIsDaylight=true] {\n  qproperty-leftMargin: 28px;\n  qproperty-rightMargin: 28px;\n}"
           Replace: "#mainContainer[qApp_deviceIsDaylight=true] {\n  qproperty-leftMargin: 14px;\n  qproperty-rightMargin: 14px;\n}"
           # LibraH2O/Libra2
@@ -74,7 +74,7 @@ Dictionary pop-up - increase available text area:
       Find:    "DictionaryViewFooter[qApp_deviceIsDragon=true] {\n  max-height: 90px;\n  min-height: 90px;\n}"
       Replace: "DictionaryViewFooter[qApp_deviceIsDragon=true] {\n  max-height: 60px;\n  min-height: 60px;\n}"
       MustMatchLength: yes
-    # AuraOne/Forma/Sage/Elipsa
+    # AuraOne/Forma/Sage/Elipsa/Elipsa2E
   - FindReplaceString:
       Find:    "DictionaryViewFooter[qApp_deviceIsDaylight=true] {\n  max-height: 120px;\n  min-height: 120px;\n}"
       Replace: "DictionaryViewFooter[qApp_deviceIsDaylight=true] {\n  max-height:  80px;\n  min-height:  80px;\n}"
@@ -96,13 +96,13 @@ Increase Book Details synopsis area:
         - {Find: "height: 390px;", Replace: "height: 230px;"} #Glo/Aura/Aura2/Nia
         - {Find: "height: 550px;", Replace: "height: 370px;"} #AuraHD/AuraH2O/AuraH202/GloHD/ClaraHD/Clara2E
         - {Find: "height: 642px;", Replace: "height: 425px;"} #LibraH2O/Libra2
-        - {Find: "height: 715px;", Replace: "height: 500px;"} #AuraOne/Forma/Sage/Elipsa
+        - {Find: "height: 715px;", Replace: "height: 500px;"} #AuraOne/Forma/Sage/Elipsa/Elipsa2E
         #   Landscape mode:  #bookInfoWidget[isLandscape=true]:
         - {Find: "height: 210px;", Replace: "height: 200px;"} #Touch/Mini
         - {Find: "height: 265px;", Replace: "height: 230px;"} #Glo/Aura/Aura2/Nia
         - {Find: "height: 420px;", Replace: "height: 370px;"} #AuraHD/AuraH2O/AuraH202/GloHD/ClaraHD/Clara2E
         - {Find: "height: 490px;", Replace: "height: 425px;"} #LibraH2O/Libra2
-        - {Find: "height: 540px;", Replace: "height: 500px;"} #AuraOne/Forma/Sage/Elipsa
+        - {Find: "height: 540px;", Replace: "height: 500px;"} #AuraOne/Forma/Sage/Elipsa/Elipsa2E
 
 Increase library cover size:
   - Enabled: no
@@ -124,7 +124,7 @@ Increase library cover size:
         # AuraHD/AuraH2O/AuraH202/GloHD/ClaraHD/Clara2E (Dragon)
         - {Find: "width: 108px;",  Replace: "width: 122px;"}
         - {Find: "height: 168px;", Replace: "height: 190px;"}
-        # AuraOne/Forma/Sage/Elipsa (Daylight)
+        # AuraOne/Forma/Sage/Elipsa/Elipsa2E (Daylight)
         - {Find: "width: 140px;",  Replace: "width: 164px;"}
         - {Find: "height: 218px;", Replace: "height: 255px;"}
         # LibraH2O/Libra2 (Storm)
@@ -160,7 +160,7 @@ Custom collection/author header title font:
         - {Find: "font-size: 28px;", Replace: "font-size: 42px;"}
           # LibraH2O/Libra2 (Storm)
         - {Find: "font-size: 32px;", Replace: "font-size: 46px;"}
-          # AuraOne/Forma/Sage/Elipsa (Daylight)
+          # AuraOne/Forma/Sage/Elipsa/Elipsa2E (Daylight)
         - {Find: "font-size: 36px;", Replace: "font-size: 50px;"}
 
 Reduce new header/footer height:
@@ -185,7 +185,7 @@ Reduce new header/footer height:
         # AuraHD/AuraH2O/AuraH202/GloHD/ClaraHD/Clara2E (Dragon)
       - Find:    "ReadingFooter[qApp_deviceIsDragon=true] {\n  min-height: 101px;\n  max-height: 101px;\n}"
         Replace: "ReadingFooter[qApp_deviceIsDragon=true] {\n  min-height: 66px;\n  max-height: 66px;\n}"
-        # AuraOne/Forma/Sage/Elipsa (Daylight)
+        # AuraOne/Forma/Sage/Elipsa/Elipsa2E (Daylight)
       - Find:    "ReadingFooter[qApp_deviceIsDaylight=true] {\n  min-height: 131px;\n  max-height: 131px;\n}"
         Replace: "ReadingFooter[qApp_deviceIsDaylight=true] {\n  min-height: 86px;\n  max-height: 86px;\n}"
         # LibraH2O/Libra2 (Storm)
@@ -252,7 +252,7 @@ Custom header/footer captions:
           # LibraH2O/Libra2
         - Find:    "[qApp_deviceIsStorm=true] {\n  font-size: 29px;\n}"
           Replace: "[qApp_deviceIsStorm=true] {\n  font-size: 29px; margin-top: 0px;\n}"
-          # AuraOne/Forma/Sage/Elipsa
+          # AuraOne/Forma/Sage/Elipsa/Elipsa2E
         - Find:    "[qApp_deviceIsDaylight=true] {\n  font-size: 32px;\n}"
           Replace: "[qApp_deviceIsDaylight=true] {\n  font-size: 32px; margin-top: 0px;\n}"
 
@@ -279,7 +279,7 @@ Custom header/footer captions:
           # N.B. AuraH2O/AuraH2O2/GloHD/ClaraHD/Clara2E could be reduced to 102 with no ill effects
         - {Find: "footerMargin: 170;", Replace: "footerMargin:116;"}
         
-          # AuraOne/Forma/Sage/Elipsa
+          # AuraOne/Forma/Sage/Elipsa/Elipsa2E
         - {Find: "footerMargin: 221;", Replace: "footerMargin:133;"}
 
         # Don't change anything below. It exists to free up some space for
@@ -324,7 +324,7 @@ Custom page navigation scrubber:
           # LibraH2O/Libra2 (Storm)
         - Find:    "[qApp_deviceIsStorm=true] {\n  font-size: 34px;"
           Replace: "[qApp_deviceIsStorm=true] {\n  font-size: 34px;"
-          # AuraOne/Forma/Sage/Elipsa (Daylight)
+          # AuraOne/Forma/Sage/Elipsa/Elipsa2E (Daylight)
         - Find:    "[qApp_deviceIsDaylight=true] {\n  font-size: 37px;"
           Replace: "[qApp_deviceIsDaylight=true] {\n  font-size: 37px;"
 
@@ -361,7 +361,7 @@ Custom page navigation scrubber:
           # LibraH2O/Libra2 (Storm)
         - Find:    "#page[qApp_deviceIsStorm=true] {\n  font-size: 30px;"
           Replace: "#page[qApp_deviceIsStorm=true] {\n  font-size: 30px;"
-          # AuraOne/Forma/Sage/Elipsa (Daylight)
+          # AuraOne/Forma/Sage/Elipsa/Elipsa2E (Daylight)
         - Find:    "#page[qApp_deviceIsDaylight=true] {\n  font-size: 34px;"
           Replace: "#page[qApp_deviceIsDaylight=true] {\n  font-size: 34px;"
 
@@ -405,7 +405,7 @@ Series list increase cover thumbnails:
           # AuraHD/AuraH2O/AuraH202/GloHD/ClaraHD/Clara2E
         - {Find: "topMargin: 14px;",    Replace: "topMargin: 5px;"}
         - {Find: "bottomMargin: 14px;", Replace: "bottomMargin: 0px;"}
-          # AuraOne/Forma/Sage/Elipsa
+          # AuraOne/Forma/Sage/Elipsa/Elipsa2E
         - {Find: "topMargin: 21px;",    Replace: "topMargin: 7px;"}
         - {Find: "bottomMargin: 21px;", Replace: "bottomMargin: 0px;"}
           # LibraH2O/Libra2
@@ -422,7 +422,7 @@ Series list increase cover thumbnails:
           # AuraHD/AuraH2O/AuraH202/GloHD/ClaraHD/Clara2E
         - {Find: "width: 108px;",  Replace: "width: 120px;"}
         - {Find: "height: 175px;", Replace: "height: 195px;"}
-          # AuraOne/Forma/Sage/Elipsa
+          # AuraOne/Forma/Sage/Elipsa/Elipsa2E
         - {Find: "width: 140px;",  Replace: "width: 164px;"}
         - {Find: "height: 222px;", Replace: "height: 260px;"}
           # LibraH2O/Libra2
diff --git a/nickel.yaml/oren64.yaml b/nickel.yaml/oren64.yaml
index 4fd1bc3..a2b4ee2 100644
--- a/nickel.yaml/oren64.yaml
+++ b/nickel.yaml/oren64.yaml
@@ -20,7 +20,7 @@ Increase headlines font:
           # LibraH2O/Libra2
         - Find:    "#tabContainer > N3TabItem[qApp_deviceIsStorm=true] {\n  font-size: 32px;\n}"
           Replace: "#tabContainer > N3TabItem[qApp_deviceIsStorm=true] {\n  font-size: 46px;\n}"
-          # AuraONE/Forma/Sage/Elipsa
+          # AuraONE/Forma/Sage/Elipsa/Elipsa2E
         - Find:    "#tabContainer > N3TabItem[qApp_deviceIsDaylight=true] {\n  font-size: 36px;\n}"
           Replace: "#tabContainer > N3TabItem[qApp_deviceIsDaylight=true] {\n  font-size: 50px;\n}"
 
@@ -56,7 +56,7 @@ New home screen subtitle custom font:
           # LibraH2O/Libra2 (Storm)
         - Find:    "MetaDataLabel[qApp_deviceIsStorm=true] {\n  font-size: 28px;\n}"
           Replace: "MetaDataLabel[qApp_deviceIsStorm=true] {\n  font-size: 30px;\n}"
-          # AuraONE/Forma/Sage/Elipsa (Daylight)
+          # AuraONE/Forma/Sage/Elipsa/Elipsa2E (Daylight)
         - Find:    "MetaDataLabel[qApp_deviceIsDaylight=true] {\n  font-size: 31px;\n}"
           Replace: "MetaDataLabel[qApp_deviceIsDaylight=true] {\n  font-size: 34px;\n}"
         #
@@ -73,7 +73,7 @@ New home screen subtitle custom font:
           # LibraH2O/Libra2 (Storm)
         - Find:    "RegularElidedLabel[qApp_deviceIsStorm=true] {\n  font-size: 42px;\n}"
           Replace: "RegularElidedLabel[qApp_deviceIsStorm=true] {\n  font-size: 42px;\n}"
-          # AuraONE/Forma/Sage/Elipsa (Daylight)
+          # AuraONE/Forma/Sage/Elipsa/Elipsa2E (Daylight)
         - Find:    "RegularElidedLabel[qApp_deviceIsDaylight=true] {\n  font-size: 47px;\n}"
           Replace: "RegularElidedLabel[qApp_deviceIsDaylight=true] {\n  font-size: 47px;\n}"
 
@@ -97,7 +97,7 @@ Remove footer (row3) and increase cover size on new home screen:
         # AuraHD/AuraH2O/AuraH2O2/GloHD/ClaraHD/Clara2E (Dragon)
       - {Find: "qproperty-leftMargin: 57px;",  Replace: "qproperty-leftMargin: 22px;"}
       - {Find: "qproperty-rightMargin: 57px;", Replace: "qproperty-rightMargin: 22px;"}
-        # AuraONE/Forma/Sage/Elipsa (Daylight)
+        # AuraONE/Forma/Sage/Elipsa/Elipsa2E (Daylight)
       - {Find: "qproperty-leftMargin: 74px;",  Replace: "qproperty-leftMargin: 29px;"}
       - {Find: "qproperty-rightMargin: 74px;", Replace: "qproperty-rightMargin: 29px;"}
         # LibraH2O/Libra2 (Storm)
diff --git a/nickel.yaml/pgaskin.yaml b/nickel.yaml/pgaskin.yaml
index 75208ff..e45b4ea 100644
--- a/nickel.yaml/pgaskin.yaml
+++ b/nickel.yaml/pgaskin.yaml
@@ -15,7 +15,7 @@ Remove forgot pin button from lock screen:
       Removes the Forgot PIN -> Sign Out button from the lock screen.
       If this is enabled and you forget your pin, you will need to
       hard reset your Kobo.
-  - BaseAddress: 0x1941D42 # qss/PinCodeInputDialog.qss
+  - BaseAddress: 0x1941D52 # qss/PinCodeInputDialog.qss
   - ReplaceZlib:
       Find: "#lblForgotPin[qApp_deviceIsDragon=true],\n#lblSignOut[qApp_deviceIsDragon=true] {\n  font-size: 26px;\n}"
       Replace: "#lblForgotPin,#lblSignOut{qproperty-visible:false;}"
@@ -23,7 +23,7 @@ Remove forgot pin button from lock screen:
 Increase size of kepub chapter progress chart:
   - Enabled: no
   - Description: Originally by oren64, rewritten for 4.16.13337 by pgaskin (geek1011).
-  - BaseAddress: 0x194BE97 # qss/ReadingMenuStatsView.qss
+  - BaseAddress: 0x194BEA7 # qss/ReadingMenuStatsView.qss
   - ReplaceZlibGroup:
       Replacements:
       # Top padding is already set to 15px, 25px, 33px, vertical aligned to middle.

from kobopatch-patches.

jackiew1 avatar jackiew1 commented on June 18, 2024

The easiest release possible.

Excellent😃

On a non-patch topic, do you know whether it will be possible to access the new GoogleDrive feature from NickelMenu in the same way you can with Dropbox?

from kobopatch-patches.

pgaskin avatar pgaskin commented on June 18, 2024

On a non-patch topic, do you know whether it will be possible to access the new GoogleDrive feature from NickelMenu in the same way you can with Dropbox?

Yeah, that's possible (as is notebooks and the other recent features); I just haven't got around to doing it myself yet.

from kobopatch-patches.

jackiew1 avatar jackiew1 commented on June 18, 2024

Yeah, that's possible (as is notebooks and the other recent features); I just haven't got around to doing it myself yet.

Sounds promising, no rush. I suppose it's a bit of a dilemma as to whether to publish them publicly, though. I don't use notebooks myself.

from kobopatch-patches.

Related Issues (20)

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.