gilberto5757 + criticism   661

The Case Against Blockchain |
Blockchain is a technically fascinating, but fundamentaly flawed technology. In this article I will lay out why I feel blockchain has no transformative use-cases outside of crypto-currency. I don’t feel the issues discussed below are solvable, and thus, it’s hard to envision a place for blockchain technology in the future aside from crypto-currency. Even within crypto-currency, public blockchains suffer from fundamental scalability problems that limit their utility as an actual curre...
blockchain  criticism 
5 days ago by gilberto5757
Beware SAFe (the Scaled Agile Framework for Enterprise), an Unholy Incarnation of Darkness
If you’ve never heard of it before, the Scaled Agile Framework for Enterprise is a collection of principles and practices assembled with the goal of offering a way to “scale up” an Agile working…
agile  largescale  enterprise  framework  programming  criticism 
21 days ago by gilberto5757
🎈 Abandoning the Static Site – Gregory Schier
The first version of my website, the site you're reading this on, was born seven years ago. NodeJS was just released the year prior and I was eager to give it a try. So, I built and released an open-source Node blogging engine—aptly named Simple Blog—which ended up serving as the first true home for my content.
static  website  blog  criticism  dynamic  replacement  casehistory 
24 days ago by gilberto5757
Don't Be A Full-Stack Developer. Be A Full-Stack Human
You can't know everything, and that's the beginning of knowing anything
phylosophy  specialization  criticism 
6 weeks ago by gilberto5757
Scheduled Tasks: The Good Way (or: Why You Should Stop Using Crontab)
Managing scheduled tasks is crucial part for most of the advanced software projects out there. At Appwrite, we use background tasks for sending emails, cleaning cache, aggregating stats, creating…
scheduling  cron  crontab  limit  issue  criticism 
7 weeks ago by gilberto5757
GitHub - you-dont-need/You-Dont-Need-Loops: Avoid The One-off Problem, Infinite Loops, Statefulness and Hidden intent.
Avoid The One-off Problem, Infinite Loops, Statefulness and Hidden intent. - you-dont-need/You-Dont-Need-Loops
functional  stateless  programming  loop  criticism  removal 
7 weeks ago by gilberto5757
There are no Upsides to Object Oriented Programming
Once upon a time I was a Computer Science student just starting his first classes. Among the mandatory topics were C++ programming and Fundamental Logic. Those two courses introduced me to a curious…
oop  criticism 
9 weeks ago by gilberto5757
Why coding is not the new literacy — Quartz
The revolution we've all been waiting for hasn't yet arrived.
coding  programming  kid  generalized  education  limit  criticism 
12 weeks ago by gilberto5757
The Truth About Open Offices
There are reasons why they don’t produce the desired interactions.
openspace  office  criticism  issue  problem  workplace 
12 weeks ago by gilberto5757
Password Rules Are Bullshit - blog - Coding Horror Discussion
When I wrote about App-pocalypse Now in 2014, I implied the future still belonged to the web. And it does. But it's also true that the web has changed a lot in the last 10 years, much less the last 20 or 30.

This is a …
password  rule  criticism 
october 2019 by gilberto5757
Maybe Agile Is the Problem
Organizations are Agile fatigued. The “Agile Industrial Complex” is part of the problem. We must go back to the basics. We have much to learn from the social sciences.
agile  degeneration  criticism 
october 2019 by gilberto5757
Why Every CTO Should Realize That Agile Manifesto Is No Longer Valid
So much is said about motivation among developers and how to effectively manage a Tech team. There are dozens of guides and top tips widely spread across the internet, but have you ever wondered…
agile  criticism  programming  job  alternative 
september 2019 by gilberto5757
Rust is not a good C replacement | Drew DeVault’s Blog
I have a saying that summarizes my opinion of Rust compared to Go: “Go is the result of C programmers designing a new programming language, and Rust is the result of C programmers designing a new programming language”. This isn’t just a metaphor - Go was designed by plan9 alumni, an operating system written in C and the source of inspiration for many of Go’s features, and Rust was designed by the folks at Mozilla - whose flagship product is one of the largest C codebases in the world.
rust  clang  criticism  replacement 
september 2019 by gilberto5757
Global Variables and States: Why So Much Hate?
Global variables are a common pitfall many developers fall into. Let's take a look why, and how we can fix this problem.
programming  global  data  state  shared  criticism  alternative  dependencyinjection  contextobject 
september 2019 by gilberto5757
Please don’t make me structure logs! - Gavin Cohen - Medium
As either a developer or a member of a DevOps team, you have undoubtedly dealt with logs; probably lots and lots of messy logs. It’s one of the first things we all look to when trying to get to the…
structured  json  log  criticism  programming 
august 2019 by gilberto5757
4 Reasons Not to Use Programming Loops (and a Few Ways to Avoid Them) - The New Stack
Although they are one of the first constructs that junior programmers learn, loops can pose many potential issues the software development process, and could be avoided in many cases, according to Marco Emrich, of IT consulting firm Codecentric, speaking at this year's OSCON conference, held earlier this month in Portland.
programming  loop  criticism  limit 
august 2019 by gilberto5757
The End of Agile
I knew the end of Agile was coming when we started using hockey sticks.
agile  criticism  issue  limit  bigdata  project 
august 2019 by gilberto5757
Chatbots were the next big thing: what happened? - The Startup - Medium
Our hopes were sky high. Bright-eyed and bushy-tailed, the industry was ripe for a new era of innovation: it was time to start socializing with machines. At the Mobile World Congress 2017, chatbots…
chatbot  criticism  limit  converstional  ui 
august 2019 by gilberto5757
Object-Oriented Programming — The Trillion Dollar Disaster
OOP is considered by many to be the crown jewel of computer science. The ultimate solution to code organization. The end to all our problems. The only true way to write our programs. Bestowed upon…
oop  criticism  article  complexity 
august 2019 by gilberto5757
Why Are So Many Developers Hating on Object-Oriented Programming? - The New Stack
Does Object Oriented Programming really make it easier for programmers to develop? Of is an alternatve like functional programming a better way to go?
oop  criticism  analysis  defense  advocacy 
august 2019 by gilberto5757
How Agile Fails in Practice - Sam Redmond - Medium
I think it’s safe to say that every developer has heard of Agile or used it at some point in time in their career. I think that many people, particularly project managers and non-developers, see…
agile  limit  issue  criticism 
august 2019 by gilberto5757
Functional Programming? Don’t Even Bother, It’s a Silly Toy
Perhaps you’ve heard of so-called “functional” programming. Maybe you’ve even been wondering whether you should try it next. Functional programming is full of flaws, is not suitable for real-world…
oop  criticism  humour  fun  satire 
august 2019 by gilberto5757
Don’t be an Evolutionary Programmer – Software the Hard way
When you run into a problem, a bug in your code, how do you try to fix it? Do you try to debug the problem, in order to figure out what the root cause is? Do you use tools like debuggers, loggers or code inspections, in order to better understand where and what is causing…
evolutionary  programming  approach  criticism 
july 2019 by gilberto5757
Object-Oriented Programming  —  💵 The Trillion Dollar Disaster 🤦‍♂️
OOP is considered by many to be the crown jewel of computer science. The final solution to code organization. The end to all of our problems. The only true way to write our programs. Bestowed upon us…
oop  criticism 
july 2019 by gilberto5757
The Cons and Cons of the Hungarian Notation - Fluent C++
Hungarian notation is an old habit of prefixing the name of every object with info about its type. Here is why you should not do that.
hungarian  notation  criticism  programming 
june 2019 by gilberto5757
IInterface Considered Harmful | Okta Developer
This post discusses the disadvantages of using the 'I' prefix for interfaces in static-typed languages.
hungarian  notation  criticism  c#  obsolescence 
june 2019 by gilberto5757
#NoDeployFriday: helpful or harmful? - The Engineering Manager
Should you deploy on Friday or not? Is a blanket policy against Friday deployment helpful or harmful?
devops  cd  friday  depoly  stop  criticism 
june 2019 by gilberto5757
Why I No Longer Use MVC Frameworks
Jean-Jacques Dubray introduces a new pattern, State-Action-Model, that speeds up the development of modern applications and simplifies the interaction between the data model and the view.
mvc  framework  criticism  replacement  proposal  webapplication  sam 
june 2019 by gilberto5757
Friday Deploy Freezes Are Exactly Like Murdering Puppies –
VOICEOVER: "Previously, on twitter ..." So, that happened. I hadn't seen anyone say something like this in quite a while.  I remember saying things like this myself as recently as, oh, 2016, but I thought the zeitgeist had moved on to continuous delivery. Which is not to say that Friday freezes don't happen anymore,…
continuosdeployment  devops  opinion  bestpractice  friday  block  criticism  cargocult 
june 2019 by gilberto5757
You cannot use JavaScript for everything! - Daniele Mte90 Scasciafratte
I am ready to fight but I can cry it without problems: Don't use JavaScript for everything.
javascript  js  criticism  limit  issue  webdev 
may 2019 by gilberto5757
Why you should not use feature branches - Fire CI
Isn’t the git history in the picture above nice to work with? There are probably many problems in that repository, but one of them is most definitely the use of feature branches. Let’s see how such a bad thing became such a common practice.
feature  branch  git  criticism  programming  vcs 
may 2019 by gilberto5757
Why Modern C++ Still Isn't As Safe As Memory-Safe Languages Like Rust and Swift - Slashdot
Alex Gaynor is a software engineer at Mozilla working on Firefox, after previously serving as a director of both the Python Software Foundation and the Django Software Foundation.

