As the most used open vectorial format, SVG is more and more required by GNU/Linux desktop environments for icons. However it is rather laborious to find a software svg icon on the web. That's why, with the few of means I have, I created this website.
wallofgame.com - Free online flash minigames. All games are less than 1mb in size, that means there's almost no loading time. This miniarcade gives you hundreds of high quality games, perfect to play if you've got only a few minutes. check out tags to find games you like or just click one of the random thumbnails that are shown on our mainpage. Take a look at our spotlight for articles, reviews and game cheats. Over 1000 games have already been selected carefully and added to this site, new games are added daily. The gameplay of a game is more important than graphics, keep in mind most of them are not meant to be full games, they are minigames. If you have any ideas on how to improve this site, feel free to contact us...
The work presents a system for automatically producing a wide variety of video enhancements and visual effects. Unlike traditional visual effects software (e.g., After Effects, Shake, Boujou, etc), the system is completely automatic and no manual labor is required from the user. The major limitation of the work is that it can currently handle only videos of static scenes (i.e., videos shot with a moving camera but containing no moving objects in the scene). Efforts are being made to lift this restriction in future work.
Python has been enjoying a tremendous rise in popularity recently. At the beginning of the year Python became TIOBE's language of the Year (for 2007), surpassing Perl and making it the 6th most popular language. Then, Django started to gain prominence, followed shortly after by the release of Google's AppEngine, which features Python technology. Today, Python got a further boost with two announcements from Sun that strengthen their support of the language. Dynamic Languages & Tools Architect Ted Leung and Jython Project Lead Frank Wierzbicki announced that future releases of NetBeans will support Python and Jython. A detailed list of planned features is available on the nbPython project page, and includes: Syntax highlighting with version support, Code Completion, Python/Jython support, PyUnit support, Debugger support, Python library manager, Bundled Jython Package and Execution of python scripts. Ted notes:
Virtual CloneDrive works and behaves just like a physical CD/DVD drive, however it exists only virtually. Image files generated with CloneDVD or CloneCD can be mounted onto a virtual drive from your hard-disk or from a network drive and used in the same manner as inserting them into a normal CD/DVD drive.
Probably the best virtual drive software, Virtual CloneDrive allows you to enjoy the freedom of a virtual drive and is completely free.
The history of computing spans thousands of years - from the primitive notched bones found in Africa, to the invention of abacus in 2400 BC, to Charles Babbage’s Difference Engine in 1883, to the rise of the popularity of Personal Computers (PCs) in the 1970s. For the most part, this timeline is marked by devices that bear little or no resemblance to present-day machines both in form and capabilities.
We’ve had many posts on Neatorama about the newest and greatest in computers and technology. But for this article, let’s go back - way back - and take a look at the wonderful world of early computing.
Python: Writing a Compiler and Interpreter in 160 lines of code
I started experimenting with Python a few weeks ago. As a learning project I set myself the task of writing a compiler and interpreter for a simple 'while' language. I was very please with the result. Writing Python is like a dream. The work flow goes like this: think of the problem you want to solve, try a solution in the top level eval loop, if doesn't work, try something else, if it works, put it in your module. With the built in lists, tuples, and dictionaries, thought turns into code with a minimum of friction. All I can say is WOW!
Now here is the code. For a lexer I just split the input file into a list of tokens (see parseFile()). I used a tuple to hold the current token (format is: token, yytext, yyval). I used lists of lists to hold the parse tree (see comments in doStatementList()). To evaluate I just do a depth first walk of the parse tree (see execStatementList()).
I'm certain most of you readers here would have lots of exciting chess games, whether it involves a dramatic greek gift sacrifice, or a brilliant zugwang in an endgame. However, have you ever played a game with such a massive attack where queens are left en prise and kings are in the open with mating threats hanging in the air? A game where the defender gets back into play and an endgame with pieces left hanging and passed pawns being rushed down the board ensues?
Ten patients are now enrolled in a clinical trial of the device based on Liu's microchip at four leading ophthalmic centers in the United States. Patients are also enrolled in trials in Mexico, Switzerland, France, and the United Kingdom. Developed through a large collaborative effort involving biomedical researchers nationwide, the retinal prosthesis is an implantable electronic device intended for patients blinded by diseases such as retinitis pigmentosa and age-related macular degeneration.
<!-- Third block : GS-->
<!--/* Openads Javascript Tag v2.3.37-beta (Rich Media - Doubleclick) */--> <script type="text/javascript"><!--//<![CDATA[ document.MAX_ct0 ='%c';
var m3_u = (location.protocol=='https:'?'https://adms.physorg.com/openads/www/delivery/ajs.php':'http://adms.physorg.com/openads/www/delivery/ajs.php'); var m3_r = Math.floor(Math.random()*99999999999); if (!document.MAX_used) document.MAX_used = ','; document.write ("<scr"+"ipt type='text/javascript' src='"+m3_u); document.write ("?zoneid=8&target=_blank&block=1&blockcampaign=1"); document.write ('&cb=' + m3_r); if (document.MAX_used != ',') document.write ("&exclude=" + document.MAX_used); document.write ("&loc=" + escape(window.location)); if (document.referrer) document.write ("&referer=" + escape(document.referrer)); if (document.context) document.write ("&context=" + escape(document.context)); if ((typeof(document.MAX_ct0) != 'undefined') && (document.MAX_ct0.substring(0,4) == 'http')) { document.write ("&ct0=" + escape(document.MAX_ct0)); } if (document.mmm_fo) document.write ("&mmm_fo=1"); document.write ("'><\/scr"+"ipt>"); //]]>--> </script><script src="http://adms.physorg.com/openads/www/delivery/ajs.php?zoneid=8&target=_blank&block=1&blockcampaign=1&cb=97214505549&loc=http%3A//www.physorg.com/news133537632.html" type="text/javascript" style="display: none;"></script>
These diseases destroy the light receptors in the retina, but not the nerve fibers that connect the eye to the brain. The implanted microchip stimulates the neurons in the retina, relaying visual signals that are transmitted to the chip from a tiny video camera integrated into a pair of sunglasses.
Before we start, let me explain how this little tutorial was started, basically I was tired of explaining vim usage on irc, and found myself doing it repeatedly, at the same time, I was too lazy to sit down and write my own "real" vim tutorial (I ignored the fact that I spent 10x the time explain stuff to people on line than it would have taking me to write a tutorial). So after one conversation explaining a large chunk of vim usage, I pulled it out of the logs, and published it (cropped and modified of course) here.
Tools you need to get started:
* You can get the vim sourcecode at Vim Sourcecode, it only takes a couple minutes to build, and you are ready! * You can get the gVim installer for windows at Vim Windows Install, it is 3.4 megs, enjoy :)
To go thru this tutorial please open up a STANDARD xterm and with the command "xterm -fg white -bg black -fn fixed" and then run "export TERM=ansi; vim". If you get stuck, my name is "MetaCosm"(I play Socrates) and can be found on irc.openprojects.net in #vim (among other chans). If you happen to use windows, you will want to run this tutorial using plain old gvim (not Easy Gvim or ReadOnly Gvim), just about the entire tutorial should work for ya :). The only reason I don't recommend gvim for linux for this tutorial is because #1) Not everyone has it. #2) It can tempt people to use vim incorrectly during the tutorial, better to just use good old console vim.
Now, you will notice that it has a table of contents, and is broken into section, but that is just for ease of coming back where you left off, if you jump around you WILL be confused, and you WILL miss vital information that will make your vim experience less wonderful. This SEEMS like a long tutorial, but it really isn't once you realize a lot of the lines say stuff like "k", "ok", "cool", etc, it makes for REAL fast reading (under 30 mins for everyone I have had comment on it so far)
If you hate conversational (IRC) style, or are already a experience vim users and just want a quick sum-up of what is
Coding at its most fun is exploratory. It’s exciting to try your hand at something new and see how it develops, choosing a route as you go along. Some poeple like to call this “expanding your ignorance”, to convey that you cannot decide on things you don’t know about, so first you have to become aware - and ignorant - of them. Then you can tackle them. If you want a buzzword for this I suppose you could call this “impulse driven development”.
the enormous steel ball you see in the photos (and the incredible video below) is the world’s largest ‘tuned mass damper’ and sits near the top of the world’s largest completed skyscraper on earth, taipei 101 in taiwan. the idea behind a tuned mass damper is quite simple: as a building sways (resulting from high winds, earthquakes etc), its tuned mass damper, essentially a finely tuned and ridiculously heavy pendulum, will move in opposition to the structure’s oscillations and minimise any movement. if that makes no sense, watch the crude gif below.
However, the scientist has released correspondence showing that he was approached with the offer of a knighthood over a decade ago but refused it on principle.
"Professor Hawking does not like titles. In fact he dislikes the whole concept of them," a spokesman told The Times.
Professor Hawking has also revealed correspondence showing harsh criticism of what he sees as the UK government's mismanagement of science funding.
ver a hundred years ago, Matthius Schleiden, the German botanist, was pondering the recently discovered fact that beings as simple as water fleas and as complex as human beings are made up of individual cells. Each of those cells has all the apparatus necessary to lead a life of its own. It is walled off in its own mini-world by the surrounding hedge of a membrane, carries its own metabolic power plants, and seems quite capable of going about its own business, ruggedly declaring its independence. Yet the individual cells, in pursuing their own goals, cooperate to create an entity much larger than themselves. Schleiden declared that each cell has an individual existence, and that the life of an organism comes from the way in which the cells work together.
If you are not familiar with Convey's Game of Life or APL programming language, I recommend to consult the very short description of APL and the description of Conway's Game of Life. Besides, on this page you will find IBM APL2 interpreter and several language references.
This detailed explanation of the APL program that prints out N generations of the initial configuration M of the Game of Life will also serve as a brief and very informal course in APL.
Before we start to decipher (this seems to be the correct word here) the Life program, let's try to work out the strategy of how to write this program in one line, no matter how impossible it sounds. Life is a cyclic game by its very nature and - surely - the algorithm implementing this game apparently should consist of several cycles. Thus, the main loop of this program is the flow of the generations. Another loop is the one that scans the matrix to calculate the cells that are dead, alive or newborn. Yet another loop calculates the number of neighbors of every given cell. Now, you think, that's it: we cannot use even a single loop inside one line, let alone three nested loops! But wait a minute - APL allows us to overcome almost any, even the most desperate situation.
First of all, we don't need a loop to scan the matrix, since APL allows us to work with the whole matrix usually using a single function. The same applies to the number of neighbors. As for the main loop that govenrs the change of generations - there will be no such thing at all!
Let N be a number of generations we want to calculate. We can write down all the loops (that is the subprograms that constitute the body of the loop) as one very long line. Now all we have to do is to execute this line. It's not good, - says the reader. - What if we need 1000 generations ? Shall we write down 1000 loops that are doing the same thing then ? Absolutely not! As we've said before, all these loops are doing the same thing, so we will just write down only one loop and then APL will help us t
The A* (pronounced A-star) algorithm can be complicated for beginners. While there are many articles on the web that explain A*, most are written for people who understand the basics already. This article is for the true beginner.
This article does not try to be the definitive work on the subject. Instead it describes the fundamentals and prepares you to go out and read all of those other materials and understand what they are talking about. Links to some of the best are provided at the end of this article, under Further Reading.
Finally, this article is not program-specific. You should be able to adapt what's here to any computer language. As you might expect, however, I have included a link to a sample program at the end of this article. The sample package contains two versions: one in C++ and one in Blitz Basic. It also contains executables if you just want to see A* in action.
But we are getting ahead of ourselves. Let's start at the beginning ...