WimLeers + software   210

Inside America’s Dysfunctional Trillion-Dollar Fighter-Jet Program

Winter also made it a priority to push for drastic streamlining in the process for testing new software in the F-35. Under the existing procedures, the Pentagon can require test flights for more than 300 different factors or functions when a new software load is installed. Winter worked to cut that down to a single validation flight, to test just the software and the systems it affects, rather than retesting the performance of the whole aircraft. A trial program staffed with a team of Air Force and Lockheed coders proved that the method works and doesn’t put pilots at risk, and Winter’s rapid software development strategy is now being implemented. But moving to an agile software approach for the F-35 presents a huge challenge for the sluggish and bureaucratic military acquisition system, and there’s no blueprint for how to integrate it alongside the traditional processes for developing and testing hardware.
military  usa  agile  software 
8 weeks ago by WimLeers
Sensible Software Engineering | Undrinkable Kool-Aid

Most people use tests and agile planning as crutches to get around having to unambiguously specify their software systems with more high level formalisms.

Whenever I’ve approached a new system the bottleneck has never been writing more code. The bottleneck has always been in understanding all the implicit assumptions baked into the system that for one reason or another are essential to its correctness. Pretending that the system and the runtime traces of the system are the specification is why there is always a shortage of programmers. It takes a particular kind of masochist to enjoy reverse engineering a black box from just poking at it with simple linear impulses. If these systems had more formal foundations then there would be no shortage because we could teach people the general formalism and let them figure out the runtime mappings.
programming  career  drupal  software  design  maintenance 
march 2019 by WimLeers
the Origins of Opera and the Future of Programming – The Composition

Downhill Invention, Uphill Analysis

This is counterintuitive: it’s easier to build a system from scratch, constructing the mental model as you go along, than to form an understanding of how an already-built system works.

Valentino Braitenberg illustrates this principle in his book Vehicles. He calls it the Principle of Downhill Invention, Uphill Analysis.

Why are there a thousand JavaScript frameworks out there? because it’s easier to build your own than to gain an understanding of React. Even with hundreds of people contributing to documentation, it’s still more mental effort to form a mental model of an existing system than to construct your own. (I didn’t say it was faster, but less cognitively strenuous.)

Not Invented Here syndrome? laziness. Greenfield development? Of course people like it! it’s much easier than getting your head around legacy code.

Software is not a craft.
We aren’t housepainters. Competence is not supreme in a shifting, complex system. Our users’ needs change, our technologies change, and every change we undertake is one we’ve never made before. We cannot possess all the skills we need; our secret weapon is learning, never perfection.

Software is not an art.
Neither are we creating a portrait or a poem, where there is such a thing as “done.” What we build affects people more directly than works of art. To do this it must keep running, it must work on their devices, it must keep changing. Software has a greater power to change people by changing the world, but these systems are more than one person can make, and they never complete.

Serious software development is the practice of symmathesy.
Software is not Art. Software is the next thing after art. It is something new, that we’ve never been able to do before.

And that implies that our current time is the next thing after the Renaissance. We are developing whole new ways of being human together. I am thrilled to be a part of this, and to be in the thick of it. To be more than a craftsperson, more even than a developer.

I am a Symmathecist, in the medium of software. (sim-MATH-uh-sist)
software  programming  career  opensource  reference  art  drupal 
december 2018 by WimLeers
Measuring is for students | Mike Veerman

So, back to manager metrics. How many days are in a Story Point? It doesn’t matter. What is the Definition of Done? When it’s good enough to ship.

Most managers don’t know how to deliver software. They have a recipe in mind, though.

When you are in the Shu-phase, you’ll look for clear instructions. Hard metrics. Rules. A step-by-step plan. We measure the things we don’t understand. That’s perfect for learning, but at a certain point, the training wheels have to come off.

Measuring is for students. Delivering is for masters.
mikeveerman  programming  software  career  reference  management 
november 2018 by WimLeers
Why Are Enterprises So Slow? | Hacker News

That's a good comparison because corporations effectively are software, running on a cluster of humans.
There's a reason we call subroutines "procedures".

business  enterprise  software 
october 2018 by WimLeers
deAuteurs: Dossier: Wie is auteur

Het is niet altijd gemakkelijk te bepalen wie (co)auteur is van een auteursrechtelijk beschermd werk. Zeker wanneer meerdere personen bijdragen tot de creatie van dat werk. Niet iedereen kan zich zomaar coauteur noemen. Enkel zij die een wezenlijke bijdrage leveren aan het originele werk worden in principe als auteur aangeduid.
software  copyright  driverpacks 
october 2017 by WimLeers
Siri and flatulence
Must-read: "Siri and flatulence" —
mustread  funny  siri  voice  software 
march 2017 by WimLeers
The Life Cycle of Programming Languages by Betsy Haibel | Model View Culture

