aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <mohammad.anwar@yahoo.com>2019-11-02 07:05:36 +0000
committerMohammad S Anwar <mohammad.anwar@yahoo.com>2019-11-02 07:05:36 +0000
commit101f074b87a4356d716bf3cce087547cb0959b76 (patch)
treee20f7f9cf3eb4f18a480b1aa221ee40a8e42ceda
parentc6ed50dffe9799b9c8a48b270b744449dc083acd (diff)
downloadperlweeklychallenge-club-101f074b87a4356d716bf3cce087547cb0959b76.tar.gz
perlweeklychallenge-club-101f074b87a4356d716bf3cce087547cb0959b76.tar.bz2
perlweeklychallenge-club-101f074b87a4356d716bf3cce087547cb0959b76.zip
- Added solutions by Ulrich Rieke.
-rw-r--r--challenge-032/ulrich-rieke/cpp/ch-1.cpp72
-rw-r--r--challenge-032/ulrich-rieke/cpp/ch-2.cpp92
-rw-r--r--stats/pwc-current.json172
-rw-r--r--stats/pwc-language-breakdown-summary.json50
-rw-r--r--stats/pwc-language-breakdown.json490
-rw-r--r--stats/pwc-leaders.json918
-rw-r--r--stats/pwc-summary-1-30.json38
-rw-r--r--stats/pwc-summary-121-150.json26
-rw-r--r--stats/pwc-summary-31-60.json46
-rw-r--r--stats/pwc-summary-61-90.json102
-rw-r--r--stats/pwc-summary-91-120.json122
-rw-r--r--stats/pwc-summary.json308
12 files changed, 1300 insertions, 1136 deletions
diff --git a/challenge-032/ulrich-rieke/cpp/ch-1.cpp b/challenge-032/ulrich-rieke/cpp/ch-1.cpp
new file mode 100644
index 0000000000..39c61373e3
--- /dev/null
+++ b/challenge-032/ulrich-rieke/cpp/ch-1.cpp
@@ -0,0 +1,72 @@
+#include <iostream>
+#include <vector>
+#include <map>
+#include <algorithm>
+#include <utility>
+#include <fstream>
+
+void printStrings( const std::vector<std::string> & strings ) {
+ std::map<std::string, int> frequencies ;
+ int maxlen = 0 ;
+ for ( std::string str : strings ) {
+ frequencies[ str ]++ ;
+ if ( str.length( ) > maxlen )
+ maxlen = str.length( ) ;
+ }
+ std::vector<std::pair<std::string , int>> orderedFreq { frequencies.begin( ),
+ frequencies.end( ) } ;
+ std::sort ( orderedFreq.begin( ) , orderedFreq.end( ) , []( const
+ std::pair<std::string, int> a , const std::pair<std::string, int> b )
+ { return a.second > b.second ; } ) ;
+ std::string answer ;
+ std::cout << "Output as csv : (y)es or (n)o ?\n" ;
+ std::cin >> answer ;
+ if ( answer.substr(0, 1 ) == "n" ) {
+ for ( auto & p : orderedFreq ) {
+ std::cout << p.first ;
+ std::cout.width( maxlen - p.first.length( ) + 1 ) ;
+ std::cout << p.second << std::endl ;
+ }
+ }
+ else {
+ for ( auto & p : orderedFreq ) {
+ std::cout << p.first << ',' << p.second << '\n' ;
+ }
+ }
+}
+
+int main( int argc , char * argv[] ) {
+ std::vector<std::string> argstrings ;
+ std::vector<std::string> argfiles ;
+ for ( int i = 1 ; i < argc ; i++ ) {
+ std::string argument( argv[ i ] ) ;
+ std::ifstream infile ( argument , std::ios::in ) ;
+ if ( infile ) {
+ argfiles.push_back( argument ) ;
+ infile.close( ) ;
+ }
+ else {
+ argstrings.push_back( argument ) ;
+ }
+ }
+ if ( ! argstrings.empty( ) ) {
+ std::cout << "Strings in the argument list:\n" ;
+ printStrings( argstrings ) ;
+ }
+ if ( ! argfiles.empty( ) ) {
+ for ( auto & file : argfiles ) {
+ std::ifstream inputfile( file , std::ios::in ) ;
+ std::vector<std::string> filelines ;
+ std::string line ;
+ std::cout << "Content of file " << file << " by frequency:\n" ;
+ while ( inputfile ) {
+ std::getline( inputfile , line ) ;
+ filelines.push_back( line ) ;
+ }
+ inputfile.close( ) ;
+ printStrings( filelines ) ;
+ }
+ }
+ return 0 ;
+}
+
diff --git a/challenge-032/ulrich-rieke/cpp/ch-2.cpp b/challenge-032/ulrich-rieke/cpp/ch-2.cpp
new file mode 100644
index 0000000000..7d9043ca6c
--- /dev/null
+++ b/challenge-032/ulrich-rieke/cpp/ch-2.cpp
@@ -0,0 +1,92 @@
+#include <iostream>
+#include <string>
+#include <vector>
+#include <utility>
+#include <algorithm>
+#include <cmath>
+#include <map>
+#include <iterator>
+
+using e_type = std::pair<std::string, double> ;
+using e_r_type = std::pair<std::string, int> ;
+
+std::map<std::string, double> enterData( ) {
+ std::map<std::string, double> theData ;
+ std::string item ;
+ std::cout << "Enter items( end to end) : " ;
+ std::cin >> item ;
+ while ( item != "end" ) {
+ double quantity = 0.0 ;
+ std::cout << "enter quantity : " ;
+ std::cin >> quantity ;
+ theData[ item ] = quantity ;
+ std::cout << "Enter items( end to end) : " ;
+ std::cin >> item ;
+ }
+ return theData ;
+}
+
+std::vector<e_r_type> normalizeData( std::map<std::string, double> & dats ) {
+ std::map<std::string, double>::iterator result ;
+ result = std::max_element( dats.begin( ) , dats.end( ) ,
+ []( const e_type & a, const e_type & b ) { return a.second <
+ b.second ; } ) ;
+ double maximum = result->second ;
+ //if the maximum item number is greater than 40, we want to scale the
+ //numbers in order to make rendering easier
+ double scalefactor = 0.0 ;
+ if ( maximum > 40.0 ) {
+ scalefactor = 40.0 / maximum ;
+ }
+ if ( scalefactor != 0.0 ) {
+ std::vector<e_r_type> allRounded ;
+ for ( auto & el : dats ) {
+ el.second *= scalefactor ;
+ }
+ }
+ std::vector<e_r_type> allRounded ;
+ for ( auto & el : dats ) {
+ allRounded.push_back( std::make_pair( el.first ,
+ static_cast<int>( round ( el.second ) ) ) ) ;
+ }
+ return allRounded ;
+}
+
+void generate_bar_graph( std::vector<e_r_type> & myData ) {
+ //in order to "pretty print" the items we want to find out the maximum
+ //length of an item
+ std::string answer ;
+ std::vector<e_r_type>::iterator result ;
+ result = std::max_element( myData.begin( ) , myData.end( ) ,
+ []( const e_r_type & el1, const e_r_type & el2 ) { return
+ el1.first.length( ) < el2.first.length( ) ; } ) ;
+ int maxlen = (result->first).length( ) ;
+ std::cout << "maxlen is " << maxlen << '\n' ;
+ std::cout << "You can order the output by item or by quantity!\n" ;
+ std::cout << "Do you want to order by item ? (y)es or (n)o ?" ;
+ std::cin >> answer ;
+ if (answer.substr( 0, 1 ) == "n" ) {//we order by quantity and have to sort
+ std::sort( myData.begin( ) , myData.end( ) , []( e_r_type & el1 ,
+ e_r_type & el2 ) { return el1.second > el1.second ; } ) ;
+ }
+ else {//we order by item
+ std::sort( myData.begin( ) , myData.end( ) ) ;
+ }
+ for ( const e_r_type & element : myData ) {
+ std::cout << element.first ;
+ std::cout.width( maxlen - element.first.length( ) + 1 ) ;
+ std::cout << "|" ;
+ for ( int i = 0 ; i < element.second ; i++ ) {
+ std::cout << '#' ;
+ }
+ std::cout << std::endl ;
+ }
+}
+
+int main( ) {
+ std::map<std::string, double> theData {enterData( ) } ;
+ std::vector<e_r_type> rounded { normalizeData( theData ) } ;
+ generate_bar_graph( rounded ) ;
+ return 0 ;
+}
+
diff --git a/stats/pwc-current.json b/stats/pwc-current.json
index 5abad70124..93ba9365fc 100644
--- a/stats/pwc-current.json
+++ b/stats/pwc-current.json
@@ -1,20 +1,27 @@
{
- "yAxis" : {
- "title" : {
- "text" : "Total Solutions"
+ "plotOptions" : {
+ "series" : {
+ "borderWidth" : 0,
+ "dataLabels" : {
+ "format" : "{point.y}",
+ "enabled" : 1
+ }
}
},
+ "legend" : {
+ "enabled" : 0
+ },
"drilldown" : {
"series" : [
{
+ "name" : "Andrezgz",
+ "id" : "Andrezgz",
"data" : [
[
"Perl 5",
2
]
- ],
- "id" : "Andrezgz",
- "name" : "Andrezgz"
+ ]
},
{
"data" : [
@@ -27,38 +34,38 @@
"name" : "Dave Cross"
},
{
- "id" : "Dave Jacoby",
"name" : "Dave Jacoby",
"data" : [
[
"Perl 5",
2
]
- ]
+ ],
+ "id" : "Dave Jacoby"
},
{
- "name" : "Duane Powell",
"id" : "Duane Powell",
"data" : [
[
"Perl 5",
2
]
- ]
+ ],
+ "name" : "Duane Powell"
},
{
"name" : "E. Choroba",
- "id" : "E. Choroba",
"data" : [
[
"Perl 5",
2
]
- ]
+ ],
+ "id" : "E. Choroba"
},
{
- "id" : "Fabrizio Poggi",
"name" : "Fabrizio Poggi",
+ "id" : "Fabrizio Poggi",
"data" : [
[
"Perl 5",
@@ -67,8 +74,6 @@
]
},
{
- "id" : "Javier Luque",
- "name" : "Javier Luque",
"data" : [
[
"Perl 5",
@@ -82,9 +87,12 @@
"Blog",
1
]
- ]
+ ],
+ "id" : "Javier Luque",
+ "name" : "Javier Luque"
},
{
+ "name" : "Joelle Maslak",
"data" : [
[
"Perl 5",
@@ -95,22 +103,21 @@
2
]
],
- "id" : "Joelle Maslak",
- "name" : "Joelle Maslak"
+ "id" : "Joelle Maslak"
},
{
- "id" : "Kevin Colyer",
- "name" : "Kevin Colyer",
"data" : [
[
"Perl 6",
2
]
- ]
+ ],
+ "id" : "Kevin Colyer",
+ "name" : "Kevin Colyer"
},
{
- "id" : "Lars Balker",
"name" : "Lars Balker",
+ "id" : "Lars Balker",
"data" : [
[
"Perl 5",
@@ -125,8 +132,8 @@
2
]
],
- "name" : "Lars Thegler",
- "id" : "Lars Thegler"
+ "id" : "Lars Thegler",
+ "name" : "Lars Thegler"
},
{
"data" : [
@@ -167,109 +174,89 @@
"name" : "Nazareno Delucca"
},
{
+ "name" : "Prajith P",
"data" : [
[
"Perl 5",
2
]
],
- "id" : "Prajith P",
- "name" : "Prajith P"
+ "id" : "Prajith P"
},
{
+ "id" : "Rage311",
"data" : [
[
"Perl 5",
2
]
],
- "name" : "Rage311",
- "id" : "Rage311"
+ "name" : "Rage311"
},
{
"name" : "Roger Bell West",
- "id" : "Roger Bell West",
"data" : [
[
"Perl 5",
2
]
- ]
+ ],
+ "id" : "Roger Bell West"
},
{
+ "name" : "Simon Proctor",
+ "id" : "Simon Proctor",
"data" : [
[
"Perl 6",
2
]
- ],
- "id" : "Simon Proctor",
- "name" : "Simon Proctor"
+ ]
},
{
+ "name" : "Steven Wilson",
+ "id" : "Steven Wilson",
"data" : [
[
"Perl 5",
2
]
- ],
- "id" : "Steven Wilson",
- "name" : "Steven Wilson"
+ ]
},
{
- "name" : "Ulrich Rieke",
- "id" : "Ulrich Rieke",
"data" : [
[
"Perl 5",
2
]
- ]
+ ],
+ "id" : "Ulrich Rieke",
+ "name" : "Ulrich Rieke"
},
{
- "name" : "Yet Ebreo",
"id" : "Yet Ebreo",
"data" : [
[
"Perl 5",
2
]
- ]
+ ],
+ "name" : "Yet Ebreo"
}
]
},
- "xAxis" : {
- "type" : "category"
- },
"chart" : {
"type" : "column"
},
- "tooltip" : {
- "headerFormat" : "<span style='font-size:11px'>{series.name}</span><br/>",
- "followPointer" : 1,
- "pointFormat" : "<span style='color:{point.color}'>{point.name}</span>: <b>{point.y:f}</b><br/>"
+ "xAxis" : {
+ "type" : "category"
},
"title" : {
"text" : "Perl Weekly Challenge - 032"
},
- "legend" : {
- "enabled" : 0
- },
- "plotOptions" : {
- "series" : {
- "dataLabels" : {
- "format" : "{point.y}",
- "enabled" : 1
- },
- "borderWidth" : 0
- }
- },
- "subtitle" : {
- "text" : "[Champions: 21] Last updated at 2019-11-02 06:55:55 GMT"
- },
"series" : [
{
- "colorByPoint" : 1,
+ "name" : "Perl Weekly Challenge - 032",
"data" : [
{
"name" : "Andrezgz",
@@ -287,19 +274,19 @@
"name" : "Dave Jacoby"
},
{
- "y" : 2,
+ "name" : "Duane Powell",
"drilldown" : "Duane Powell",
- "name" : "Duane Powell"
+ "y" : 2
},
{
- "y" : 2,
"drilldown" : "E. Choroba",
+ "y" : 2,
"name" : "E. Choroba"
},
{
- "name" : "Fabrizio Poggi",
"y" : 2,
- "drilldown" : "Fabrizio Poggi"
+ "drilldown" : "Fabrizio Poggi",
+ "name" : "Fabrizio Poggi"
},
{
"name" : "Javier Luque",
@@ -307,19 +294,19 @@
"y" : 5
},
{
- "name" : "Joelle Maslak",
"drilldown" : "Joelle Maslak",
- "y" : 4
+ "y" : 4,
+ "name" : "Joelle Maslak"
},
{
- "name" : "Kevin Colyer",
+ "drilldown" : "Kevin Colyer",
"y" : 2,
- "drilldown" : "Kevin Colyer"
+ "name" : "Kevin Colyer"
},
{
"name" : "Lars Balker",
- "y" : 2,
- "drilldown" : "Lars Balker"
+ "drilldown" : "Lars Balker",
+ "y" : 2
},
{
"y" : 2,
@@ -332,34 +319,34 @@
"name" : "Laurent Rosenfeld"
},
{
+ "name" : "Markus Holzer",
"y" : 2,
- "drilldown" : "Markus Holzer",
- "name" : "Markus Holzer"
+ "drilldown" : "Markus Holzer"
},
{
- "drilldown" : "Nazareno Delucca",
"y" : 2,
+ "drilldown" : "Nazareno Delucca",
"name" : "Nazareno Delucca"
},
{
- "drilldown" : "Prajith P",
"y" : 2,
+ "drilldown" : "Prajith P",
"name" : "Prajith P"
},
{
"name" : "Rage311",
- "drilldown" : "Rage311",
- "y" : 2
+ "y" : 2,
+ "drilldown" : "Rage311"
},
{
- "y" : 2,
"drilldown" : "Roger Bell West",
+ "y" : 2,
"name" : "Roger Bell West"
},
{
- "drilldown" : "Simon Proctor",
+ "name" : "Simon Proctor",
"y" : 2,
- "name" : "Simon Proctor"
+ "drilldown" : "Simon Proctor"
},
{
"name" : "Steven Wilson",
@@ -377,7 +364,20 @@
"drilldown" : "Yet Ebreo"
}
],
- "name" : "Perl Weekly Challenge - 032"
+ "colorByPoint" : 1
+ }
+ ],
+ "yAxis" : {
+ "title" : {
+ "text" : "Total Solutions"
}
- ]
+ },
+ "subtitle" : {
+ "text" : "[Champions: 21] Last updated at 2019-11-02 07:05:17 GMT"
+ },
+ "tooltip" : {
+ "headerFormat" : "<span style='font-size:11px'>{series.name}</span><br/>",
+ "pointFormat" : "<span style='color:{point.color}'>{point.name}</span>: <b>{point.y:f}</b><br/>",
+ "followPointer" : 1
+ }
}
diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json
index d4c9d14aac..b8951dec14 100644
--- a/stats/pwc-language-breakdown-summary.json
+++ b/stats/pwc-language-breakdown-summary.json
@@ -1,20 +1,26 @@
{
- "tooltip" : {
- "pointFormat" : "<b>{point.y:.0f}</b>"
+ "xAxis" : {
+ "type" : "category",
+ "labels" : {
+ "style" : {
+ "fontFamily" : "Verdana, sans-serif",
+ "fontSize" : "13px"
+ }
+ }
},
"series" : [
{
"dataLabels" : {
+ "rotation" : -90,
+ "format" : "{point.y:.0f}",
"align" : "right",
- "color" : "#FFFFFF",
- "y" : 10,
+ "enabled" : "true",
"style" : {
- "fontFamily" : "Verdana, sans-serif",
- "fontSize" : "13px"
+ "fontSize" : "13px",
+ "fontFamily" : "Verdana, sans-serif"
},
- "enabled" : "true",
- "rotation" : -90,
- "format" : "{point.y:.0f}"
+ "y" : 10,
+ "color" : "#FFFFFF"
},
"name" : "Contributions",
"data" : [
@@ -36,28 +42,22 @@
"legend" : {
"enabled" : "false"
},
- "subtitle" : {
- "text" : "Last updated at 2019-11-02 06:56:10 GMT"
+ "tooltip" : {
+ "pointFormat" : "<b>{point.y:.0f}</b>"
},
- "chart" : {
- "type" : "column"
+ "title" : {
+ "text" : "Perl Weekly Challenge Contributions - 2019"
},
"yAxis" : {
- "min" : 0,
"title" : {
"text" : null
- }
+ },
+ "min" : 0
},
- "xAxis" : {
- "type" : "category",
- "labels" : {
- "style" : {
- "fontSize" : "13px",
- "fontFamily" : "Verdana, sans-serif"
- }
- }
+ "chart" : {
+ "type" : "column"
},
- "title" : {
- "text" : "Perl Weekly Challenge Contributions - 2019"
+ "subtitle" : {
+ "text" : "Last updated at 2019-11-02 07:05:29 GMT"
}
}
diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json
index 8ac5593195..4738690728 100644
--- a/stats/pwc-language-breakdown.json
+++ b/stats/pwc-language-breakdown.json
@@ -1,208 +1,19 @@
{
- "legend" : {
- "enabled" : "false"
- },
"chart" : {
"type" : "column"
},
- "subtitle" : {
- "text" : "Click the columns to drilldown the language breakdown. Last updated at 2019-11-02 06:56:10 GMT"
- },
- "plotOptions" : {
- "series" : {
- "dataLabels" : {
- "format" : "{point.y}",
- "enabled" : 1
- },
- "borderWidth" : 0
- }
- },
- "tooltip" : {
- "headerFormat" : "<span style=\"font-size:11px\"></span>",
- "followPointer" : "true",
- "pointFormat" : "<span style=\"color:{point.color}\">Challenge {point.name}</span>: <b>{point.y:f}</b><br/>"
- },
- "series" : [
- {
- "data" : [
- {
- "drilldown" : "001",
- "y" : 132,
- "name" : "#001"
- },
- {
- "name" : "#002",
- "y" : 104,
- "drilldown" : "002"
- },
- {
- "drilldown" : "003",
- "name" : "#003",
- "y" : 67
- },
- {
- "name" : "#004",
- "y" : 86,
- "drilldown" : "004"
- },
- {
- "name" : "#005",
- "y" : 66,
- "drilldown" : "005"
- },
- {
- "drilldown" : "006",
- "name" : "#006",
- "y" : 48
- },
- {
- "drilldown" : "007",
- "y" : 56,
- "name" : "#007"
- },
- {
- "drilldown" : "008",
- "name" : "#008",
- "y" : 70
- },
- {
- "y" : 68,
- "name" : "#009",
- "drilldown" : "009"
- },
- {
- "drilldown" : "010",
- "name" : "#010",
- "y" : 60
- },
- {
- "name" : "#011",
- "y" : 78,
- "drilldown" : "011"
- },
- {
- "y" : 83,
- "name" : "#012",
- "drilldown" : "012"
- },
- {
- "name" : "#013",
- "y" : 76,
- "drilldown" : "013"
- },
- {
- "drilldown" : "014",
- "y" : 96,
- "name" : "#014"
- },
- {
- "y" : 93,
- "name" : "#015",
- "drilldown" : "015"
- },
- {
- "drilldown" : "016",
- "y" : 66,
- "name" : "#016"
- },
- {
- "drilldown" : "017",
- "y" : 79,
- "name" : "#017"
- },
- {
- "y" : 76,
- "name" : "#018",
- "drilldown" : "018"
- },
- {
- "name" : "#019",
- "y" : 95,
- "drilldown" : "019"
- },
- {
- "name" : "#020",
- "y" : 95,
- "drilldown" : "020"
- },
- {
- "drilldown" : "021",
- "name" : "#021",
- "y" : 67
- },
- {
- "y" : 63,
- "name" : "#022",
- "drilldown" : "022"
- },
- {
- "name" : "#023",
- "y" : 91,
- "drilldown" : "023"
- },
- {
- "name" : "#024",
- "y" : 70,
- "drilldown" : "024"
- },
- {
- "drilldown" : "025",
- "name" : "#025",
- "y" : 55
- },
- {
- "drilldown" : "026",
- "name" : "#026",
- "y" : 70
- },
- {
- "drilldown" : "027",
- "y" : 58,
- "name" : "#027"
- },
- {
- "name" : "#028",
- "y" : 78,
- "drilldown" : "028"
- },
- {
- "drilldown" : "029",
- "y" : 76,
- "name" : "#029"
- },
- {
- "name" : "#030",
- "y" : 114,
- "drilldown" : "030"
- },
- {
- "y" : 84,
- "name" : "#031",
- "drilldown" : "031"
- },
- {
- "drilldown" : "032",
- "y" : 51,
- "name" : "#032"
- }
- ],
- "colorByPoint" : "true",
- "name" : "Perl Weekly Challenge Languages"
- }
- ],
- "xAxis" : {
- "type" : "category"
- },
"yAxis" : {
"title" : {
"text" : "Total Solutions"
}
},
+ "subtitle" : {
+ "text" : "Click the columns to drilldown the language breakdown. Last updated at 2019-11-02 07:05:29 GMT"
+ },
"drilldown" : {
"series" : [
{
"name" : "001",
- "id" : "001",
"data" : [
[
"Perl 5",
@@ -216,11 +27,11 @@
"Blog",
11
]
- ]
+ ],
+ "id" : "001"
},
{
"name" : "002",
- "id" : "002",
"data" : [
[
"Perl 5",
@@ -234,11 +45,12 @@
"Blog",
9
]
- ]
+ ],
+ "id" : "002"
},
{
- "name" : "003",
"id" : "003",
+ "name" : "003",
"data" : [
[
"Perl 5",
@@ -255,6 +67,7 @@
]
},
{
+ "id" : "004",
"data" : [
[
"Perl 5",
@@ -269,7 +82,6 @@
9
]
],
- "id" : "004",
"name" : "004"
},
{
@@ -309,7 +121,7 @@
"id" : "006"
},
{
- "id" : "007",
+ "name" : "007",
"data" : [
[
"Perl 5",
@@ -324,9 +136,11 @@
10
]
],
- "name" : "007"
+ "id" : "007"
},
{
+ "id" : "008",
+ "name" : "008",
"data" : [
[
"Perl 5",
@@ -340,9 +154,7 @@
"Blog",
12
]
- ],
- "id" : "008",
- "name" : "008"
+ ]
},
{
"data" : [
@@ -359,12 +171,12 @@
13
]
],
- "id" : "009",
- "name" : "009"
+ "name" : "009",
+ "id" : "009"
},
{
- "name" : "010",
"id" : "010",
+ "name" : "010",
"data" : [
[
"Perl 5",
@@ -399,8 +211,6 @@
"name" : "011"
},
{
- "name" : "012",
- "id" : "012",
"data" : [
[
"Perl 5",
@@ -414,7 +224,9 @@
"Blog",
11
]
- ]
+ ],
+ "name" : "012",
+ "id" : "012"
},
{
"id" : "013",
@@ -435,6 +247,7 @@
"name" : "013"
},
{
+ "name" : "014",
"data" : [
[
"Perl 5",
@@ -449,11 +262,11 @@
15
]
],
- "id" : "014",
- "name" : "014"
+ "id" : "014"
},
{
"id" : "015",
+ "name" : "015",
"data" : [
[
"Perl 5",
@@ -467,12 +280,10 @@
"Blog",
15
]
- ],
- "name" : "015"
+ ]
},
{
"name" : "016",
- "id" : "016",
"data" : [
[
"Perl 5",
@@ -486,10 +297,11 @@
"Blog",
12
]
- ]
+ ],
+ "id" : "016"
},
{
- "name" : "017",
+ "id" : "017",
"data" : [
[
"Perl 5",
@@ -504,10 +316,9 @@
12
]
],
- "id" : "017"
+ "name" : "017"
},
{
- "name" : "018",
"data" : [
[
"Perl 5",
@@ -522,10 +333,10 @@
14
]
],
+ "name" : "018",
"id" : "018"
},
{
- "name" : "019",
"id" : "019",
"data" : [
[
@@ -540,9 +351,11 @@
"Blog",
13
]
- ]
+ ],
+ "name" : "019"
},
{
+ "id" : "020",
"name" : "020",
"data" : [
[
@@ -557,11 +370,10 @@
"Blog",
13
]
- ],
- "id" : "020"
+ ]
},
{
- "name" : "021",
+ "id" : "021",
"data" : [
[
"Perl 5",
@@ -576,10 +388,10 @@
10
]
],
- "id" : "021"
+ "name" : "021"
},
{
- "id" : "022",
+ "name" : "022",
"data" : [
[
"Perl 5",
@@ -594,9 +406,11 @@
10