back

Growing Up Software Development

From Hacker Culture to the Software of the Future

If you suspend your transcription on amara.org, please add a timestamp below to indicate how far you progressed! This will help others to resume your work!

Please do not press “publish” on amara.org to save your progress, use “save draft” instead. Only press “publish” when you're done with quality control.

Video duration
00:31:36
Language
English
Abstract
Hacker culture overcomes limitations in computer systems through
creativity and tinkering. At the same time, hacker culture has shaped
the practice of software development to this day. This is
problematic - techniques effective for breaking (into) a computer
systems are not necessarily suitable for developing resilient and
secure systems. It does not have to be this way: We can approach
software development as a methodical, systematic activity rather than
tinkering, and teach it accordingly. I'll review my experience
teaching these methods for the past 18 years and give some suggestions
on what *you* may do.

<p>
Hacker culture, which originated CCC (or vice versa?), overcomes
limitations in computer systems through creativity and tinkering.
Many activities of the hacker community have focussed on discovering
weaknesses of IT systems, and creativity and tinkering have been
enormously successful at this endeavour. At the same time, hacker
culture has shaped the practice of software development to this day.
This is problematic - techniques effective for breaking (into) a
computer systems are not necessarily suitable for developing resilient
and secure systems. The long, long list of vulnerabilities with
always the same root causes bears testament to this. Thus,
ironically, the very techniques hackers have used to discover and
fight vulnerabilities are responsible for them in the first place.
</p>

<p>
It does not have to be this way: It is possible to construct resilient
software systematically, greatly reducing the risk of failure.
However, this requires significant changes in culture, methodology,
and the tools we use to develop software. We need to approach
software development as a methodical, systematic activity rather than
tinkering, and teach it accordingly. This will lead to a set of
systematic, proven methods that lead to robust and correct software.
This talk will introduce available methods, tools, and languages
supporting such methodologies: program by design, type-based
modelling, mathematics, and functional programming. I'll review my
experience teaching these methods for the past 18 years and give some
suggestions on what *you* may do.
</p>

Talk ID
9044
Event:
34c3
Day
2
Room
Saal Dijkstra
Start
11:15 p.m.
Duration
00:30:00
Track
Resilience
Type of
lecture
Speaker
Mike Sperber
Talk Slug & media link
34c3-9044-growing_up_software_development

Talk & Speaker speed statistics

Very rough underestimation:
179.7 wpm
989.2 spm
100.0% Checking done100.0%
0.0% Syncing done0.0%
0.0% Transcribing done0.0%
0.0% Nothing done yet0.0%
  

Work on this video on Amara!

Talk & Speaker speed statistics with word clouds

Whole talk:
179.7 wpm
989.2 spm
programmingteachingcalleddillodataprogramcodethingsapproachcomputerteachcallarmadillopeoplelanguagesfunctionwritebeginnerslanguagestudentscomputersexampletalksoftwareprocessyearsalivefindthinganimalrattlesnakecourseexperiencehere&#x27;seasyangeltimeagocompositionsciencecompoundyearthreeprogramsstepsfunctionswritingdevelopmentbureaucraticwork