In a new blog post today, he argues that memory unsafe languages, "principally C and C++," induce an exceptional numbe...
rust  memory  safety  advocacy  c++  criticism 
april 2019 by gilberto5757
Goto and the folly of dogma | Many But Finite
Many programmers are surprised to find out that the goto statement is still widely used in modern, high-quality codebases. Here are some examples, using the fir
goto  cult  dogma  criticism 
april 2019 by gilberto5757
API Versioning – Mandatory Columns – Christian Findlay's Software Development
There are some difficulties with versioning APIs. One such difficulty is dealing with mandatory columns. If a back-end API upgrade is taking place, and we think that a new mandatory column is needed, we may create a problem for front-ends that don't supply the column. At first, this may seem like an insurmountable problem, but…
database  mandatory  data  api  criticism 
april 2019 by gilberto5757
Chris Date and the Relational Model - Simple Talk
Chris Date is famous for his writings on relational theory. At IBM in the seventies, and afterwards, he was a friend and colleague of Edgar Codd, who invented the principles of the relational database. Chris took on the role of communicating and teaching Codd's relational theory, and reluctantly admits to a role in establishing SQL as the dominant relational language. Richard Morris interviews the well-known author and computer scientist
relational  model  edgarcodd  article  coauthor  theory  sql  criticism 
march 2019 by gilberto5757
Avoiding the TypeScript `any` type
Reasons to avoid the `any` type and what to do instead
typescript  any  misuse  criticism 
march 2019 by gilberto5757
The Case Against Quantum Computing - IEEE Spectrum
The proposed strategy relies on manipulating with high precision an unimaginably huge number of variables
quantum  computing  impossible  opinion  criticism 
february 2019 by gilberto5757
ORM Is an Offensive Anti-Pattern
Object-relational mapping is a design pattern that violates encapsulation, one of the fundamental principles of OOP, but what is a possible alternative to it?
orm  criticism  antipattern 
february 2019 by gilberto5757
AI Hasn't Found Its Isaac Newton: Gary Marcus on Deep Learning Defects & 'Frenemy' Yann LeCun | Synced
Synced is proud to present Gary Marcus as the last installment in our Lunar New Year Project — a series of interviews with AI experts reflecting on AI development in 2018 and looking ahead to 2019. (Read the previous articles on Clarifai CEO Matt Zeiler and Google Brain Researcher Quoc Le.)
ai  criticism  skeptic 
february 2019 by gilberto5757
Don’t give me another DSL. Give me a library – Matt Hagy – Medium
My biggest hesitation in learning Terraform is that I don’t want to have to learn Hashicorp Configuration Language (HCL). Instead, I’d rather have a library that writes out the JSON form of HCL that…
dsl  configuration  file  format  criticism 
february 2019 by gilberto5757
10 Reasons to Refuse an NDA – Darryn Ten – Medium
If you’re an established Developer you will have had this conversation multiple times over the course of your career. This happens to us so regularly that we’ve been forced to come up with concise…
nondisclosure  agreement  nda  rebuttal  criticism 
february 2019 by gilberto5757
Is SQL a good place for business logic? - Enterprise Craftsmanship
SQL and business logic. The dispute regarding weather or not one should place business logic in SQL takes place for as long as I can remember. It's much...
sql  businesslogic  criticism  storedprocedure  complex 
february 2019 by gilberto5757
The State of Web Browsers – Ferdy Christant
Two days ago, I published a bitter sweet article on the state of web browsers, triggered by the news that Microsoft would abandon their EdgeHTML engine, replacing it with Chromium. Which was the…
chrome  criticism  monopoly 
january 2019 by gilberto5757
Are we moving towards abandoning Agile methodology | Packt Hub
Agile methodology is one of the most widely accepted methodologies in application development. But has it worked for everyone, and if it hasn’t, why not? Is it time that you abandoned Agile altogether? Is Agile even the culprit?
agile  criticism  issue  large  project  team  incompatibility  international  remote 
january 2019 by gilberto5757
« earlier      
per page:    204080120160

related tags

2to3  abandoned  abandonment  abolition  abouse  absence  absolutelybest  abstract  abstraction  abuse  academic  academy  acceleration  accept  access  acid  actual  adapt  addiction  admission  adoration  advantage  advertising  advocacy  advocecy  aes  aestheticism  against  agile  agreement  ai  airbnb  ajax  alankay  algorithm  algorithmic  alice  all  alternative  american  amp  amusement  analysis  android  angularjs  annotation  antipattern  any  api  apl  apllication  app  apple  applewatch  applicability  application  approach  appstore  april  architecture  archived  arduino  argument  arrogance  arrogant  art  article  artificial  aspnet  aspnetmvc  assembling  asynchronous  attitude  audience  authentication  authenticity  automatic  automation  award  awful  backward  bank  banzi  based  bash  basic  batch  batent  battery  beauty  beginner  benefit  berners-lee  best  bestpractice  biased  big  bigdata  bing  bitcoin  blaming  bloat  bloatware  block  blockchain  blog  book  boolean  bootcamp  bot  branch  brand  bre  brilliant  browser  bug  build  builder  building  bullet  bullying  business  businesslogic  businessrule  c#  c#6  c#8  c++  calculator  capitalism  career  cargocult  case  casehistory  categoric  cd  centrality  centralization  centralized  centric  certification  ceylon  challenge  change  channel  chase  chatbot  chrome  chromebook  chromeos  chroot  clang  class  clause  cleancode  cli  client  clientside  clojure  clojurescript  closed  cloud  cloudcomputing  clustering  coauthor  codd  code  codec  codecademy  codeless  codeorg  coder  coding  coffeescript  cognitivecomputing  collaboration  collection  comeback  command  commandline  comment  commodore  common  communication  community  company  comparison  compatibility  competition  complaining  complete  completeness  complex  complexity  composition  computer  computing  concentration  concurrency  concurrent  condition  configuration  conservative  consistency  constructivism  container  contempt  contest  context  contextobject  continuos  continuosdeployment  continuous  control  controller  conversational  converstional  coolness  cooperative  copying  copyright  correct  correctness  cost  coud  coupling  course  cpp  cqrs  craft  craftmanship  criteria  criticism  critique  cron  crontab  crossplatform  crud  cryptocurrency  cryptography  css  csv  cult  culture  cumgranosalis  dart  data  database  dataclass  ddd  deadline  death  debug  debugger  debugging  decadence  decentralized  declarative  decreasing  default  defect  defense  definition  degenerated  degeneration  delay  democratization  denial  dependency  dependencyinjection  deployment  depoly  deprecation  derision  description  design  desktop  destination  developer  development  devops  devotion  diaspora  dictionary  difficult  difficulty  diffuse  diffusion  digital  dijkstra  direct  direction  directory  directx  disaster  disconnected  discriminatedunion  discussio  discussion  disk  dispute  distributed  division  diy  dlang  dns  docker  documentation  docx  dogma  domain  dos  dotnet  doubt  dream  driven  drm  dry  dsl  dto  ducktyping  duplication  duration  dv  dynamic  easiness  economics  ecosystem  edgarcodd  education  effectivec  efficiency  ejb  elf  elimination  elm  email  embedded  employment  encryption  endinitself  engagement  engelbart  engine  engineer  engineering  enterprise  enthusiams  entrepreneurism  enum  environment  epistemology  equivalent  ergonomic  erlang  error  esb  essential  ethics  event  eventdriven  eventsourcing  everything  evolution  evolutionary  exaggeration  example  exception  excess  excessive  exclusive  execution  existence  expectation  experiment  exploitation  exploration  explosion  exposition  expressive  extensibility  extinction  extreme  f#  facebook  facing  factory  fail  failure  fake  false  famous  fanatism  fanboy  fashion  fast  feature  federation  feed  fiction  file  final  finance  finder  first  firstlanguage  fitness  fixing  flamewar  flash  flat  flaw  floss  fluent  focus  fool  forced  format  fragmentation  framework  free  freedom  friday  fromscratch  frontend  fsf  fsm  fullstack  fun  function  functional  functionality  funny  funtional  future  game  gamedev  gamification  garbage  garbagecollection  gc  general  generalized  generation  generic  genuine  getter  giovanniallevi  git  github  global  gmail  gnu  go  goal  golang  google  goto  governement  graphic  gui  guid  guidance  guided  habit  hack  hackathon  hardcoding  hardware  hardway  harvard  haskell  hater  heat  hibernate  hiding  hierarchy  hiring  history  hobby  homemade  homour  html  html5  huge  human  humour  hungarian  hybrid  hybris  hype  iaas  ibm  icon  ict  ide  idea  ideology  ie  ie6  if  imitation  immutability  impact  implementation  importance  impossibility  impossible  improvement  incompatibility  incomplete  indispensable  individual  inertia  infeasible  influence  informal  information  inheritance  inhouse  inmemory  inner  innovation  inspiration  installation  integral  integralism  integration  integrationtest  intelligence  intended  interactive  interest  interface  internal  international  internet  internetexplorer  internetofthing  internetofthings  interoperability  interpretation  inutility  investment  ioc  ios  iot  iphone  iseries  issue  isv  it  italian  iterative  jacopinibohm  java  java7  java8  java9  javascript  jboss  jdo  jee  jeffatwood  jigsaw  jlang  job  jobs  joelonsoftware  joelspolsky  joke  jooq  jpa  jquery  js  json  jsvascript  julia  justice  kernel  keyvalue  keyword  kid  killing  kit  knowledge  knuth  kotlin  kubernetes  labour  lack  language  languages  large  largescale  last  latex  layered  leantest  learning  leftover  legacy  lego  lenght  lesson  level  libertarianism  library  license  life  lightswitch  limit  linking  linux  liskov  lisp  list  literacy  literate  litigation  lock  lockfree  lockin  log  login  lol  lombok  longtermgoal  loop  loss  lotusjazz  lowcode  lowlevel  loyalty  mac  machinelearning  magic  making  male  management  mandatory  mania  manifesto  manipulation  mapping  mapreduce  markdown  marketing  markup  martinfowler  mashup  massvice  master  math  mathematics  maths  mda  meaning  media  megaditta  memento  memory  mercurial  message  messagequeue  messaging  metaprogramming  method  methodology  microclass  microservice  microsoft  microsoftoffice  microssoft  migration  minimal  minimalism  minix  misfit  mistake  misunderstanding  misuse  mobile  mobilefirst  mocking  mode  model  modeldriven  modern  modular  module  monad  monetization  mongodb  monkey  monolith  monolithic  monopoly  motivation  movement  mozilla  mq  mssql  multilayer  multiparadigm  multipart  multiple  multitasking  multithreading  multitier  mvc  mvp  mysql  myth  nacl  naming  native  nativeclient  natural  nda  necessity  negative  network  networking  new  newsql  night  nim  nocessity  nocode  nodejs  nondisclosure  nongraduated  nonsense  nosql  notation  notification  notinventedhere  notreal  notsobad  noun  null  numbering  object  objectoriented  objectrelational  obsession  obsolescence  obsolete  obstacle  obvious  ocaml  oddity  office  office365  officexml  old  oldtechnology  olpc  online  oop  oopenness  ooxml  opencore  opendata  openhardware  openness  opensource  openspace  operator  opinio  opinion  opinnion  opportunity  opposition  option  optional  organization  orientation  oriented  orm  os  osgi  osx  outsourcing  overloading  overlooking  overrated  overuse  p2p  paas  page  panacea  paradigm  parallel  parallelism  parameter  parsing  passion  password  patent  path  pattern  pause  payment  pc  people  perfect  perfectionism  performance  peril  persistence  personal  petproject  philosophy  phone  phonegap  php  phylosophy  pixel  platform  pojo  politics  poor  possibility  post  postel  postgresql  postive  poverty  power  pproject  practice  pragmatism  prank  predefined  preference  prevalence  prevention  primarykey  principle  priority  privacy  private  problem  procedural  process  production  productivity  progamming  program  programmer  programming  project  proliferation  promise  property  proposal  proprietary  protection  psychology  psycholohgy  public  pure  purely  pureness  purity  python  python2  python3  quality  quantum  query  queue  quick  quit  quiz  quote  racism  rad  rails  rant  rapid  raspberrypi  rdbms  reactinative  reactive  reactnative  readability  real  reality  reallife  rebase  rebuild  rebuilding  rebuttal  recent  record  recycle  redhat  redo  reduced  redundancy  redundant  reengineering  refactoring  reference  refusal  reimplementation  reinvent  reinvention  relation  relational  relevance  relevant  reliability  religion  religious  remake  remote  removal  replacement  reporting  research  responsive  rest  restriction  retention  retro  reusability  reuse  review  revwrite  rewrite  rewriting  rfc  ria  richclient  right  rigid  riir  rijndael  risk  rivate  rkeng  rms  rockstar  role  root  royalty  rss  ruby  rubyonrails  rule  rust  safety  sam  samsung  satire  scala  scalability  scheduling  scheme  school  science  scientist  scratch  screen  scripting  scrum  search  secureboot  security  self  selfdocumenting  selfmade  selinux  semantic  separate  separation  server  serverless  serverside  service  services  setter  setting  sexims  shallow  shared  sharing  shell  shoetcoming  short  shortsight  shortterm  sideproject  siliconvalley  silos  silver  silverbullet  silverlight  simplicity  simplification  singlechar  singlehub  singleinstance  singlepageapplication  singualrity  singularity  siri  site  size  skeptic  skeuomorphism  skill  slack  slide  slideshow  slow  small  smalltalk  smartphone  soa  social  socialmedia  socialnetwork  socialnetworking  sociology  software  source  spa  specialization  specific  specificity  speed  sprawl  sql  ssd  sso  stack  stallman  standard  standardization  standardizedtesting  standup  startup  state  stateful  stateless  statemachine  static  statictyping  stealing  stephenwolfram  stop  storage  store  storedprocedure  story  stream  string  structure  structured  struggle  stupidity  style  subversion  success  suggestion  sum  superstition  support  surface  survival  svg  svn  swift  syndication  syndrome  sysadmin  system  systemi  tab  tablet  tanenbaum  task  tbl  tcltk  tcpip  tdd  teaching  team  technical  technique  technological  technology  techonology  teen  teenager  terminal  terseness  test  testdriven  teste  testing  text  textbased  textual  tfs  theory  thery  thinclient  tiered  tim  time  tip  title  today  tognazzini  tool  toomany  toontalk  torvalds  total  touch  tracking  transfer  transparency  trap  trenitalia  trick  trust  turbolinks  turing  tutorial  twitter  type  typeinference  typescript  typesetting  typesystem  typing  typing.programming  ubuntu  ucrony  uefi  ui  uncertainity  unclebob  uncollaborative  unequity  unfit  unified  union  unique  unit  unittest  unittesting  universality  university  unix  unlimited  unmotivated  unpaid  unreal  unrelated  unsecure  unstable  untested  untyped  unusual  update  upgrade  url  usage  use  usecase  useless  user  userexperience  userinterface  userspace  utility  uwp  ux  valve  var  variabile  vcs  vector  vendor  verb  verilog  version  versioning  video  videocd  videogame  vietnam  view  violation  virtual  visual  visualprogramming  voice  vonneumann  vote  walledgarden  war  warrant  waterfall  watson  weakpoint  weaktyping  web  webapi  webapp  webapplication  webcomponent  webdesign  webdev  webflux  webform  webgame  webgl  webpage  website  week  weird  wheel  whiteboard  wide  widespread  windows  windows8  windows10  windowsphone7  windowsphone8  windowsphone8.1  winner  wisdom  word  word5.1  wordprocessor  work  worker  working  workplace  worthness  wp7  wp8  wpf  writing  wrong  www  wysiwyg  xamarin  xaml  xml  xna  young  zealot  zedshaw 

Copy this bookmark: