dale.hagglund + science 69
The Algebra of Data, and the Calculus of Mutation » Lab49 Blog
february 2012 by dale.hagglund
This a very interesting (and short) overview of the concept of algebraic data types. The author points out that this is confusing for most developers: "In what sense are data types algebraic? Is there a one-to-one correspondence between the structures of high-school algebra and the data types of Haskell? Could I create a polynomial data type? Do I have to remember the quadratic formula? Are the term-transformations of (say) differential calculus meaningful in the context of algebraic data types? Isn’t this all just a bunch of general abstract nonsense?"
For the answers to these questions, and many more, including the somewhat mind-altering concept of derivatives of types, check out this article.
science
computer
recursion
recursive
void
unit
zipper
product
sum
theory
type
programming
functional
types
data
algebraic
from delicious
For the answers to these questions, and many more, including the somewhat mind-altering concept of derivatives of types, check out this article.
february 2012 by dale.hagglund
Classic Papers (Jonathan Aldrich)
february 2012 by dale.hagglund
A collection of "classic papers" from the point of view of the page owner, Jonathan Aldrich from CMU. A few interesting entries
plaid
typestate
hoare
backus
cook
smith
ungar
kay
ingalls
classic
paper
research
science
computer
from delicious
february 2012 by dale.hagglund
Octave
february 2011 by dale.hagglund
"GNU Octave is a high-level interpreted language, primarily intended for numerical computations. It provides capabilities for the numerical solution of linear and nonlinear problems, and for performing other numerical experiments. It also provides extensive graphics capabilities for data visualization and manipulation. Octave is normally used through its interactive command line interface, but it can also be used to write non-interactive programs. The Octave language is quite similar to Matlab so that most programs are easily portable."
math
software
octave
gnu
programming
mathematics
science
numerical
analysis
matlab
february 2011 by dale.hagglund
Bell System Technical Journal
december 2010 by dale.hagglund
A complete downloadable archive of the Bell Systems Technical Journal, which was published from 1922 through 1983.
bell
labs
system
technical
journal
reference
history
science
computer
communication
archive
culture
december 2010 by dale.hagglund
How to Read Mathematics
october 2010 by dale.hagglund
What are the common mistakes people make in trying to read mathematics? How can these mistakes be corrected?
math
mathematics
article
reading
education
learning
teaching
science
read
academic
study
october 2010 by dale.hagglund
Why Change Is So Hard: Self-Control Is Exhaustible | Fast Company
june 2010 by dale.hagglund
"You hear something a lot about change: People won’t change because they’re too lazy. Well, I’m here to stick up for the lazy people. In fact, I want to argue that what looks like laziness is actually exhaustion. The proof comes from a psychology study that is absolutely fascinating."
motivation
video
fast
company
behaviour
brain
change
self
control
inspiration
psychology
science
behavior
discipline
lazy
laziness
june 2010 by dale.hagglund
murmurhash -- a simple, fast, high-quality hash function
april 2010 by dale.hagglund
Murmurhash is very small (about 52 instructions x86), very fast (2GB/s on a 2.4GHz Core 2), and high-quality (even distribution of hash values, good avalanche properties, no collisions for 4-byte keys).
murmurhash
algorithm
hash
hashing
algorithms
computer
science
chi
square
avalanche
collision
april 2010 by dale.hagglund
Regular Expression Matching in the Wild
march 2010 by dale.hagglund
Part three of three articles describing the theory and implementation behind RE2, an efficient regular expression engine.
re2
regular
expression
regexp
algorithm
finite
automata
deterministic
nondeterministic
nfa
dfa
backtracking
algorithms
design
optimization
performance
perl
python
computer
science
awk
regex
virtual
machine
march 2010 by dale.hagglund
Regular Expression Matching: the Virtual Machine Approach
march 2010 by dale.hagglund
Part two of three articles describing the theory and implementatin behind RE2, an efficient regular expression engine.
re2
regular
expression
regexp
algorithm
finite
automata
deterministic
nondeterministic
nfa
dfa
backtracking
algorithms
design
optimization
performance
perl
python
computer
science
awk
regex
virtual
machine
march 2010 by dale.hagglund
Regular Expression Matching Can Be Simple And Fast
march 2010 by dale.hagglund
Part one of three describing the theory and implementation behind RE2, and efficient regular expression matching engine. Very interesting reading.
re2
regular
expression
regexp
algorithm
finite
automata
deterministic
nondeterministic
nfa
dfa
backtracking
algorithms
design
optimization
performance
perl
python
computer
science
awk
regex
virtual
machine
march 2010 by dale.hagglund
What if It's All Been a Big Fat Lie? - NYTimes.com
december 2009 by dale.hagglund
If the members of the American medical establishment were to have a collective find-yourself-standing-naked-in-Times-Square-type nightmare, this might be it. They spend 30 years ridiculing Robert Atkins, author of the phenomenally-best-selling ''Dr. Atkins' Diet Revolution'' and ''Dr. Atkins' New Diet Revolution,'' accusing the Manhattan doctor of quackery and fraud, only to discover that the unrepentant Atkins was right all along. Or maybe it's this: they find that their very own dietary recommendations -- eat less fat and more carbohydrates -- are the cause of the rampaging epidemic of obesity in America. Or, just possibly this: they find out both of the above are true.
diet
atkins
nutrition
science
fat
protein
fitness
carbohydrates
health
december 2009 by dale.hagglund
Nifty Assignments
june 2009 by dale.hagglund
The Nifty Assignments session at the annual SIGCSE meeting is all about gathering and distributing great assignment ideas and their materials.
programming
teaching
assignment
software
development
computer
code
science
education
algorithms
algorithm
problems
projects
assignments
nifty
june 2009 by dale.hagglund
The Science of Computing and the Engineering of Software (InfoQ)
june 2009 by dale.hagglund
"One day, software will be the most reliable component of any product that contains it. One day, software engineering will be the most dependable of all engineering professions." Tony Hoare suggests that these claims, almost unthinkable today, will result from the successful interplay of the science of programming and the engineering of software.
infoq
charles
antony
richard
hoare
computer
science
software
engineering
video
programming
computing
tony
quicksort
csp
craftsmanship
communicating
sequential
processes
june 2009 by dale.hagglund
Elevating Science, Elevating Democracy - NYTimes.com
january 2009 by dale.hagglund
"Science teaches facts, not values, the story goes. [....] But this is balderdash. Science is not a monument of received Truth but something that people do to look for truth. That endeavor, which has transformed the world in the last few centuries, does indeed teach values. Those values, among others, are honesty, doubt, respect for evidence, openness, accountability and tolerance and indeed hunger for opposing points of view. These are the unabashedly pragmatic working principles that guide the buzzing, testing, poking, probing, argumentative, gossiping, gadgety, joking, dreaming and tendentious cloud of activity [...] that is slowly and thoroughly penetrating every nook and cranny of the world. Nobody appeared in a cloud of smoke and taught scientists these virtues. This behavior simply evolved because it worked."
politics
science
new
york
times
article
education
society
democracy
religion
atheism
morality
january 2009 by dale.hagglund
science fiction, fantasy and horror from infinity plus
january 2009 by dale.hagglund
An online science fiction site that was active from 1997 through 2007 with over two million words of content.
infinity
plus
science
fiction
horror
fantasy
reading
book
sf
magazine
online
writing
literature
january 2009 by dale.hagglund
Does Brainstorming Actually Work? - O'Reilly Digital Media Blog
december 2008 by dale.hagglund
"It's a staple of corporate retreats: gather staff, whip out the flip chart and announce that 'there are no bad ideas'. Many attendees just groan inwardly. Are they just cynics, or are they onto something?"
business
brainstorming
brain
planning
science
december 2008 by dale.hagglund
Project Euler
november 2008 by dale.hagglund
"Project Euler is a series of challenging mathematical/computer programming problems that will require more than just mathematical insights to solve. Although mathematics will help you arrive at elegant and efficient methods, the use of a computer and programming skills will be required to solve most problems. The motivation for starting Project Euler, and its continuation, is to provide a platform for the inquiring mind to delve into unfamiliar areas and learn new concepts in a fun and recreational context. The intended audience include students for whom the basic curriculum is not feeding their hunger to learn, adults whose background was not primarily mathematics but had an interest in things mathematical, and professionals who want to keep their problem solving and mathematics on the edge."
math
mathematics
education
puzzle
project
euler
programming
science
learning
logic
fun
algorithms
problems
interesting
challenge
algorithm
computing
number
theory
november 2008 by dale.hagglund
Exploring Life's Origins
november 2008 by dale.hagglund
This web site gives an excellent overview of the origin of life from the earliest pre-RNA world through the construction of the first proto-cells.
science
education
evolution
biology
video
animation
life
genetics
biogenesis
rna
learning
november 2008 by dale.hagglund
Animated Sorting Algorithms
october 2008 by dale.hagglund
A very interesting page that that shows visually how different algorithms move data around to get it into sorted order. No flash required.
algorithm
sort
algorithms
quicksort
heap
bubblesort
insertion
shell
animation
tutorial
education
visualization
computer
science
sorting
graphics
october 2008 by dale.hagglund
Universal Limits on Computation
june 2008 by dale.hagglund
"We demonstrate here that the observed acceleration of the Universe can produce a universal limit on the total amount of information that can be stored and processed in the future, putting an ultimate limit on future technology for any civilization [...]"
research
computation
theory
physics
computing
science
june 2008 by dale.hagglund
Teaching, Playing, and Programming: Program Testing For The Sake Of Learning
march 2008 by dale.hagglund
Quick easy-to-run tests are a powerful learning experience, says Chris Okasaki. Not only, or perhaps not even primarily, to learn about testing, but to learn about the content being tested.
computer
science
education
testing
test
programming
software
chris
okasaki
march 2008 by dale.hagglund
What good is a CS degree? (Enfranchised Mind)
march 2008 by dale.hagglund
"The point and purpose of a CS education is this: to teach you how to learn the real world skills you need."
business
programming
software
development
career
education
university
computer
science
march 2008 by dale.hagglund
No Disrespect
march 2008 by dale.hagglund
Most programming jobs are in fact "vocational jobs", similar to an accounts receivable clerk, a dental technician, a land surveyor, or a draftsman. None of these require a university degree.
blog
career
raganwald
reginald
braithwaite
business
education
computer
science
teaching
software
programming
vocation
college
university
march 2008 by dale.hagglund
Who did Kill the Software Engineer? (Ekinoderm)
march 2008 by dale.hagglund
"It’s like if you walked into a painting class, told everyone that learning to paint was too hard, and then [...] told them that photography was the same thing as painting, only a lot easier to do."
article
career
software
development
computer
science
education
engineering
teaching
technology
march 2008 by dale.hagglund
Computer Science Education: Where Are the Software Engineers of Tomorrow? (STSC CrossTalk)
march 2008 by dale.hagglund
"Computer Science education is neglecting basic skills, in particular in the areas of programming and formal methods. [...] We examine briefly the set of programming skills that should be part of every software professional’s repertoire."
article
career
software
development
computer
science
education
engineering
teaching
technology
march 2008 by dale.hagglund
Coccinelle: Semantic Patches for Collateral Evolutions
february 2008 by dale.hagglund
Coccinelle applies "semantic patches" to software. A semantic patch describes a semantic change, such as a function getting a new argument, and can turn into actual changes throughout a source base.
software
development
patch
refactoring
programming
kernel
linux
operating
systems
device
driver
computer
science
research
inria
emn
diku
february 2008 by dale.hagglund
Thinking Forth
august 2007 by dale.hagglund
Thinking Forth is a book about the philosophy of problem solving and programming style, applied to the unique programming language Forth.
book
computer
science
history
programming
language
forth
tutorial
download
software
august 2007 by dale.hagglund
SciPy
june 2007 by dale.hagglund
SciPy is open-source software for mathematics, science, and engineering. If you need to manipulate numbers on a computer and display or publish the results, give SciPy a try!
computer
software
open
source
engineering
library
math
plot
python
science
statistics
scipy
visualization
june 2007 by dale.hagglund
Evolution for Creationists
may 2007 by dale.hagglund
This interesting article provides good answers to several creationist arguments against evolution.
atheism
creationism
evolution
intelligent
design
religion
science
may 2007 by dale.hagglund
Acting Now to Save Life on Earth (E.O. Wilson)
april 2007 by dale.hagglund
"Humanity must make a decision, and make it right now: Conserve Earth's natural heritage, or let future generations adjust to a biologically impoverished world."
science
environment
politics
world
economics
edward
wilson
april 2007 by dale.hagglund
Alloy Model Analyzer
september 2006 by dale.hagglund
Alloy is a system for analyzing formal models.
software
formal
method
methods
logic
modeling
modelling
tools
testing
research
analysis
mit
alloy
computer
science
development
september 2006 by dale.hagglund
related tags
academic ⊕ academies ⊕ al ⊕ algebraic ⊕ algorithm ⊕ algorithms ⊕ alloy ⊕ america ⊕ analog ⊕ analysis ⊕ angier ⊕ animation ⊕ anthis ⊕ antony ⊕ archive ⊕ article ⊕ asimov ⊕ assignment ⊕ assignments ⊕ atheism ⊕ atkins ⊕ author ⊕ automata ⊕ avalanche ⊕ awk ⊕ backtracking ⊕ backus ⊕ behavior ⊕ behaviour ⊕ bell ⊕ berkeley ⊕ biogenesis ⊕ biology ⊕ blog ⊕ book ⊕ books ⊕ brain ⊕ brainstorming ⊕ braithwaite ⊕ bubblesort ⊕ business ⊕ carbohydrates ⊕ career ⊕ catalog ⊕ censorship ⊕ challenge ⊕ change ⊕ charles ⊕ chemistry ⊕ chi ⊕ chris ⊕ citation ⊕ classic ⊕ climate ⊕ code ⊕ college ⊕ collision ⊕ color ⊕ communicating ⊕ communication ⊕ company ⊕ compaq ⊕ computation ⊕ computer ⊕ computing ⊕ concurrency ⊕ connection ⊕ control ⊕ cook ⊕ cory ⊕ craftsmanship ⊕ crary ⊕ creationism ⊕ criticism ⊕ csp ⊕ culture ⊕ danny ⊕ data ⊕ database ⊕ dawkins ⊕ dec ⊕ democracy ⊕ design ⊕ deterministic ⊕ development ⊕ device ⊕ dfa ⊕ diet ⊕ dijkstra ⊕ diku ⊕ discipline ⊕ distributed ⊕ doctorow ⊕ download ⊕ driver ⊕ dynamic ⊕ economics ⊕ edge ⊕ edsger ⊕ education ⊕ edward ⊕ emn ⊕ engineering ⊕ environment ⊕ essay ⊕ euler ⊕ evolution ⊕ expression ⊕ fantasy ⊕ fast ⊕ fat ⊕ feynman ⊕ fiction ⊕ finite ⊕ fitness ⊕ formal ⊕ forth ⊕ fourmilog ⊕ fsf ⊕ fun ⊕ functional ⊕ funny ⊕ games ⊕ genetics ⊕ global ⊕ gnu ⊕ gold ⊕ gore ⊕ graphics ⊕ hash ⊕ hashing ⊕ health ⊕ heap ⊕ hewlett ⊕ hicks ⊕ hillis ⊕ history ⊕ hoare ⊕ horror ⊕ hp ⊕ humor ⊕ industry ⊕ infinity ⊕ infoq ⊕ ingalls ⊕ inquirer ⊕ inria ⊕ insertion ⊕ inspiration ⊕ intelligent ⊕ interesting ⊕ interzone ⊕ introduction ⊕ john ⊕ journal ⊕ journalism ⊕ kay ⊕ kernel ⊕ labs ⊕ language ⊕ larry ⊕ law ⊕ laziness ⊕ lazy ⊕ learning ⊕ lecture ⊕ library ⊕ life ⊕ linking ⊕ linux ⊕ literature ⊕ locus ⊕ logic ⊕ machine ⊕ magazine ⊕ math ⊕ mathematics ⊕ matlab ⊕ method ⊕ methods ⊕ microsoft ⊕ mit ⊕ modeling ⊕ modelling ⊕ morality ⊕ motivation ⊕ murmurhash ⊕ natalie ⊕ national ⊕ native ⊕ nesfa ⊕ network ⊕ new ⊕ news ⊕ nfa ⊕ nick ⊕ nifty ⊕ niven ⊕ nobel ⊕ nondeterministic ⊕ notes ⊕ number ⊕ numerical ⊕ nutrition ⊕ octave ⊕ okasaki ⊕ online ⊕ open ⊕ operating ⊕ optimization ⊕ packard ⊕ paper ⊕ papers ⊕ parallel ⊕ patch ⊕ people ⊕ performance ⊕ perl ⊕ phiip ⊕ philosophy ⊕ physics ⊕ plaid ⊕ planning ⊕ plot ⊕ plus ⊕ policy ⊕ politics ⊕ press ⊕ prize ⊕ problems ⊕ processes ⊕ product ⊕ programming ⊕ project ⊕ projects ⊕ protein ⊕ psychology ⊕ publisher ⊕ puzzle ⊕ python ⊕ quarterly ⊕ quicksort ⊕ raganwald ⊕ re2 ⊕ read ⊕ reading ⊕ recursion ⊕ recursive ⊕ refactoring ⊕ reference ⊕ regex ⊕ regexp ⊕ reginald ⊕ regular ⊕ relativity ⊕ religion ⊕ report ⊕ research ⊕ reserach ⊕ richard ⊕ rna ⊕ science ⊖ scientific ⊕ scifi ⊕ scipy ⊕ self ⊕ sequential ⊕ sf ⊕ sfwa ⊕ shell ⊕ skeptical ⊕ smith ⊕ society ⊕ software ⊕ sort ⊕ sorting ⊕ source ⊕ square ⊕ statistics ⊕ study ⊕ sum ⊕ system ⊕ systems ⊕ tandem ⊕ teaching ⊕ technical ⊕ technicla ⊕ technology ⊕ test ⊕ testing ⊕ theory ⊕ threads ⊕ times ⊕ tony ⊕ tools ⊕ tutorial ⊕ type ⊕ types ⊕ typestate ⊕ ubc ⊕ ungar ⊕ unit ⊕ university ⊕ update ⊕ upgrade ⊕ us ⊕ video ⊕ virtual ⊕ visualization ⊕ vocation ⊕ void ⊕ wadler ⊕ walker ⊕ warming ⊕ weirich ⊕ wiki ⊕ wilson ⊕ world ⊕ writers ⊕ writing ⊕ york ⊕ zipper ⊕Copy this bookmark: