Another Word For It Patrick Durusau on Topic Maps and Semantic Diversity

January 2, 2015

5,000 operations per second – Computations for Hydrogen Bomb

Filed under: Computer Science — Patrick Durusau @ 5:46 pm

Computer Science tweeted today:

The ENIAC (1946) was capable of 5,000 operations per second.

In case you ENIAC history is weak, John von Neumann used it for calculations on the hydrogen bomb.

Consult FLOPS for current records on operations.

Considering the different in performance between your computer and ENIAC, what is your computer going to do in 2015?

Conference on Innovative Data Systems Research (CIDR) 2015 Program + Papers!

Filed under: Computer Science,Conferences,Data Analysis,Data Management,Data Science — Patrick Durusau @ 3:23 pm

Conference on Innovative Data Systems Research (CIDR) 2015

From the homepage:

The biennial Conference on Innovative Data Systems Research (CIDR) is a systems-oriented conference, complementary in its mission to the mainstream database conferences like SIGMOD and VLDB, emphasizing the systems architecture perspective. CIDR gathers researchers and practitioners from both academia and industry to discuss the latest innovative and visionary ideas in the field.

Papers are invited on novel approaches to data systems architecture and usage. Conference Venue CIDR mainly encourages papers about innovative and risky data management system architecture ideas, systems-building experience and insight, resourceful experimental studies, provocative position statements. CIDR especially values innovation, experience-based insight, and vision.

As usual, the conference will be held at the Asilomar Conference Grounds on the Pacific Ocean just south of Monterey, CA. The program will include: keynotes, paper presentations, panels, a gong-show and plenty of time for interaction.

The conference runs January 4 – 7, 2015 (starts next Monday). If you aren’t lucky enough to attend, the program has links to fifty-four (54) papers for your reading pleasure.

The program was exported from a “no-sense-of-abstraction” OOXML application. Conversion to re-usable form will take a few minutes. I will produce an author-sorted version this weekend.

In the meantime, enjoy the papers!

December 30, 2014

Twitter and CS Departments (Part 1)

Filed under: Computer Science,Twitter — Patrick Durusau @ 7:06 pm

I don’t spend all my time as Dylan says:

I’m on the pavement. Thinking about the government.

😉

Over the weekend I was looking at: The 50 Most Innovative Computer Science Departments in the U.S. in terms of how to gather information from those departments together.

One of the things that I haven’t seen is a curated list of faculty who have twitter accounts.

What follows are the top two CS departments as a proof-of-concept only and to seek your advice on a format for a complete set.

Massachusetts Institute of Technology:

Stanford:

The names and locations, where available, are from the user profiles maintained by Twitter. As you can see, there is no common location that would suffice to capture all the faculty for either of these departments. In fact, some of these were identified only by pursuing links on Twitter profiles that identified the individuals as faculty at non-Twitter sites.

Building the data set out, once I have a curated set of faculty members for the top fifty (50) institutions, such as following, followers, etc. will be a matter of querying Twitter.

On the curated set of faculty members, any preference for format? I was thinking of something simple, like a CSV file with TwitterHandle, Full Name (as appears in Twitter profile), URI of department. Does that work for everyone? (Faculty as listed by the CS department)

Suggestions? Comments?

December 26, 2014

The 50 Most Innovative Computer Science Departments in the U.S.

Filed under: Computer Science — Patrick Durusau @ 8:22 pm

The 50 Most Innovative Computer Science Departments in the U.S. by Yusuf Laher.

A great resource but the additional links were written as text and not hyperlinks. Thus, for University of Texas at Austin:

link-shot

Compare my listing (which included links buried in prose):

11. Department of Computer Science, University of Texas at Austin – Austin, Texas

Department of Computer Science

https://www.cs.utexas.edu/faculty

https://www.cs.utexas.edu/about-us

I deleted the prose descriptions, changed all the links into HTML links, swept for vanity links, such as prior rankings, etc. What’s left should be links to the departments, major projects and faculty. It’s a rough cut but suitable for spidering, etc.

50. Department of Computer Science, University of Arkansas at Little Rock – Little Rock, Arkansas

Department of Computer Science

http://ualr.edu/eit/

http://ualr.edu/computerscience/prospective-students/facilities/

49. School of Informatics and Computing, Indiana University – Bloomington, Indiana

School of Informatics and Computing

Student Technology Centers

http://www.soic.indiana.edu/faculty-research/

http://www.soic.indiana.edu/about/

48. Department of Computer Science & Engineering, Texas A&M University – College Station, Texas

Department of Computer Science & Engineering

the High Performance Computing Laboratory

http://engineering.tamu.edu/cse/

47. School of Computing, Informatics and Decision Systems Engineering, Arizona State University – Tempe, Arizona

School of Computing, Informatics and Decision Systems Engineering

Center for Excellence in Logistics and Distribution

http://cidse.engineering.asu.edu/facultyandresearc/research-centers/

46. Department of Computer Science, The University of North Carolina at Chapel Hill – Chapel Hill, North Carolina

Department of Computer Science

https://www.cs.unc.edu/cms/research/research-laboratories

45. Department of Computer Science, Rutgers University – Piscataway, New Jersey

Department of Computer Science

Hack R Space

44. Department of Computer Science, Stony Brook University – Stony Brook, New York

Stony Brook University

Center of Excellence in Wireless and Information Technology

https://www.cs.stonybrook.edu/research

43. Department of Computer Science & Engineering, Washington University in St. Louis – St. Louis, Missouri

Department of Computer Science & Engineering

Cyber-Physical Systems Lab

Stream-based Supercomputing Lab

http://cse.wustl.edu/aboutthedepartment/Pages/history.aspx

http://cse.wustl.edu/Research/

42. Department of Computer Science, Purdue University – West Lafayette, Indiana

Department of Computer Science

Center for Integrated Systems in Aerospace

https://www.cs.purdue.edu/research/centers.html

http://www.purdue.edu/discoverypark/cri/research/projects.php

41. Computer Science Department, New York University – New York City, New York

Computer Science Department

40. Electrical Engineering and Computer Science, Northwestern University – Evanston, Illinois

Electrical Engineering and Computer Science department

http://eecs.northwestern.edu/2013-09-03-20-01-56/researchgroupsandlabs/

http://www.eecs.northwestern.edu/graduate-study

39. School of Computing, The University of Utah – Salt Lake City, Utah

School of Computing

Scientific Computing and Imaging Institute

http://www.cs.utah.edu/research/

http://www.cs.utah.edu/about/history/

38. Department of Computer Science, University of California, Santa Barbara – Santa Barbara, California

Department of Computer Science

Four Eyes Lab

https://www.cs.ucsb.edu/research

37. Department of Computer Science and Engineering, University of Minnesota – Minneapolis, Minnesota

Department of Computer Science and Engineering

Laboratory for Computational Science and Engineering

http://www.cs.umn.edu/department/excellence.php

http://www.cs.umn.edu/research/

36. Department of Computer Science, Dartmouth College – Hanover, New Hampshire

Department of Computer Science

Visual Learning Group

computational biology-focused Grigoryan Lab

http://web.cs.dartmouth.edu/research/projects

35. Department of Computer Science and Engineering, The Ohio State University – Columbus, Ohio

computer science programs

https://cse.osu.edu/research

34. Department of Computer Science, North Carolina State University – Raleigh, North Carolina

Department of Computer Science

Visual Experiences Lab

http://www.csc.ncsu.edu/news/

33. Computer Science Department, Boston University – Boston, Massachusetts

Computer Science Department

http://www.bu.edu/hic/about-hic/

32. Department of Computer Science, University of Pittsburgh – Pittsburgh, Pennsylvania

Department of Computer Science

Pittsburgh Supercomputing Center

http://www.cs.pitt.edu/research/

31. Department of Computer Science, Virginia Polytechnic Institute and State University – Blacksburg, Virginia

computer science programs

30. Department of Computer Science, University of California, Davis – Davis, California

Department of Computer Science

http://www.cs.ucdavis.edu/index.html

http://www.cs.ucdavis.edu/research/index.html

http://www.cs.ucdavis.edu/iap/index.html

29. Department of Computer Science and Engineering, Pennsylvania State University – University Park, Pennsylvania

Department of Computer Science and Engineering

Institute for CyberScience

https://www.cse.psu.edu/research

http://ics.psu.edu/what-we-do/

28. Department of Computer Science, Johns Hopkins University – Baltimore, Maryland

Department of Computer Science

boundary-crossing areas

Center for Encrypted Functionalities

http://www.cs.jhu.edu/research/

27. School of Computer Science, University of Massachusetts Amherst – Amherst, Massachusetts

School of Computer Science

https://www.cs.umass.edu/faculty/

26. Department of Computer Science, University of Illinois at Chicago – Chicago, Illinois

Department of Computer Science

25. Rice University Computer Science, Rice University – Houston, Texas

computer science department

24. Department of Computer Science, Donald Bren School of Information and Computer Sciences, University of California, Irvine – Irvine, California

Donald Bren School of Information and Computer Sciences

Center for Emergency Response Technologies

Center for Machine Learning and Intelligent Systems

Institute for Virtual Environments and Computer Games

http://uci.edu/academics/ics.php

http://www.ics.uci.edu/faculty/

23. Department of Computer Science, University of Maryland – College Park, Maryland

Department of Computer Science

Institute for Advanced Computer Studies

https://www.cs.umd.edu/research

22. Brown Computer Science, Brown University – Providence, Rhode Island

computer science department

Center for Computational Molecular Biology

Center for Vision Research

http://cs.brown.edu/research/

21. Department of Computer Science, University of Chicago – Chicago, Illinois

Department of Computer Science

http://www.cs.uchicago.edu/research/labs

20. Department of Computer and Information Science, University of Pennsylvania – Philadelphia, Pennsylvania

Department of Computer and Information Science

Electronic Numerical Integrator and Computer

http://www.seas.upenn.edu/about-seas/eniac/

19. Department of Computer Science and Engineering, University of California, San Diego – La Jolla, California

Department of Computer Science and Engineering

18. Department of Computer Science, University of Southern California – Los Angeles, California

Department of Computer Science

http://www.cs.usc.edu/research/centers-and-institutes.htm

17. Department of Electrical Engineering and Computer Science, University of Michigan – Ann Arbor, Michigan

Department of Electrical Engineering and Computer Science

http://www.eecs.umich.edu/eecs/research/reslabs.html

16. Department of Computer Sciences, University of Wisconsin-Madison – Madison, Wisconsin

Department of Computer Sciences

https://www.cs.wisc.edu/people/emeritus-faculty

15. College of Computing, Georgia Institute of Technology – Atlanta, Georgia

College of Computing

Center for Robotics and Intelligent Machines

Georgia Tech Information Security Center

http://www.cse.gatech.edu/research

14. Department of Computer Science, Yale University – New Haven, Connecticut

Department of Computer Science

http://cpsc.yale.edu/our-research

13. Department of Computing + Mathematical Sciences, California Institute of Technology – Pasadena, California

Department of Computing + Mathematical Sciences

Annenberg Center

http://www.cms.caltech.edu/research/

12. Department of Computer Science, University of Illinois at Urbana-Champaign – Urbana, Illinois

Department of Computer Science

http://cs.illinois.edu/research/research-centers

11. Department of Computer Science, University of Texas at Austin – Austin, Texas

Department of Computer Science

https://www.cs.utexas.edu/faculty

10. Department of Computer Science, Cornell University – Ithaca, New York

Department of Computer Science

Juris Hartmanis

http://www.cs.cornell.edu/research

http://www.cs.cornell.edu/people/faculty

9. UCLA Computer Science Department, University of California, Los Angeles – Los Angeles, California

Computer Science Department

http://www.cs.ucla.edu/people/faculty

http://www.cs.ucla.edu/research/research-labs

8. Department of Computer Science, Princeton University – Princeton, New Jersey

computer science department

http://www.cs.princeton.edu/research/areas

7. Computer Science Division, University of California, Berkeley – Berkeley, California

Computer Science Division

6. Harvard School of Engineering and Applied Sciences, Harvard University – Cambridge, Massachusetts

School of Engineering and Applied Sciences

http://www.seas.harvard.edu/faculty-research/

5. Carnegie Mellon School of Computer Science, Carnegie Mellon University – Pittsburgh, Pennsylvania

School of Computer Science

http://www.cs.cmu.edu/directory/

4. Computer Science & Engineering, University of Washington – Seattle, Washington

Computer Science & Engineering

Paul G. Allen Center for Computer Science & Engineering

https://www.cs.washington.edu/research/

3. Department of Computer Science, Columbia University – New York City, New York

The Fu Foundation School of Engineering and Applied Science

http://engineering.columbia.edu/graduateprograms/

http://www.cs.columbia.edu/people/faculty

2. Computer Science Department, Stanford University – Stanford, California

Computer Science Department

http://www-cs.stanford.edu/research/

1. MIT Electrical Engineering & Computer Science, Massachusetts Institute of Technology – Cambridge, Massachusetts

Electrical Engineering & Computer Science

Computer Science and Artificial Intelligence Laboratory

Suggestions for further uses of this listing welcome! (Or grab a copy and use it yourself. Please send a link to what you make out of it. Thanks!)

November 12, 2014

Online Master of Science In Computer Science [Georgia Tech]

Filed under: Computer Science,Education — Patrick Durusau @ 11:24 am

Online Master of Science In Computer Science

From the homepage:

The Georgia Institute of Technology, Udacity and AT&T have teamed up to offer the first accredited Master of Science in Computer Science that students can earn exclusively through the Massive Open Online Course (MOOC) delivery format and for a fraction of the cost of traditional, on-campus programs.

This collaboration—informally dubbed “OMS CS” to account for the new delivery method—brings together leaders in education, MOOCs and industry to apply the disruptive power of massively open online teaching to widen the pipeline of high-quality, educated talent needed in computer science fields.

Whether you are a current or prospective computing student, a working professional or simply someone who wants to learn more about the revolutionary program, we encourage you to explore the Georgia Tech OMS CS: the best computing education in the world, now available to the world.

A little more than a year old, the Georgia Tech OMS CS program continues to grow. Carl Straumsheim writes in One Down, Many to Go of high marks for the program by students and administrators feeling their way along in this exercise in delivery of education.

At an estimated cost of less than $7,000 for a Master of Science in Computer Science, this program has the potential to change the complexion of higher education in computer science at least.

How many years (decades?) it will take for this delivery model to trickle down to the humanities is uncertain. Acknowledging that J.J. O’Donnell made waves in 2004 by teaching Augustine: the Seminar to a global audience. There has been no rush of humanities scholars to follow his example.

November 7, 2014

On the Shoulders of Giants: The Growing Impact of Older Articles

Filed under: Computer Science,Research Methods — Patrick Durusau @ 7:44 pm

On the Shoulders of Giants: The Growing Impact of Older Articles by Alex Verstak, et al.

Abstract:

In this paper, we examine the evolution of the impact of older scholarly articles. We attempt to answer four questions. First, how often are older articles cited and how has this changed over time. Second, how does the impact of older articles vary across different research fields. Third, is the change in the impact of older articles accelerating or slowing down. Fourth, are these trends different for much older articles.

To answer these questions, we studied citations from articles published in 1990-2013. We computed the fraction of citations to older articles from articles published each year as the measure of impact. We considered articles that were published at least 10 years before the citing article as older articles. We computed these numbers for 261 subject categories and 9 broad areas of research. Finally, we repeated the computation for two other definitions of older articles, 15 years and older and 20 years and older.

There are three conclusions from our study. First, the impact of older articles has grown substantially over 1990-2013. In 2013, 36% of citations were to articles that are at least 10 years old; this fraction has grown 28% since 1990. The fraction of older citations increased over 1990-2013 for 7 out of 9 broad areas and 231 out of 261 subject categories.

Second, the increase over the second half (2002-2013) was double the increase in the first half (1990-2001).

Third, the trend of a growing impact of older articles also holds for even older articles. In 2013, 21% of citations were to articles >= 15 years old with an increase of 30% since 1990 and 13% of citations were to articles >= 20 years old with an increase of 36%.

Now that finding and reading relevant older articles is about as easy as finding and reading recently published articles, significant advances aren’t getting lost on the shelves and are influencing work worldwide for years after.

Deeply encouraging results!

If indexing and retrieval could operate at a sub-article level, following chains of research across the literature would be even easier.

October 27, 2014

On the Computational Complexity of MapReduce

Filed under: Algorithms,Complexity,Computer Science,Hadoop,Mathematics — Patrick Durusau @ 6:54 pm

On the Computational Complexity of MapReduce by Jeremy Kun.

From the post:

I recently wrapped up a fun paper with my coauthors Ben Fish, Adam Lelkes, Lev Reyzin, and Gyorgy Turan in which we analyzed the computational complexity of a model of the popular MapReduce framework. Check out the preprint on the arXiv.

As usual I’ll give a less formal discussion of the research here, and because the paper is a bit more technically involved than my previous work I’ll be omitting some of the more pedantic details. Our project started after Ben Moseley gave an excellent talk at UI Chicago. He presented a theoretical model of MapReduce introduced by Howard Karloff et al. in 2010, and discussed his own results on solving graph problems in this model, such as graph connectivity. You can read Karloff’s original paper here, but we’ll outline his model below.

Basically, the vast majority of the work on MapReduce has been algorithmic. What I mean by that is researchers have been finding more and cleverer algorithms to solve problems in MapReduce. They have covered a huge amount of work, implementing machine learning algorithms, algorithms for graph problems, and many others. In Moseley’s talk, he posed a question that caught our eye:

Is there a constant-round MapReduce algorithm which determines whether a graph is connected?

After we describe the model below it’ll be clear what we mean by “solve” and what we mean by “constant-round,” but the conjecture is that this is impossible, particularly for the case of sparse graphs. We know we can solve it in a logarithmic number of rounds, but anything better is open.

In any case, we started thinking about this problem and didn’t make much progress. To the best of my knowledge it’s still wide open. But along the way we got into a whole nest of more general questions about the power of MapReduce. Specifically, Karloff proved a theorem relating MapReduce to a very particular class of circuits. What I mean is he proved a theorem that says “anything that can be solved in MapReduce with so many rounds and so much space can be solved by circuits that are yae big and yae complicated, and vice versa.

But this question is so specific! We wanted to know: is MapReduce as powerful as polynomial time, our classical notion of efficiency (does it equal P)? Can it capture all computations requiring logarithmic space (does it contain L)? MapReduce seems to be somewhere in between, but it’s exact relationship to these classes is unknown. And as we’ll see in a moment the theoretical model uses a novel communication model, and processors that never get to see the entire input. So this led us to a host of natural complexity questions:

  1. What computations are possible in a model of parallel computation where no processor has enough space to store even one thousandth of the input?
  2. What computations are possible in a model of parallel computation where processor’s can’t request or send specific information from/to other processors?
  3. How the hell do you prove that something can’t be done under constraints of this kind?
  4. How do you measure the increase of power provided by giving MapReduce additional rounds or additional time?

These questions are in the domain of complexity theory, and so it makes sense to try to apply the standard tools of complexity theory to answer them. Our paper does this, laying some brick for future efforts to study MapReduce from a complexity perspective.

Given the prevalence of MapReduce, progress on understanding what is or is not possible is an important topic.

The first two complexity questions strike me as the ones most relevant to topic map processing with map reduce. Depending upon the nature of your merging algorithm.

Enjoy!

October 21, 2014

Top 30 Computer Science and Programming Blogs 2014

Filed under: Computer Science,Programming — Patrick Durusau @ 6:37 pm

Top 30 Computer Science and Programming Blogs 2014 by Benjamin Hicks.

From the post:

A major in computer science and programming opens many lucrative doors. Many of these students become software engineers and programmers at one of the many technological companies throughout the country. Others find computational theory attractive. Graduate degrees strengthen students’ skills, increasing their value to employers. Since the field is rapidly advancing, many blogs have sprung up to address all aspects of the field. But which ones are the best to read and why? This list of thirty blogs represents a diverse array of perspectives on computer science, programming, computational theory, and the intersection of computer science with contemporary issues such as education, women in the sciences, business, and many more.

Great material for a “seed list” if you are running your own search engine!

I first saw this in a tweet by Computer Science.

October 5, 2014

The Barrier of Meaning

Filed under: Artificial Intelligence,Computer Science,Meaning — Patrick Durusau @ 6:40 pm

The Barrier of Meaning by Gian-Carlo Rota.

The author discusses the “AI-problem” with Stanislaw Ulam. Ulam makes reference to the history of the “AI-problem” and then continues:

Well, said Stan Ulam, let us play a game. Imagine that we write a dictionary of common words. We shall try to write definitions that are unmistakeably explicit, as if ready to be programmed. Let us take, for instance, nouns like key, book, passenger, and verbs like waiting, listening, arriving. Let us start with the word “key.” I now take this object out of my pocket and ask you to look at it. No amount of staring at this object will ever tell you that this is a key, unless you already have some previous familiarity with the way keys are used.

Now look at that man passing by in a car. How do you tell that it is not just a man you are seeing, but a passenger?

When you write down precise definitions for these words, you discover that what you are describing is not an object, but a function, a role that is tied inextricably tied to some context. Take away that context, and the meaning also disappears.

When you perceive intelligently, as you sometimes do, you always perceive a function, never an object in the set-theoretic or physical sense.

Your Cartesian idea of a device in the brain that does the registering is based upon a misleading analogy between vision and photography. Cameras always register objects, but human perception is always the perceptions of functional roles. The two porcesses could not be more different.

Your friends in AI are now beginning to trumpet the role of contexts, but they are not practicing their lesson. They still want to build machines that see by imitating cameras, perhaps with some feedback thrown in. Such an approach is bound to fail since it start out with a logical misunderstanding….

Should someone mention this to the EC Brain project?

BTW, you may be able to access this article at: Physica D: Nonlinear Phenomena, Volume 22, Issues 1–3, Pages 1-402 (October–November 1986), Proceedings of the Fifth Annual International Conference. For some unknown reason, the editorial board pages are $37.95, as are all the other articles, save for this one by Gian-Carlo Rota. Which as of today, is freely accessible.

The webpages say Physica D supports “open access.” I find that rather doubtful when only three (3) pages out of four hundred and two (402) requires no payment. For material published in 1986.

You?

October 3, 2014

Latency Numbers Every Programmer Should Know

Filed under: Computer Science,Programming — Patrick Durusau @ 2:05 pm

Latency Numbers Every Programmer Should Know by Jonas Bonér.

Latency numbers from “L1 cache reference” up to “Send packet CA->Netherlands->CA” and many things in between!

Latency will be with you always. 😉

I first saw this in a tweet by Julia Evans.

Beyond Light Table

Filed under: Computer Science,Interface Research/Design,Programming,Transparency — Patrick Durusau @ 10:38 am

Beyond Light Table by Chris Granger.

From the post:

I have three big announcements to make today. The first is the official announcement of our next project. We’ve been quietly talking about it over the past few months, but today we want to tell you a bit more about it and finally reveal its name:

eve

Eve is our way of bringing the power of computation to everyone, not by making everyone a programmer but by finding a better way for us to interact with computers. On the surface, Eve is an environment a little like Excel that allows you to “program” simply by moving columns and rows around in tables. Under the covers it’s a powerful database, a temporal logic language, and a flexible IDE that allows you to build anything from a simple website to complex algorithms. Instead of poring over text files full of abstract symbols, you interact with domain editors that are parameterized by grids of data. To build a UI you don’t open a text editor, you just draw it on the screen and drag data to it. It’s much closer to the ideal we’ve always had of just describing what we want and letting the machine do the rest. Eve makes the computer a real tool again – one that doesn’t require decades of training to use.

Imagine a world where everyone has access to computation without having to become a professional programmer – where a scientist doesn’t have to rely on the one person in the lab who knows python, where a child could come up with an idea for a game and build it in a couple of weekends, where your computer can help you organize and plan your wedding/vacation/business. A world where programmers could focus on solving the hard problems without being weighed down by the plumbing. That is the world we want to live in. That is the world we want to help create with Eve.

We’ve found our way to that future by studying the past and revisiting some of the foundational ideas of computing. In those ideas we discovered a simpler way to think about computation and have used modern research to start making it into reality. That reality will be an open source platform upon which anyone can explore and contribute their own ideas.

Chris goes onto announce that they have raised more money and they are looking to make one or more new hires.

Exciting news and I applaud viewing computers as tools, not as oracles that perform operations on data beyond our ken and deliver answers.

Except easy access to computation doesn’t guarantee useful results. Consider the case of automobiles. Easy access to complex machines results in 37,000 deaths and 2.35 million injuries each year.

Easy access to computers for word processing, email, blogging, webpages, Facebook, etc., hasn’t resulted in a single Shakespearean sonnet, much less the complete works of Shakespeare.

Just as practically, how do I distinguish between success on the iris dataset and a data set with missing values, which can make a significant difference in results when I am dragging and dropping?

I am not a supporter of using artificial barriers to exclude people from making use of computation but on the other hand, what weight should be given to their “results?”

As “computation” spreads will “verification of results” become a new discipline in CS?

October 2, 2014

The Early Development of Programming Languages

Filed under: Computer Science,Programming — Patrick Durusau @ 4:29 pm

The Early Development of Programming Languages by Donald E. Knuth and Luis Trabb Pardo.

A survey of the first ten (10) years of “high level” computer languages. Ends in 1947 and was written based on largely unpublished materials.

If you want to find a “new” idea, there are few better places to start than with this paper.

Enjoy!

I first saw this in a tweet by JD Maturen.

Readings in Databases

Filed under: Computer Science,Database — Patrick Durusau @ 4:14 pm

Readings in Databases by Reynold Xin.

From the webpage:

A list of papers essential to understanding databases and building new data systems. The list is curated and maintained by Reynold Xin (@rxin)

Not a comprehensive list but it is an annotated one, which should enable you to make better choices.

Concludes with reading lists from several major computer science programs.

September 14, 2014

Building Blocks for Theoretical Computer Science

Filed under: Computer Science,Mathematics,Programming — Patrick Durusau @ 7:06 pm

Building Blocks for Theoretical Computer Science by Margaret M. Fleck.

From the preface:

This book teaches two different sorts of things, woven together. It teaches you how to read and write mathematical proofs. It provides a survey of basic mathematical objects, notation, and techniques which will be useful in later computer science courses. These include propositional and predicate logic, sets, functions, relations, modular arithmetic, counting, graphs, and trees. And, finally, it gives a brief introduction to some key topics in theoretical computer science: algorithm analysis and complexity, automata theory, and computability.

To whet your interest:

Enjoy!

I first saw this in Nat Torkington’s Four short links: 11 September 2014.

September 13, 2014

September 10, 2014

Where Does Scope Come From?

Filed under: Computer Science,Mathematics — Patrick Durusau @ 4:29 pm

Where Does Scope Come From? by Michael Robert Bernstein.

From the post:

After several false starts, I finally sat down and watched the first of Frank Pfenning’s 2012 “Proof theory foundations” talks from the University of Oregon Programming Languages Summer School (OPLSS). I am very glad that I did.

Pfenning starts the talk out by pointing out that he will be covering the “philosophy” branch of the “holy trinity” of Philosophy, Computer Science and Mathematics. If you want to “construct a logic,” or understand how various logics work, I can’t recommend this video enough. Pfenning demonstrates the mechanics of many notions that programmers are familiar with, including “connectives” (conjunction, disjunction, negation, etc.) and scope.

Scope is demonstrated during this process as well. It turns out that in logic, as in programming, the difference between a sensible concept of scope and a tricky one can often mean the difference between a proof that makes no sense, and one that you can rest other proofs on. I am very interested in this kind of fundamental kernel – how the smallest and simplest ideas are absolutely necessary for a sound foundation in any kind of logical system. Scope is one of the first intuitions that new programmers build – can we exploit this fact to make the connections between logic, math, and programming clearer to beginners? (emphasis in the original)

Michael promises more detail on the treatment of scope in future posts.

The lectures run four (4) hours so it is going to take a while to do all of them. My curiosity is whether “scope” in this context refers to variables in programming or does “scope” here extend in some way to scope as used in topic maps?

More to follow.

August 22, 2014

Computer Science – Know Thyself!

Filed under: Computer Science,Social Sciences,Survey — Patrick Durusau @ 10:34 am

Putting the science in computer science by Felienne Hermans.

From the description:

Programmers love science! At least, so they say. Because when it comes to the ‘science’ of developing code, the most used tool is brutal debate. Vim versus emacs, static versus dynamic typing, Java versus C#, this can go on for hours at end. In this session, software engineering professor Felienne Hermans will present the latest research in software engineering that tries to understand and explain what programming methods, languages and tools are best suited for different types of development.

Great slides from Felienne’s keynote at ALE 2014.

I mention this to emphasize the need for social science research techniques and methodologies for application development. Investigation of computer science debates with such methods may lead to less resistance to them for user facing issues.

Perhaps a recognition that we are all “users,” bringing common human experiences to different interfaces with computers, will result in better interfaces for all.

August 18, 2014

Dissertation draft readers wanted!

Filed under: Computer Science,LVars,Parallel Programming — Patrick Durusau @ 6:55 pm

Dissertation draft readers wanted!

From the post:

Inspired by Brent Yorgey, I’m finally going public with a draft of my dissertation!

My thesis is that a certain kind of data structures, which I call “lattice-based data structures” or “LVars” for short, lend themselves well to guaranteed-deterministic parallel programming. My dissertation combines material from various alreadypublished papers, making it a three-papers-stapled-together dissertation in some sense, but I’m also retconning a lot of my work to make it tell the story I want to tell now.

When people ask what the best introduction to LVars is, I have trouble recommending the first LVars paper; even though it was only published a year ago, my thinking has changed quite a lot as my collaborators and I have figured things out since then, and the paper doesn’t match the way I like to present things now. So I’m hoping that my dissertation will be something I can point to as the definitive introduction to LVars.1

The latest draft is here; it’s automatically updated every time I commit to the repo.2 Because I thought it might be useful to my committee to see my thought process, I left my “peanut gallery” comments in there: notes to myself begin with “LK: ” and are in red, and TODOs are in a brighter red and begin with “TODO: ”. And, as you can see, there are still many TODOs — but it’s more or less starting to look like a dissertation. (Unlike Brent, I’m doing this a little late in the game: I’ve actually already sent a draft to my committee, and my defense is in only three weeks, on September 8. Still, I’m happy for any feedback, even at this late date; I probably won’t turn in a final version until some time after my defense, so there’s no rush.)

I’ll echo Brent in saying that if you notice typos or grammatical errors, feel free to put in a pull request. However, if you have any more substantial comments or suggestions, please send me an email (lindsey at this domain) instead.

Thanks so much for reading!

What do you say?

Ready to offer some eyes on a proposal for guaranteed-deterministic parallel programming?

I’m interested both from the change tracking perspective of ODF as well as parallel processing of topic maps.

August 14, 2014

EMACS: The Extensible, Customizable Display Editor

Filed under: Computer Science,Editor — Patrick Durusau @ 2:49 pm

EMACS: The Extensible, Customizable Display Editor by Richard Stallman. (1981, Delivered in the ACM Conference on Text Processing)

From the introduction:

EMACS(1) is a real-time display editor which can be extended by the user while it is running.

Extensibility means that the user can add new editing commands or change old ones to fit his editing needs, while he is editing. EMACS is written in a modular fashion, composed of many separate and independent functions. The user extends EMACS by adding or replacing functions, writing their definitions in the same language that was used to write the original EMACS system. We will explain below why this is the only method of extension which is practical in use: others are theoretically equally good but discourage use, or discourage nontrivial use.

Extensibility makes EMACS more flexible than any other editor. Users are not limited by the decisions made by the EMACS implementors. What we decide is not worth while to add, the user can provide for himself. He can just as easily provide his own alternative to a feature if he does not like the way it works in the standard system.

A coherent set of new and redefined functions can be bound into a library so that the user can load them together conveniently. Libraries enable users to publish and share their extensions, which then become effectively part of the basic system. By this route, many people can contribute to the development of the system, for the most part without interfering with each other. This has led the EMACS system to become more powerful than any previous editor.

User customization helps in another, subtler way, by making the whole user community into a breeding and testing ground for new ideas. Users think of small changes, try them, and give them to other users–if an idea becomes popular, it can be incorporated into the core system. When we poll users on suggested changes, they can respond on the basis of actual experience rather than thought experiments.

To help the user make effective use of the copious supply of features, EMACS provides powerful and complete interactive self-documentation facilities with which the user can find out what is available.

A sign of the success of the EMACS design is that EMACS has been requested by over a hundred sites and imitated at least ten times. (emphasis in the original)

This may not inspire you to start using EMACS but it is a bit of software history that is worth visiting.

Software development doesn’t always result in better software. Or at least the thirty-three years spend on other editors hasn’t produced such a result.

August 5, 2014

Speaking of Automata

Filed under: Automata,Computer Science — Patrick Durusau @ 6:44 pm

Since I just mentioned Michael McCandless’ post on automata in Lucene 4.10, it seems like a good time to say that Jeffrey Ullman will be teaching automata-003 starting Monday Sept. 1, 2014.

I got a bulk email from the course administrators saying that Stanford had given its permission and that arrangements are underway with Coursera.

If you want to see the prior course: https://class.coursera.org/automata-002. Or you could start watching early!

August 2, 2014

Data Science Master

Open Source Data Science Master – The Plan by Fras and Sabine.

From the post:

Free!! education platforms have put some of the world’s most prestigious courses online in the last few years. This is our plan to use these and create our own custom open source data science Master.

Free online courses are selected to cover: Data Manipulation, Machine Learning & Algorithms, Programming, Statistics, and Visualization.

Be sure to take know of the pre-requisites the authors completed before embarking on their course work.

No particular project component is suggested because the course work will suggest ideas.

What other choices would you suggest? Either for broader basics or specialization?

July 30, 2014

Ideals, Varieties, and Algorithms

Filed under: Computer Science,Mathematics — Patrick Durusau @ 4:10 pm

Ideals, Varieties, and Algorithms: An Introduction to Computational Algebraic Geometry and Communtative Algebra by David Cox, John Little, and Donal OShea.

From the introduction:

We wrote this book to introduce undergraduates to some interesting ideas in algebraic geometry and commutative algebra. Until recently, these topics involved a lot of abstract mathematics and were only taught in graduate school. But in the 1960s, Buchberger and Hironaka discovered new algorithms for manipulating systems of polynomial equations. Fueled by the development of computers fast enough to run these algorithms, the last two decades have seen a minor revolution in commutative algebra. The ability to compute efficiently with polynomial equations has made it possible to investigate complicated examples that would be impossible to do by hand, and has changed the practice of much research in algebraic geometry. This has also enhanced the importance of the subject for computer scientists and engineers, who have begun to use these techniques in a whole range of problems.

The authors do presume students “…have access to a computer algebra system.”

The Wikipedia List of computer algebra systems has links to numerous such systems. A large number of which are free.

That list is headed by Axiom (Wikipedia article) and is an example of literate programming. The Axiom documentation looks like a seriously entertaining time sink! You may want to visit http://axiom-developer.org/

I haven’t installed Axiom so take that as a comment on its documentation more than its actual use. Use whatever system you like best and fits your finances.

I first saw this in a tweet from onepaperperday.

Enjoy!

July 27, 2014

Digital Humanities and Computer Science

Filed under: Computer Science,Conferences,Humanities — Patrick Durusau @ 3:19 pm

Chicago Colloquium on Digital Humanities and Computer Science

Deadlines:

1 August 2014, abstracts of ~ 750 words and a minimal bio sent to martinmueller@northwestern.edu.

31 August 2014, Deadline for Early Registration Discount.

19 September 2014, Dealing for group rate reservations at the Orrington Hotel.

23-24 October, 2014 Colloquium.

From the call for papers:

The ninth annual meeting of the Chicago Colloquium on Digital Humanities and Computer Science (DHCS) will be hosted by Northwestern University on October 23-24, 2014.

The DHCS Colloquium has been a lively regional conference (with non-trivial bi-coastal and overseas sprinkling), rotating since 2006 among the University of Chicago (where it began), DePaul, IIT, Loyola, and Northwestern. At the first Colloquium Greg Crane asked his memorable question “What to do with a million books?” Here are some highlights that I remember across the years:

  • An NLP programmer at Los Alamos talking about the ways security clearances prevented CIA analysts and technical folks from talking to each other.
  • A demonstration that if you replaced all content words in Arabic texts and focused just on stop words you could determine with a high degree of certainty the geographical origin of a given piece of writing.
  • A visualization of phrases like “the king’s daughter” in a sizable corpus, telling you much about who owned what.
  • A social network analysis of Alexander the Great and his entourage.
  • An amazingly successful extraction of verbal parallels from very noisy data.
  • Did you know that Jane Austen was a game theorist before her time and that her characters were either skillful or clueless practitioners of this art?

And so forth. Given my own interests, I tend to remember “Text as Data” stuff, but there was much else about archaeology, art, music, history, and social or political life. You can browse through some of the older programs at http://lucian.uchicago.edu/blogs/dhcs/.

….

One of the weather sites promises that October is between 42 F for the low and 62 F for the high (on average). Sounds like a nice time to visit Northwestern University!

To say nothing of an exciting conference!

I first saw this in a tweet by David Bamman.

July 23, 2014

Awesome Big Data

Filed under: BigData,Computer Science — Patrick Durusau @ 4:00 pm

Awesome Big Data by Onur Akpolat.

From the webpage:

A curated list of awesome big data frameworks, ressources and other awesomeness. Inspired by awesome-php, awesome-python, awesome-ruby, hadoopecosystemtable & big-data.

Your contributions are always welcome!

#awesome-bigdata

Great list of projects.

Curious to see if it develops enough community support to sustain the curation of the listing.

Finding resource collections like this one is so haphazard on the WWW that often times authors are duplicating the work of others. Not intentionally, just unaware of a similar resource.

Similar to the repeated questions that appear on newsgroups and email lists about basic commands or flaws in programs. The answer probably already exists in an archive or FAQ, but how is a new user to find it?

The social aspects of search and knowledge sharing are likely as important, if not more so, than the technologies we use to implement them.

Suggestions for reading on the social aspects of search and knowledge sharing?

July 12, 2014

Awesome Awesomeness

Filed under: Computer Science,Programming — Patrick Durusau @ 7:10 pm

Awesome Awesomeness by Alexander Bayandin.

From Nat Torkington’s description in Four short links: 11 July 2014:

…list of curated collections of frameworks and libraries in various languages that do not suck. They solve the problem of “so, I’m new to (language) and don’t want to kiss a lot of frogs before I find the right tool for a particular task”.

I count fifteen (15) languages and six (6) general areas.

Definitely a site to bookmark and share!

June 27, 2014

Propositions as Types

Filed under: Computer Science,Logic,Programming,Types — Patrick Durusau @ 12:56 pm

Propositions as Types by Philip Wadler.

From the Introduction::

Powerful insights arise from linking two fields of study previously thought separate. Examples include Descartes’s coordinates, which links geometry to algebra, Planck’s Quantum Theory, which links particles to waves, and Shannon’s Information Theory, which links thermodynamics to communication. Such a synthesis is offered by the principle of Propositions as Types, which links logic to computation. At first sight it appears to be a simple coincidence—almost a pun—but it turns out to be remarkably robust, inspiring the design of automated proof assistants and programming languages, and continuing to influence the forefronts of computing.

Propositions as Types is a notion with many names and many origins. It is closely related to the BHK Interpretation, a view of logic developed by the intuitionists Brouwer, Heyting, and Kolmogorov in the 1930s. It is often referred to as the Curry-Howard Isomorphism, referring to a correspondence observed by Curry in 1934 and refined by Howard in 1969 (though not published until 1980, in a Festschrift dedicated to Curry). Others draw attention to significant contributions from de Bruijn’s Automath and Martin-Löf’s Type Theory in the 1970s. Many variant names appear in the literature, including Formulae as Types, Curry-Howard-de Bruijn Correspondence, Brouwer’s Dictum, and others.

Propositions as Types is a notion with depth. It describes a correspondence between a given logic and a given programming language, for instance, between Gentzen’s intuitionistic natural deduction (a logic) and Church’s simply-typed lambda calculus (which may be viewed as a programming language). At the surface, it says that for each proposition in the logic there is a corresponding type in the programming language—and vice versa…

Important work even if it is very heavy sledding!

BTW, Wadler mentions two textbook treatments of the subject:

M. H. Sørensen and P. Urzyczyn. Lectures on the Curry-Howard isomorphism. Elsevier, 2006. Amazon has it listed for $146.33.

S. Thompson. Type Theory and Functional Programming. Addison-Wesley, 1991. Better luck here, out of print and posted online by the author: https://www.cs.kent.ac.uk/people/staff/sjt/TTFP/. Errata page was last updated October 2013.

I just glanced at 4.10 Equality and 5.1 Assumptions – 5.2 Naming and abbreviations in Thompson and it promises to be an interesting read!

Enjoy!

I first saw this in a tweet by Chris Ford.

June 23, 2014

The Lambda Calculus for Absolute Dummies (like myself)

Filed under: Computation,Computer Science — Patrick Durusau @ 6:48 pm

The Lambda Calculus for Absolute Dummies (like myself) by Joscha Bach.

From the post:

If there is one highly underrated concept in philosophy today, it is computation. Why is it so important? Because computationalism is the new mechanism. For millennia, philosophers have struggled when they wanted to express or doubt that the universe can be explained in a mechanical way, because it is so difficult to explain what a machine is, and what it is not. The term computation does just this: it defines exactly what machines can do, and what not. If the universe/the mind/the brain/bunnies/God is explicable in a mechanical way, then it is a computer, and vice versa.

Unfortunately, most people outside of programming and computer science don’t know exactly what computation means. Many may have heard of Turing Machines, but these things tend to do more harm than good, because they leave strong intuitions of moving wheels and tapes, instead of what it really does: embodying the nature of computation.
….

If you have ever struggled with the Lamda Calculus entry at Wikipedia, you will appreciate this well written introduction to the same subject.

I would re-title the post: Lamda Calculus by a Gifted Author.

I first heard about this post from Kirk Lowery.

June 21, 2014

Online Bioinformatics / Computational Biology

Filed under: Bioinformatics,Computational Biology,Computer Science — Patrick Durusau @ 8:14 pm

An Annotated Online Bioinformatics / Computational Biology Curriculum by Stephen Turner.

From the post:

Two years ago David Searls published an article in PLoS Comp Bio describing a series of online courses in bioinformatics. Yesterday, the same author published an updated version, “A New Online Computational Biology Curriculum,” (PLoS Comput Biol 10(6): e1003662. doi: 10.1371/journal.pcbi.1003662).

This updated curriculum has a supplemental PDF describing hundreds of video courses that are foundational to a good understanding of computational biology and bioinformatics. The table of contents embedded into the PDF’s metadata (Adobe Reader: View>Navigation Panels>Bookmarks; Apple Preview: View>Table of Contents) breaks the curriculum down into 11 “departments” with links to online courses in each subject area:

  1. Mathematics Department
  2. Computer Science Department
  3. Data Science Department
  4. Chemistry Department
  5. Biology Department
  6. Computational Biology Department
  7. Evolutionary Biology Department
  8. Systems Biology Department
  9. Neurosciences Department
  10. Translational Sciences Department
  11. Humanities Department

The key term here is annotated. That is the author isn’t just listing courses from someone else’s list but has some experience with the course.

Should be a great resource whether you are a CS person looking at bioinformatics/computational biology or if you are a bioinformatics person trying to communicate with the CS side.

Enjoy!

June 13, 2014

E. W. Dijkstra Archive

Filed under: Computer Science — Patrick Durusau @ 3:34 pm

E. W. Dijkstra Archive the manuscripts of Edsger W. Dijkstra 1930-2002.

From the webpage:

Edsger Wybe Dijkstra was one of the most influential members of computing science’s founding generation. Among the domains in which his scientific contributions are fundamental are

  • algorithm design
  • programming languages
  • program design
  • operating systems
  • distributed processing
  • formal specification and verification
  • design of mathematical arguments

In addition, Dijkstra was intensely interested in teaching, and in the relationships between academic computing science and the software industry.

During his forty-plus years as a computing scientist, which included positions in both academia and industry, Dijkstra’s contributions brought him many prizes and awards, including computing science’s highest honor, the ACM Turing Award.

The Manuscripts

Like most of us, Dijkstra always believed it a scientist’s duty to maintain a lively correspondence with his scientific colleagues. To a greater extent than most of us, he put that conviction into practice. For over four decades, he mailed copies of his consecutively numbered technical notes, trip reports, insightful observations, and pungent commentaries, known collectively as “EWDs”, to several dozen recipients in academia and industry. Thanks to the ubiquity of the photocopier and the wide interest in Dijkstra’s writings, the informal circulation of many of the EWDs eventually reached into the thousands.

Although most of Dijkstra’s publications began life as EWD manuscripts, the great majority of his manuscripts remain unpublished. They have been inaccessible to many potential readers, and those who have received copies have been unable to cite them in their own work. To alleviate both of these problems, the department has collected over a thousand of the manuscripts in this permanent web site, in the form of PDF bitmap documents (to read them, you’ll need a copy of Acrobat Reader). We hope you will find it convenient, useful, inspiring, and enjoyable.

What an awesome collection of materials!

In addition to images of the manuscripts, there are numerous links to other resources that will be of interest.

Ignore the “…most recent change was posted on 5 April 2008” notice on the homepage. If you look at changes to the site, the most recent updates were 20 June 2013, so it is still an active project.

I first saw this in a tweet by Computer Science.

June 12, 2014

An incomplete list of classic papers…

Filed under: Computer Science — Patrick Durusau @ 8:15 pm

An incomplete list of classic papers every Software Architect should read

From the post:

Every one of us has their favourite papers in their domain. Every once in a while, we find a paper so fascinating that we want to share it with everyone.

Not all may agree it’s a good idea to read the original paper. Some might prefer a modern textbook exposition of it. Nevertheless a more detailed look to our past can be helpful when trying to understand the future, and provides us with a more polished understanding.

Below is a list of “classic” papers that have shaped computing history. Some of which will become classics (such as the bitcoin paper). Some of which were perceived radical perhaps, at the time, but turned out to influence terminology and became pillars of computer science.

If you have additional papers which you find missing, please post them as a comment (including reason for why you think they’re special) on this reddit thread.

Often seen as an apology for having invented the FORTRAN language, Backus’ [1978] Turing Award lecture was one of the most influential and now most-often cited papers advocating the functional programming paradigm. Backus coined the term “word-at-a-time programming” to capture the essence of imperative languages, showed how such languages were inextricably tied to the von Neumann machine, and gave a convincing argument why such languages were not going to meet the demands of modern software development. That this argument was being made by the person who is given the most credit for designing FORTRAN and who also had significant influence on the development of ALGOL led substantial weight to the functional thesis. The exposure given to Backus’ paper was one of the best things that could have happened to the field of functional programming, which at the time was certainly not considered mainstream.

I appreciate “classic” papers, particularly ones that support something I already think is correct. Like functional programming languages.

But, to get the most value from these papers, read them as though your cube mate asked for comments.

Yes they are “classics” but if we enshrine them to be cited and not read, we will gain very little from them.

Enjoy!

« Newer PostsOlder Posts »

Powered by WordPress