Computers are simple. They must be. Consider how fast the industry developed and the only conclusion you can draw is that it must be simple. Once you understand how easy it is to implement the basic operations add, move, compare and jump to a machine, and that you can build -any- program from these operations you'll know. Alan Turing started it all.
The smartphones of today are so much more powerful than the mainframes banks had in the sixties and seventies in terms of computing power. Over a billion people on Planet Earth live with a computer. These computers connect us with other people and are turning into our best friends. And that is something what was beyond what Alan Turing foresaw about computers.
Computer Science and Mathematics students need a deep understanding of the Turing Machine. OU M381 did not teach the Turing Machine but a slightly simpler model because the Turing Machine was considered too complex. Not anymore with today's simulators if you ask me.
Turing Machine simulator
Blog Ini Bertujuan Membantu mendidik masyarakat di bidang matematik (Helping community in studying mathematic)
Tampilkan postingan dengan label Computer Science. Tampilkan semua postingan
Tampilkan postingan dengan label Computer Science. Tampilkan semua postingan
Minggu, 02 Desember 2012
Jumat, 06 April 2012
If you need a personal Super Computer...
#computing
They say that the smartphones of today are more powerful than the mainframes of the 1970s. That's only partially true of course, in fact it is ridiculous, i don't see anyone managing a corporate database on a phone, not even with 70s software. Phones use all that power they have to facilitate the silly games they have on them.
To the point. Super computing.
The Met Office in the UK still has a warehouse sized computer room packed with computer power. ( See BBC Horizon, about Global Weirding ). They need all that power to run their weather forecasting models which are continuously fed with massive amounts of real-time data from data collection points all over the world.
Personal computers, from phones to your home rack may have some power but it could still take -weeks-, if not -months- to do a calculation, or the rendering of an image. As from a certain point you need that upgrade that goes beyond your budget, or simply beyond the available space you have at a certain temperature. And as you might know cooling is still an issue.
If you are into rendering computing intensive 3D images, then vSwarm might be a solution for you. vSwarm is a community based free render farm for your 3D animations and images.
Link:
- vSwarm
They say that the smartphones of today are more powerful than the mainframes of the 1970s. That's only partially true of course, in fact it is ridiculous, i don't see anyone managing a corporate database on a phone, not even with 70s software. Phones use all that power they have to facilitate the silly games they have on them.
To the point. Super computing.
The Met Office in the UK still has a warehouse sized computer room packed with computer power. ( See BBC Horizon, about Global Weirding ). They need all that power to run their weather forecasting models which are continuously fed with massive amounts of real-time data from data collection points all over the world.
![]() |
| IBM supercomputer at the UK Met Office |
If you are into rendering computing intensive 3D images, then vSwarm might be a solution for you. vSwarm is a community based free render farm for your 3D animations and images.
Link:
- vSwarm
Sabtu, 10 Desember 2011
Video lectures on Theory Of Automata, Formal Languages and Computation
NPTEL released a new series of video lectures featuring Prof.Kamala Krithivasan from the Department of Computer Science and Engineering IIT in Madras on the Theory of Automata, Formal Languages and Computation. The first lecture in the series is called GRAMMARS AND NATURAL LANGUAGE PROCESSING.
Minggu, 20 November 2011
Compiler development 2/2
OK, what is the status It's in the technical design phase. Graphica is a 3D scene graph language, ( the first version of ) the Graphica compiler generates Mathematica source code that will be handled by Mathematica ( another target to compile to could be Java/jReality for example ). I am at the point of studying the theory behind compilers and the selection of tools, candidates I have pre-selected are:
- ANTLR,
- javaCC,
- jparsec and
- an all handcrafted option.
More options may pop-up while studying though. I selected four books to study:
- (1) Modern compiler implementation in Java, A.Appel, CUP 2004
- (2) Programming Language Processors in Java, D.Watt, D.Brown, Prentice Hall 2000
- (3) ANT LR Reference, Terence Parr, Pragmatic Bookshelf 2007
- (4) Compilers, PT&T, Aho, et al, Pearson 2007
Title (4) is aka the Dragon book and supposedly is the best book on the subject, I'll use that as a glossary. Title (1) supports a javaCC approach, and develops MiniJava, a subset of Java, (2) builds a compiler and interpreter for a language called Triangle ( with Java ). I already downloaded the source, created a project for it in NetBeans and tested a few compiles and runs of a Triangle program which is a Pascal type of language. Several bugs have been reported over the years which I have collected and should fix. Title (3) is clearly pro ANTLR. And (4) is the authoritative reference. Some of the books may seem old but I used a list from a 2010 university syllabus.
I'll have to solve one other issue on the Mathematica side of the project, and that is how to remotely create a Notebook using a kernel I am connected to in Java. Once that is solved I can continue programming, using a stub compiler if necessary.
The purpose of Graphica is to stimulate my personal development and knowledge of computer science, so any pro-s and con-s that I might mention are clearly mine and have to be seen in that light only.
To be continued
- ANTLR,
- javaCC,
- jparsec and
- an all handcrafted option.
More options may pop-up while studying though. I selected four books to study:
- (1) Modern compiler implementation in Java, A.Appel, CUP 2004
- (2) Programming Language Processors in Java, D.Watt, D.Brown, Prentice Hall 2000
- (3) ANT LR Reference, Terence Parr, Pragmatic Bookshelf 2007
- (4) Compilers, PT&T, Aho, et al, Pearson 2007
Title (4) is aka the Dragon book and supposedly is the best book on the subject, I'll use that as a glossary. Title (1) supports a javaCC approach, and develops MiniJava, a subset of Java, (2) builds a compiler and interpreter for a language called Triangle ( with Java ). I already downloaded the source, created a project for it in NetBeans and tested a few compiles and runs of a Triangle program which is a Pascal type of language. Several bugs have been reported over the years which I have collected and should fix. Title (3) is clearly pro ANTLR. And (4) is the authoritative reference. Some of the books may seem old but I used a list from a 2010 university syllabus.
I'll have to solve one other issue on the Mathematica side of the project, and that is how to remotely create a Notebook using a kernel I am connected to in Java. Once that is solved I can continue programming, using a stub compiler if necessary.
The purpose of Graphica is to stimulate my personal development and knowledge of computer science, so any pro-s and con-s that I might mention are clearly mine and have to be seen in that light only.
To be continued
Sabtu, 19 November 2011
Compiler development 1/2
Although programming domain-specific languages ( with tools like ANTLR ) is part of the standard toolkit (*) of an application programmer, programming compilers is still considered to be a different ballgame. ( Is it? ) I worked for a company once that developed a 4GL. A small group of experts worked on the kernel ( compilers and run-time ). They enjoyed an almost cult-like status, they were literally seen as guru's. The skill to write a compiler was considered God-like. Java was only just released and tools like ANTLR were years ahead of us. - The cruelty is, it always is, that developing compilers is not difficult, it is simple compared to developing satisfactory end-user applications.
More next post, in which I will explain how you can learn to write your own compiler fast and easy.
(*) If you expect a programmer to be carrying an actual physical "kit" on his gadget belt you are wrong. "Standard Toolkit" is programmers jargon for a minimal set of technical skills expected of any programmer. Every programmer knows how to query a database with SQL, creating and populating tables to optimize performance is however specialized knowledge expected only of a database administrator or DBA ( although many programmers have DBA skills ).
More next post, in which I will explain how you can learn to write your own compiler fast and easy.
(*) If you expect a programmer to be carrying an actual physical "kit" on his gadget belt you are wrong. "Standard Toolkit" is programmers jargon for a minimal set of technical skills expected of any programmer. Every programmer knows how to query a database with SQL, creating and populating tables to optimize performance is however specialized knowledge expected only of a database administrator or DBA ( although many programmers have DBA skills ).
Langganan:
Postingan (Atom)