All software is broken, and most working engineers spend their days running up against their frameworks’ failures; young open source projects promise to fix these failures by implementing radically different paradigms.

After the maintainers of a new project have convinced enough people to throw in with their wild little plan, it starts to pass through its alpha and beta stages; it starts to accrete edge-cases, as people use it for more real-world projects and rough up its initial theoretical purity.

The reality of maintainership on a mature framework is equal parts tedious drudgery and soothing panicked strangers. In early frameworks, you still get to write code. You can focus on the theoretical purity you don’t have time to achieve in industry code. You talk to friends new and old, just like you, about immutability, or union types, or whatever the theoretical foundation of your framework is.

If you’ve been doing Ruby for what feels like too long, and you’ve burned the hell out on what someone else’s bad monkeypatch can do to your day, I get fleeing to something newer and shinier, something where you don’t know what the flaws are yet and so can pretend they don’t exist.
opensource  drupal  software 
january 2017 by WimLeers
Identifying and quantifying architectural debt
Must-read: "Identifying and quantifying architectural debt" —
software  programming  technicaldebt  mustread 
september 2016 by WimLeers
Why Twitter’s Dying (And What You Can Learn From It) — Bad Words
“Quality” isn’t merely error-free code — but abuse-free interaction.
software  qa  twitter  socialmedia  history 
october 2015 by WimLeers
Toyota Unintended Acceleration and the Big Bowl of “Spaghetti” Code
Must-read: "Toyota Unintended Acceleration and the Big Bowl of “Spaghetti” Code" —
car  software  safety  programming  toyota  mustread 
june 2015 by WimLeers
Making Of Jurassic Park
Must-watch: "Making Of Jurassic Park" —
technology  software  history  1993  jurassicpark  cgi  video  mustwatch 
june 2015 by WimLeers
« earlier      
per page:    204080120160

related tags

abstraction  academia  accessibility  acquia  acquisition  advertising  agile  AI  algorithms  analog  analogy  api  appcast  apple  appstore  architecture  architecture:software  art  audio  autism  automate  automator  aw  backup  backwardscompatibility  banks  belgium  biology  bionics  brandurleach  brentsimmons  bretvictor  bsdiff  business  businessstrategy  c  c++  capitalism  car  career  cern  cgi  chaos  cmine  cms  code  comic  comics  complexity  compression  computers  computerscience  computing  consumer  copyright  crime  culture  curl  database  datamining  debug  defaults  deployment  design  design:graphic  design:patterns  design:process  design:software  design:web  development  devops  dieterrams  diff  digital  distributed  djb  djbernstein  dna  DNS  driesbuytaert  driverpacks  driverpacks:updater  drupal  drupal8  economics  editors  education  efficiency  ehealth  elonmusk  email  embedded  emotion  energy  engineering  enterprise  entrepreneurship  epicfail  epicwin  essay  ethics  europe  evangelism  evil  evolution  excel  facebook  farming  fb  finance  flanders  fonts  foss  france  freelance  ftp  funny  future  gamification  gaming  geertnoels  geolocation  germany  github  gizra  gnu  google  google:android  google:chrome  government  gpl  graphql  hardware  healthcare  history  hollywood  homebrew  htc  hype  i18n  indie  infrastructure  innovation  internet  internship  interview  ios  ip  iphone  ipod  javascript  jeffeaton  joelspolsky  johngruber  journalism  jurassicpark  justice  kentbeck  kernel  larrygarfield  LCD  learning  liability  license  lifehacks  linustorvalds  linux  mac  maintenance  management  marketing  martinfowler  maturity  medicine  meritocracy  microsoft  mikeveerman  military  mit  mivb  mobile  mustread  mustwatch  mysql  nature  netnewswire  networking  nginx  nokia  ntp  opendns  opensource  osx  patents  paulbohm  perception  perfectionism  performance  pharmacy  philosophy  phk  php  phpfig  plannedobsolescence  plannedobsoletion  platform  platformsh  playbook  politics  pregnancy  presentation  pricing  privacy  process  productivity  programming  project  projectmanagement  psychology  python  qa  quality  quotes  racism  RDF  reactjs  reference  reliability  reproducibility  research  rim  romania  rubyonrails  safety  school  school:itp  school:webi  science  screencast  scrum  security  semanticweb  service  services  simplicity  siri  slack  slow  socialmedia  socialnetworking  software  software-engineering  sqlite  ssh  standards  startup  steveklabnik  stockexchange  strategy  subversion  support  sustainability  sweden  technicaldebt  technology  teslamotors  textmate  theory  time  timemachine  toyota  trends  tsa  twitter  uc  ui  unesco  unix  update  updates  usa  ux  varnish  video  vim  virtualisation  virtualization  visualization  voice  weather  web  web3.0  windows  workhacks  wpo  writing  wtf  xmlrpc 

Copy this bookmark: