Skip to content

Commit

Permalink
chore(merge): begin working on my personal radar in main via branches (
Browse files Browse the repository at this point in the history
…#6)

* chore(clean): set up for new radar configurations
* chore(radar): clear out and prepare radar for configuration

---------

Co-authored-by: cato1971@xtra.co.nz <cato2710>
  • Loading branch information
petersellars authored Sep 22, 2024
1 parent 86928bd commit 77a3741
Show file tree
Hide file tree
Showing 5 changed files with 475 additions and 171 deletions.
5 changes: 5 additions & 0 deletions .vscode/extensions.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"recommendations": [
"ritwickdey.liveserver"
]
}
6 changes: 3 additions & 3 deletions index.html
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
<html>
<html></html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8">

<script src="https://code.jquery.com/jquery-1.10.1.min.js" integrity="sha256-SDf34fFWX/ZnUozXXEH0AeB+Ip3hvRsjLwp6QNTEb3k=" crossorigin="anonymous"></script>
<script type="text/javascript" src="lib/protovis-3.2/protovis-d3.2.js"></script>
<script type="text/javascript" charset="utf-8" src="utils.js"></script>
<script type="text/javascript" charset="utf-8" src="lib/lodash.underscore.min.js"></script>
<script type="text/javascript" charset="utf-8" src="radars/radarData.js"></script>
<script type="text/javascript" charset="utf-8" src="my_radars/april-2024.js"></script>

<style type="text/css" media="screen">

Expand All @@ -30,4 +30,4 @@ <h1 id="title" style="text-align: center;"></h1>
<p>^ Item in dispute, additional discussion and context to be provided.</p>
</div>
</body>
</html>
</html>
206 changes: 206 additions & 0 deletions my_radars/april-2024.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,206 @@
//This is the title for your window tab, and your Radar
document.title = "Personal Technology Radar (April 2024) - WIP";


//This is the concentic circles that want on your radar
var radar_arcs = [
{'r':100,'name':'Adopt'}
,{'r':200,'name':'Trial'}
,{'r':300,'name':'Assess'}
,{'r':400,'name':'Hold'}
,{'r':500,'name':'Considerations'}
];

//This is your raw data
//
// Key
//
// movement:
// t = moved
// c = stayed put
//
// blipSize:
// intValue; This is optional, if you omit this property, then your blip will be size 70.
// This give you the ability to be able to indicate information by blip size too
//
// url:
// StringValue : This is optional, If you add it then your blips will be clickable to some URL
//
// pc: polar coordinates
// r = distance away from origin ("radial coordinate")
// - Each level is 100 points away from origin
// t = angle of the point from origin ("angular coordinate")
// - 0 degrees is due east
//
// Coarse-grained quadrants
// - Techniques: elements of a software development process, such as experience design; and ways of structuring software, such micro-services.
// - Tools: components, such as databases, software development tools, such as versions control systems; or more generic categories of tools, such as the notion of polyglot persistance.
// - Platforms: things that we build software on top of: mobile technologies like Android, virtual platforms like the JVM, or generic kinds of platforms like hybrid clouds
// - Programming Languages and Frameworks
//
// Rings:
// - Adopt: blips you should be using now; proven and mature for use
// - Trial: blips ready for use, but not as completely proven as those in the adopt ring; use on a trial basis, to decide whether they should be part of your toolkit
// - Assess: things that you should look at closely, but not necessarily trial yet - unless you think they would be a particularly good fit for you
// - Hold: things that are getting attention in the industry, but not ready for use; sometimes they are not mature enough yet, sometimes they are irredeemably flawed
// Note: there's no "avoid" ring, but throw things in the hold ring that people shouldn't use.

var h = 1300;
var w = 1500;

var radar_data = [
{ "quadrant": "Techniques",
"left" : 45,
"top" : 18,
"color" : "#8FA227",
"items" : [

// HOLD

// ASSESS
// {name: "Git flow / Pull Requests ^", pc: { r: 230, t: 133 }, movement: 'c'},
// {name: "Incremental data warehousing", pc: { r: 250, t:165}, movement: 'c'},
// {name: "Events for messages - CQRS", pc: {"r":225,"t":120},"movement":"c"},
// {"name":"Measure Pipeline disruptions", "pc":{"r":280,"t":110},"movement":"c"},
// {"name":"Continuous Experimentation", "pc":{"r":230,"t":110},"movement":"c"},
// { name: 'Reduce iRules dependence ^', pc: { r: 280, t: 133 }, movement: 'c' },

// TRIAL
// {"name":"SaaS for non-core systems", "pc":{"r":170,"t":150},"movement":"c"},
// {"name":"Pair Programming", "pc":{"r":130,"t":170},"movement":"c"},
// {"name":"iOS Accessibility", "pc":{"r":170,"t":110},"movement":"c"},
// {"name":"Single Page App", "pc":{"r":150,"t":95},"movement":"c", "url":"http://www.google.com"},
// {"name":"iOS Adaptivity", "pc":{"r":180,"t":105},"movement":"c"},
// {"name":"Build Pipelines", "pc":{"r":180,"t":100},"movement":"c"},
// {"name":"Data Informed Decion Making", "pc":{"r":130,"t":110},"movement":"c"},
// {"name":"Polygot Programming", "pc":{"r":180,"t":170},"movement":"c"},
// { name: 'internal load balancing off F5^', pc: { r: 180, t: 133 }, movement: 'c' },
// {"name":"Isolated dev envs", "pc":{"r":180,"t":125},"movement":"c"},
// {"name":"Edge Services", "pc":{"r":130,"t":160},"movement":"c"},
// {"name":"Clean Code", "pc":{"r":130,"t":120},"movement":"c"},
// {"name":"Wide and Thin Front-Ends", "pc":{"r":180,"t":160},"movement":"c"},
// {"name":"Zookeeper for App Config", "pc":{"r":130,"t":130},"movement":"c"},
// {"name":"Property based testing", "pc":{"r":130,"t":165},"movement":"c"},
// {"name":"Evolutionary architecture", "pc":{"r":120,"t":95},"movement":"c"},
// {"name":"Code Reviews", "pc":{"r":110,"t":110},"movement":"c"},
// {"name":"Valuable, cheap tests", "pc":{"r":130,"t":150},"movement":"c"},

// ADOPT
{ name: "Lightweight Architecture Decision Records", pc: { r: 50, t: 120} , movement: 'c'},

]
},
{ "quadrant": "Tools",
"left": w-200+30,
"top" : 18,
"color" : "#587486",
"items" : [

// { name: 'Docker', pc: { r: 170, t: 19 }, movement: 't' },
// { name: 'bind', pc: { r: 150, t: 69 }, movement: 'c' },
// { name: 'Appium', pc: { r: 110, t: 70 }, movement: 'c', domain: 'mobile, front-end' },
// { name: 'Android Studio', pc: { r: 180, t: 66 }, movement: 'c', domain: 'mobile, dev' },
// { name: 'Responsive Android', pc: { r: 150, t: 14 }, movement: 'c' },
// { name: 'AutoLayout - iOS', pc: { r: 180, t: 55 }, movement: 'c', domain: '' },
// { name: 'Kiwi - iOS unit test', pc: { r: 120, t: 14 }, movement: 'c', domain: '' },
// { name: 'BEM', pc: { r: 160, t: 60 }, movement: 'c', domain: 'front-end' },
// { name: 'Crashlytics', pc: { r: 180, t: 5 }, movement: 'c', domain: 'mobile' },
// { name: 'Consul', pc: { r: 170, t: 29 }, movement: 't' },
// { name: 'Swagger Code-Gen', pc: { r: 180, t: 82 }, movement: 'c' },
// { name: 'PowerMock ^', pc: { r: 180, t: 46 }, movement: 'c' },
// { name: 'Mockito', pc: { r: 170, t: 84 }, movement: 'c', domain: 'back-end' },
// { name: 'Json Web Tokens (JWT)', pc: { r: 180, t: 77 }, movement: 'c' },
// { name: 'Lemming', pc: { r: 160, t: 82 }, movement: 'c' },
// { name: 'Hystrix', pc: { r: 150, t: 36 }, movement: 'c' },
// { name: 'Git', pc: { r: 130, t: 73 }, movement: 'c' },

// { name: 'Ansible', pc: { r: 280, t: 74 }, movement: 'c' },
// { name: 'Hip Chat', pc: { r: 280, t: 78 }, movement: 'c' },
// { name: 'Trello', pc: { r: 260, t: 75 }, movement: 'c' },
// { name: 'Charles HTTP Proxy', pc: { r: 260, t: 48 }, movement: 'c' },
// { name: 'Xamarin', pc: { r: 280, t: 51 }, movement: 'c' },
// { name: 'Android Annotations', pc: { r: 280, t: 25 }, movement: 'c' },
// { name: 'GenyMotion', pc: { r: 210, t: 31 }, movement: 'c' },

// { name: 'JDBI ^', pc: { r: 80, t: 56 }, movement: 'c' },
// { name: 'Kafka', pc: { r: 12, t: 25 }, movement: 'c', domain: 'back-end' },
// { name: 'ELK', pc: { r: 30, t: 72 }, movement: 'c', domain: 'back-end' },
// { name: 'Liquibase', pc: { r: 80, t: 76 }, movement: 'c' },
// { name: 'haproxy', pc: { r: 80, t: 46 }, movement: 'c' },

// { name: 'AppManager ^', pc: { r: 360, t: 82 }, movement: 'c' },
// { name: 'Hibernate ^', pc: { r: 380, t: 56 }, movement: 'c' },
// { name: 'mongoDB', pc: { r: 330, t: 5 }, movement: 'c' },
// { name: 'Subversion', pc: { r: 330, t: 18 }, movement: 'c' }
]
},
{ "quadrant": "Platforms",
"left" :45,
"top" : (h/2 + 18),
"color" : "#FF0000",
"items" : [

// {"name":"OpenId Connect", "pc":{"r":130,"t":260},"movement":"t"},
// {"name":"Location based services", "pc":{"r":130,"t":230},"movement":"c"},
// {"name":"Openstack", "pc":{"r":190,"t":190},"movement":"c"},
// {"name":"RHEL 7", "pc":{"r":170,"t":215},"movement":"c"},

// {"name":"App containers", "pc":{"r":250,"t":260},"movement":"c"},
// {"name":"Google Cloud Data Flow", "pc":{"r":275,"t":260},"movement":"t"},
// { name: 'Postgres as NoSQL', pc: { r: 220, t: 255 }, movement: 'c' },
// {"name":"AWS 2014 Innovations", "pc":{"r":270,"t":195},"movement":"c"},
// {"name":"Azure", "pc":{"r":290,"t":265},"movement":"c"},
// { name: 'Mesos', pc: { r: 260, t: 265 }, movement: 't' },
// { name: 'Marathon', pc: { r: 240, t: 268 }, movement: 't' },
// { name: 'Kubernetes', pc: { r: 270, t: 236 }, movement: 't' },
// {"name":"Google App Engine", "pc":{"r":290,"t":255},"movement":"c"},
// {"name":"Google as corporate platform", "pc":{"r":290,"t":200},"movement":"c"},


// {"name":"Google Play - (alpha/beta builds)", "pc":{"r":30,"t":225},"movement":"c"},
// {"name":"JVM as platform", "pc":{"r":90,"t":265},"movement":"c"},
// {"name":"AWS", "pc":{"r":90,"t":250},"movement":"c"},
// { name: 'BigIP v11', pc: { r: 50, t: 257 }, movement: 'c' },



// {"name":"Ruby On Rails", "pc":{"r":390,"t":215},"movement":"c"},
// {"name":"Everest", "pc":{"r":390,"t":185},"movement":"c"},
// {"name":"Magnolia CMS", "pc":{"r":390,"t":235},"movement":"c"},
// {"name":"Java EE - the Bad Parts", "pc":{"r":390,"t":245},"movement":"c"},
// {"name":"MS SqlServer", "pc":{"r":390,"t":190},"movement":"c"},
// {"name":"RHEL 5", "pc":{"r":370,"t":195},"movement":"c"}

]
},
{ "quadrant": "Languages & Frameworks",
"color" : "#B70062",
"left" : (w-200+30),
"top" : (h/2 + 18),
"items" : [
// { name: 'CDI', pc: { r: 60, t: 290 }, movement: 'c' },
// { name: 'Jersey', pc: { r: 60, t: 310 }, movement: 'c' },

// { name: 'Guice', pc: { r: 60, t: 278 }, movement: 'c' },
// { name: 'RxJava', pc: { r: 150, t: 298 }, movement: 'c', domain: 'template' },

// {"name":"Java 8", "pc":{"r":130,"t":355},"movement":"c"},
// {"name":"Groovy ^", "pc":{"r":190,"t":280},"movement":"c"},

// {"name":"Swift", "pc":{"r":280,"t":300},"movement":"c"},
// {"name":"Scala - the good parts ^", "pc":{"r":290,"t":320},"movement":"c"},
// {"name":"Serverside Javascript", "pc":{"r":220,"t":275},"movement":"c"},
// {"name":"Coffeescript", "pc":{"r":270,"t":282},"movement":"c"},
// {"name":"Functional Reactive Programming", "pc":{"r":285,"t":330},"movement":"c"},
// {"name":"Clojure", "pc":{"r":280,"t":310},"movement":"c"},
// { name: 'RxJs', pc: { r: 250, t: 338 }, movement: 'c', domain: 'template' },
// { name: 'Web Components', pc: { r: 260, t: 330 }, movement: 'c' },

// { name: 'Mustache/Handlebars template', pc: { r: 50, t: 298 }, movement: 'c', domain: 'template' },
// { name: 'Spring ^', pc: { r: 360, t: 330 }, movement: 'c' },
// {"name":"Web Objects", "pc":{"r":390,"t":290},"movement":"c"},
// {"name":"ASP Classic", "pc":{"r":375,"t":330},"movement":"c"},
// {"name":"Java 6 and earlier", "pc":{"r":390,"t":350},"movement":"c"}
]
}
];
93 changes: 93 additions & 0 deletions my_radars/personal_tech_radar_dec_2012.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
document.title = "Test"

var radar_data = [
// TECHNOLOGIES
//{"name":"Adopt","pc":{"r":0,"t":0},"movement":"r"},
{"name":"Exhaustive Browser Based Testing", "pc":{"r":350,"t":135},"movement":"t"},
// {"name":"Scrum certification", "pc":{"r":350,"t":95},"movement":"c"},
{"name":"Logs As Data", "pc":{"r":250,"t":165},"movement":"t"},
{"name":"Declarative Provisioning", "pc":{"r":250,"t":110},"movement":"t"},
{"name":"Polygot Persistence", "pc":{"r":250,"t":130},"movement":"t"},
{"name":"Configuration In DNS", "pc":{"r":260,"t":150},"movement":"t"},
//{"name":"Trial","pc":{"r":0,"t":0},"movement":"r"},
{"name":"Continuous Delivery", "pc":{"r":180,"t":125},"movement":"t"},
{"name":"Micro Services", "pc":{"r":140,"t":120},"movement":"t"},
{"name":"Deployment & Scripting Test Tools", "pc":{"r":160,"t":140},"movement":"t"},
{"name":"Automation of Developer Workstations", "pc":{"r":180,"t":95},"movement":"t"},
{"name":"Advanced Analytics", "pc":{"r":180,"t":170},"movement":"t"},
{"name":"Health Check Pages", "pc":{"r":180,"t":150},"movement":"t"},
{"name":"Pomodoro Technique", "pc":{"r":90,"t":140},"movement":"t"},
{"name":"WIP Limits", "pc":{"r":80,"t":100},"movement":"t"},
{"name":"Automated Build Pipelines", "pc":{"r":70,"t":170},"movement":"t"},
{"name":"Quality Analytics", "pc":{"r":40,"t":110},"movement":"t"},
{"name":"Continuous Deployment", "pc":{"r":30,"t":160},"movement":"t"},
// TOOLS
{"name":"Maven", "pc":{"r":330,"t":10},"movement":"t"},
{"name":"Aquillian", "pc":{"r":280,"t":85},"movement":"t"},
{"name":"D3", "pc":{"r":280,"t":70},"movement":"t"},
{"name":"JBehave", "pc":{"r":280,"t":50},"movement":"t"},
{"name":"GPars", "pc":{"r":280,"t":30},"movement":"t"},
{"name":"Jasmine", "pc":{"r":240,"t":50},"movement":"t"},
{"name":"Simpleweb/Webbit", "pc":{"r":240,"t":30},"movement":"t"},
{"name":"Geb", "pc":{"r":180,"t":65},"movement":"t"},
{"name":"Highcharts", "pc":{"r":180,"t":50},"movement":"t"},
{"name":"Thurcylides", "pc":{"r":160,"t":85},"movement":"t"},
{"name":"Robolectric", "pc":{"r":130,"t":85},"movement":"t"},
{"name":"Robotium", "pc":{"r":130,"t":55},"movement":"t"},
{"name":"Locust", "pc":{"r":130,"t":30},"movement":"t"},
{"name":"EasyB", "pc":{"r":130,"t":15},"movement":"t"},
{"name":"Puppet", "pc":{"r":80,"t":85},"movement":"t"},
{"name":"Vagrant/Veewee", "pc":{"r":80,"t":10},"movement":"t"},
{"name":"Gradle", "pc":{"r":30,"t":30},"movement":"t"},
{"name":"Sonar", "pc":{"r":50,"t":45},"movement":"t"},
{"name":"Liquibase", "pc":{"r":80,"t":50},"movement":"t"},
{"name":"Concordion", "pc":{"r":70,"t":70},"movement":"t"},
{"name":"Embedded Servlet Containers", "pc":{"r":80,"t":30},"movement":"t"},
// LANGUAGES & FRAMEWORKS
{"name":"Twitter Bootstrap", "pc":{"r":30,"t":320},"movement":"t"},
{"name":"Geb", "pc":{"r":80,"t":310},"movement":"t"},
{"name":"Grails 2.0", "pc":{"r":50,"t":340},"movement":"t"},
{"name":"Silverstripe", "pc":{"r":80,"t":340},"movement":"t"},
{"name":"JSON", "pc":{"r":60,"t":290},"movement":"t"},
{"name":"DropWizard", "pc":{"r":80,"t":290},"movement":"t"},
{"name":"HTML 5", "pc":{"r":160,"t":330},"movement":"t"},
{"name":"Angular JS", "pc":{"r":180,"t":290},"movement":"t"},
{"name":"Clojure", "pc":{"r":170,"t":310},"movement":"t"},
{"name":"DSLs", "pc":{"r":120,"t":320},"movement":"t"},
{"name":"Knockout", "pc":{"r":130,"t":350},"movement":"t"},
{"name":"Spring Social", "pc":{"r":120,"t":280},"movement":"t"},
{"name":"Require.js", "pc":{"r":250,"t":350},"movement":"t"},
{"name":"Gremlin", "pc":{"r":260,"t":280},"movement":"t"},
{"name":"WordPress", "pc":{"r":350,"t":300},"movement":"t"},
// PLATFORMS
{"name":"Private Cloud", "pc":{"r":30,"t":210},"movement":"t"},
{"name":"Neo4j", "pc":{"r":50,"t":225},"movement":"t"},
{"name":"Node.js", "pc":{"r":80,"t":215},"movement":"t"},
{"name":"MongoDB", "pc":{"r":35,"t":250},"movement":"t"},
{"name":"OpenStack", "pc":{"r":70,"t":245},"movement":"t"},
{"name":"CrouchDB", "pc":{"r":70,"t":190},"movement":"t"},
{"name":"JBoss Rules", "pc":{"r":140, "t":190},"movement":"t"},
{"name":"OpenNebula", "pc":{"r":120,"t":220},"movement":"t"},
{"name":"Redis", "pc":{"r":180,"t":200},"movement":"t"},
{"name":"Couchbase", "pc":{"r":160,"t":215},"movement":"t"},
{"name":"Riak", "pc":{"r":150,"t":245},"movement":"t"},
{"name":"Hybrid Clouds", "pc":{"r":160,"t":255},"movement":"t"},
{"name":"Meteor.js", "pc":{"r":220,"t":185},"movement":"t"},
{"name":"BiqQuery", "pc":{"r":250,"t":260},"movement":"t"},
{"name":"Calatrava", "pc":{"r":240,"t":220},"movement":"t"},
{"name":"Vert.x", "pc":{"r":255,"t":240},"movement":"t"},
{"name":"Java Portal Servers", "pc":{"r":340,"t":240},"movement":"t"},
];

//left to right -> top to bottom
var radar_quadrants = [
{"name":"Techniques", "start":0, "end":16},
{"name":"Tools", "start":16, "end":37},
{"name":"Platforms", "start":52, "end":70},
{"name":"Languages", "start":37, "end":52}
//{"name":"Languages/Frameworks", "start":37, "end":45}
];
//
var radar_arcs = [{'r':100,'name':'Adopt'},{'r':200,'name':'Trial'},{'r':300,'name':''},{'r':310,'name':'Assess'},{'r':400,'name':'Hold'}];

var radar_title = "Peter Sellars - Personal Technology Radar (Dec 2012)";
Loading

0 comments on commit 77a3741

Please sign in to comment.