dale.hagglund + science   69

The Algebra of Data, and the Calculus of Mutation » Lab49 Blog
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
february 2012 by dale.hagglund
Classic Papers (Jonathan Aldrich)
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
"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
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
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
"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
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
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
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
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
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
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)
"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
"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
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
"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
"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
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
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
"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
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)
"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
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)
"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)
"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
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
HP Labs : Technical Reports
Hewlett-Packard, DEC, Tandem, and Compaq technical reports
hp  hewlett  packard  dec  tandem  compaq  technicla  report  papers  computer  science  research  technical 
november 2007 by dale.hagglund
Thinking Forth
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
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
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)
"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

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:



description:


tags: