| November 29 2006 |
| 31 Dec, 2006 deadline for Google Answers |
| Hurry up everyone its one month more. 31 Dec, 2006 is the last day when Google will stop accepting questions on Google Answers.
The 4 year project which started with a idea from Lary Page, Google founder is being closed. Google says they will not be accepting any more new questions.
It took at least 1000 users to get the Google Answer project to what it is now. And for the billion others all Q & A will be available for viewing. |
| |
| November 28 2006 |
| Pay USD 500,000 per movie shown |
| MPAA is going to fine any home user that has a TV larger than 29", a comfy chair, and a surround sound system. Pay $50 registration fee and save half a million bucks.
How do you get around this..
1. Combine 6 LCD screens just below 29"
2. Comfy chair, how is that defined, probably if the MPAA sits they should have a back ache :)
3. There is no problem having a surround if the above 2 are not qualified for.
There you save yourself USD 5O and USD half a million |
| |
| November 28 2006 |
| YouTube, G factor and VCast. |
| Google probably had a plan, well that could be the reason the bought YouTube for a stagering amount. Well why did they (previous owners) sell then, it could be because of the money, and probably because of the copyrights issue.
YouTube is going to be available on cellphones very soon from Verizon, a service called VCast. Google would also integrate that with all their G's. They might even have an application ready for G factor.
I think it is a really great idea to get YouTube on cellphones. This is going to encourage more users to browse from their phones.
This sure is going to get microsoft on the heels to get soapbox up on the small screens. By the way soapbox currently has not many viewers, this stats should be considered not even close to YouTube or probably Google Video. |
| |
| November 27 2006 |
| Censorship Circumvention |
| Censorship Circumvention, right. December 1, 2006 will dawn with the release of the Psiphon. This software helps users in countries that has put up restriction browsing the internet.
Psiphon operates through a network of computers. That is a user in an unrestricted country would have to download the Psiphon software and install. Users from the restricted countries will have to connect to these computers to access content that has been restricted by their respective countries.
Brilliant idea. The next thought come about...Security. They say that the Psiphon would have an encrypted connection . The system connected to is acting like a proxy and any site browsed would be saved on the system, and the administrator will have to delete the temporary internet files. Viewing packets using a sniffer is another story.
What an excellent idea and the risk any user will take to have his/her system act as a proxy is to been seen after the launch by Open Society Institute (Soros Foundation) Centre for Innovation Law and Policy, Faculty of Law, University of Toronto. |
| |
| November 26 2006 |
| PodTech website |
| I have to admit that since Robert took the charge as VP Media of PodTech the website has considerably changed, why dont I say good. Just for the reason that it does not look good.
I must add a fact here that PodTech has changed considerable since I observed the company before Robert changed seats.
One reason is that it looks more like a blog, yes its a media company, but does the posting need to look like a blog entry. It also looks like a local radio station design with stacks of reviews and interviews.
This could be done better, having a corporate and media outlook. Its possible that they are working on it, and its also possible that they are not working on it. |
| |
| November 26 2006 |
| RSS Reader - feeddemon |
| I go through different websites for techie news that would range from new products to security and this did tire me. In spite of knowing that RSS reader helps, I thought oh what the heck, not downloading one but no way the want for the reader was strong and I had to go around looking for a RSS Reader.
First I downloaded the Omea Reader, it seemed to work for a day, but I wanted the pictures to show up when I am offline.
That made me download feeddemon 2.1 from newsgator, its really good. I can view the pictures and posts offline. It lets me find feeds with keywords, automatic download of podcasts.
The feeddemon has one downside, I am not sure how I am going to solve it, but any post that is read simply disappears. I cannot read any post that has been read |
| |
| November 25 2006 |
| Pink Zune, Orange Zune |
| Either this is a joke or Microsoft is "trying" to break the iPod graph, with a Pink and Orange color. Does it really make a difference in color, its go the same stuff that it had in the soviet era - brown and black.
Breaking the iPod graph will require not money but the right moment and approach. Okay MS admit you really would have to work hard to get yourself close to the iPod.
Use it as a reflector for your car, Good hype for the Xmas shopping :D |
| |
| November 25 2006 |
| Next big for the web and gone...and next big for the web |
| 7-10 years back a web developer was defined as somebody who could work on Photoshop, I think it was version 3 or 4 and could hand-code html with a few javascript.
2-4 years back that changed with the web modernizing.Web 2.0. There came the web developer, web designer and the whose who in the designation rank / table. All sat to get the web 2.0 hype getting through and users had gleaming eyes, tech news was flooding with all sorts new touch for the old applications.
Corporates like Google, Yahoo, Microsoft with big greenery got things to a start and pretty well, I must say. Then there were those VCs that churned out that greenery for those budding companies, that promised the users never before experience.
Then there was a big-bang, here comes Web 3.0. Most of the net users have no idea what is web 2.0. Web 2.0 is social gathering, like blogs,chat,email,music playlist,contacts,rss reader etc all on one page. Click the mouse and you are where you want to be.
Do we really need this Web 2.0 to Web 3.0 upgrade, I mean who is using IP v6.0. But the time the heat hits or understand the full implication Web 3.0 is gone with another big-bang. |
| |
| November 22 2006 |
| A legal nightmare for microsoft if... |
| Ballmer seems to be saying that when linux is used, then microsoft intellectual property is being used. Probably that is what he meant, if anybody uses linux kernel that would not be a microsoft property, but if you use hmmm... what is microsoft property in linux then.
Linux is made up of small components from the programmers and users of the opensource community. If microsoft did buy linux as ballmer says then he actually bought linux code without the written permission of the users who actually coded it to make it a non-blue screen O/S. That in turn would create a legal nightmare for microsoft itself.
This kind of scare would be just good for the not so informed management, where they would see microsoft suing them. If there are any infringements then linux kernel programmers would come in and re-write the whole code.
This should be the right call for all the programmers of the linux kernel to voice against microsoft.
Its just like microsoft taking the .com and .net registry, then it would go ahead and say that all domains registered are the property of microsoft. The next microsoft saying would be, " we own your hard drive because our O/S runs on it" |
| |
| November 21 2006 |
| Simple automated RSS feed with PHP and MySQL |
This is the most simple method of creating a RSS feed for your website, this would work if you have php, mysql on your webserver. Now as you update your index page the RSS will also automatically update
Put the below code(link) between the <head></head> tag and the rest of the code in the php tags (I have not put those) in the index.php file.
<link rel="alternate" type="application/rss+xml" title="RSS 2.0" href="feeds.xml">
Here is the sql statement to select posts from the table, I have put the limit to 10 tables, you can change this to any number.
mysql_select_db($database_name, $connection_string);
$query_table = "put in your select statement here limit 10";
$table = mysql_query($query_table, $connection_string) or die(mysql_error());
$row_table = mysql_fetch_assoc($table);
$totalRows_table = mysql_num_rows($table);
first create a empty file feeds.xml. The below code is for creating the xml file.
$myFile = "feeds.xml";
$fh = fopen($myFile, 'w') or die("can't open file");
$xml = "<?xml version=\"1.0\" ?>\r\n<rss version=\"2.0\">\r\n";
$xml .= "<channel>\r\n";
$xml .= "<title>Blog name ]]><![CDATA[";
$xml .= "</title>\r\n";
$xml .= "<link>Blog url ]]><![CDATA[";
$xml .= "</b></font></link>\r\n";
$xml .= "<description>blog description</description>\r\n";
do {
$xml .= "<item>\r\n";
$xml .= "<title>" ;
$xml .= $row_table['blog_title'];
$xml .= "</title>\r\n";
$xml .= "<category>";
$xml .= $row_table['blog_category'];
$xml .= "</category>\r\n";
$xml .= "<description><![CDATA[";
$xml .= $row_table['blog_post'];
$xml .= "]]></description>\r\n";
$xml .= "<link>";
$xml .= "full post view url" .$row_table['post_name']. "</link>\r\n";
$xml .= "<guid isPermaLink='true'>full post view url" .$row_table['post_name']."</guid>\r\n";
$xml .= "</item>\r\n";
} while ($row_table = mysql_fetch_assoc($table));
$xml .= "</channel>\r\n</rss>\r\n";
fwrite($fh, $xml);
fclose($fh);
|
| |
| November 20 2006 |
| Rip iPod songs back to the computer |
| Senuti
Senuti is a free and open-source, Mac-only application that allows you to recover songs, photos and movies from your iPod. Senuti features drag-and-drop transfer of songs and playlists. Senuti also allows you to copy songs from a Windows formatted iPod.
iPodRip
IPodRip works in both Mac OS X and Windows. It has drag-and-drop support for moving songs from your iPod directly into iTunes, as well as one-click importing to restore a local collection.
Features
- Supports any file the iPod does
- Supports video playback and podcasts
- Recover Songs - recovers all songs, meta data and associated playlists to iTunes
- Recover Playlists - reconstructs your playlists in iTunes based on the songs already in iTunes
- Stand alone jukebox with menubar controls and song information
- iTunes integration when importing songs and playlists
- Supports iTunes song information, including ratings, play count, last played and others
- SmartSync - rules based importing of songs
- View & copy playlists
- Drag & drop support
- iTunes style browser
- Undo support
- Print, HTML and XML support
- iTunes like floating window
- Complete documentation |
| |
| November 20 2006 |
| Stevie B goes about collecting royalty |
This is about Microsoft asking linux users protection against Microsoft code being in linux |
| |
| November 20 2006 |
| Windows PowerShell |
| Microsoft Windows PowerShell command line shell and scripting language helps IT Professionals achieve greater productivity. PowerShell is easy to adopt, learn, and use, because it works with your existing IT infrastructure and existing script investments, and because it runs on Windows XP , Windows Vista, Windows Server 2003 and Windows Server Longhorn. Exchange Server 2007, System Center Operations Manager 2007, System Center Data Protection Manager V2, and System Center Virtual Machine Manager leverage Windows PowerShell to improve efficiency and productivity.
Windows PowerShell Documentation Pack
Download Windows PowerShell |
| |
| November 20 2006 |
| new design for the blog |
| my job and design on the tableless blog taking up my time, oh i forogot reading too :D |
| |
| November 18 2006 |
| US $99,999,999.00 for a PS3 |
Send that kind of money to charity
Click here for ebay website |
| |
| November 18 2006 |
| Ballmer becoming bush |
| Ballmer said this... and then said this... oh and that...., what in the name of dickens, first he goes on to say that Vista does not need an antivirus because his sons using it and whatever reason followed.
Then they bought or tied up with Novell. He thought he bought the rights of the users of the linux world. Guess what he might say next, okay linux is mine!
What ever he says is to promote the vista, eventually 75% people are going to buy and business are going in for an upgrade, probably thats 6 months down the line, not ASAP. But to say such awful comments about the opensource world is a NO... NO ... NO |
| |
| November 18 2006 |
| Three Google searches you must know |
| (xxx.com should be replaced with your site)
Site:xxx.com Displays the systems under the domain known to Google and used by attackers to quickly identify hosts available to the Internet. Also quickly shows pages known to exist under the domain, allowing an attacker to quickly inventory the pages and structures, identify what technologies (HTML, Notes, ASP, PHP, etc.) are in use at the site. All of this information allows an attacker to focus their attacks.
Filetype:yyy site:xxx.com Used by attackers to isolate potentially confidential data offered by your site. If improperly configured, your site can sometimes make even intended-to-be-private files available. Replace yyy with common file types like: doc, xls, pdf, txt, rtf, ppt, etc. It is not uncommon to find very sensitive data this way from customer lists to marketing plans and often social engineering fodder such as phone books, email addresses, etc.
Link:xxx.com Reveals what sites are linking to your site. How is this helpful? Attackers can use it to find your business partners and others who might have special access through partner networks, firewall rules, VPNs, etc. **Bonus: Sometimes, you can use this to Google phishing and scam sites that may be linking to you to grab content and graphics! |
| |
| November 18 2006 |
| Windows Live Mail desktop - who needs this |
| I downloaded Windows Live Mail desktop today. It said I could access every possible mail, from gmail, aol etc, well for once thats being true.
It seems amazing, but we have the outlook express coming in with the IE. It does the same function..hmm the feeds too currently. I can create, read and move any email to the desktop, that is what Outlook express did.
It looks nice, got fancy colors, the zing like when windows xp succeeded win 2K. But what is the sole purposes anyway.
And moreover how do I log out from a particular email account, Microsoft has not made that available.
MS Guys...Outlook Express done that and still doin' |
| |
| November 15 2006 |
| Zune advt |
The hidden messages in zune advt
|
| |
| November 15 2006 |
| Googles answer to life and universe |
| Click here to find out googles answer to life and the universe, its pretty intresting
|
| |
| November 14 2006 |
| Cash back from Dell |
| To get a (approximately) $50.00 cash back from dell if you are adherent Open Source supporter, just disagree with the current windows license agreement during the boot-up of a new PC or laptop.
The text of this agreement states users can get a refund for the "unused products" on their new computer if they get in touch with the machine's manufacturer.
Write a letter to Dell stating that you disagree with the MS license terms and would like a refund of the funds of the OS. |
| |
| November 14 2006 |
| Zune designed by a carpenter |
| I am sure everyone has had a good look at the picture of zune, notice the hard bound soviet-era style box and also the colors. Microsoft would have asked a carpenter for the design. They had to get it designed and release just before christmas.
They probably came up with the term zune by changing the T in TUNES to Z and voila! you have ZUNES.
I am going to take a wild guess, why would somebody buy zune. For reasons, that you cannot share a song wi-fi due to rights restriction, limited number of z(s)ongs or no songs. Deletion of any podcast or song after listening 3 times or 3 days,which ever comes first. Ballmer says Wi-Fi will level out some of Apples advantage with media players, did i read media players and not zune. But that still indicates Apple leads the race. Anyways Ballmer is being paid for saying zune is good.
Go for creative guys or any other mp3 player why zune, go for ipod which has lots to offer. Start to buy ipod for the reason that it looks appealing, sexy. |
| |
| November 13 2006 |
| What has Microsoft done? |
| Let us take it from this point in terms of computer era, millions of years back (where 128K memory was BIG) MS gave us the DOS, we were happily putting in 5" floppy disks and booting systems, wait 5 minutes and rebooting writing programmes saving in 5" floppy. Then Sony brought in the 2.5" floppy - what a swell from the company who plugged our ears with the Walkman.
MS went on to get us the Windows 95, the world was swaying to the tunes of GUI based, easy computing. But let us not forget Apple bought the first GUI based computing AND THE MOUSE. Okay so what if MS copied that bit... hmmm well it did make our lives easier.
We were enjoying every bit of the MS 95 O/S when windows 98 poped in making graphic games wonderful, lives, office and home work even more easier.
Win NT was good from the server point of view, and people were swearing for every reason they could get their hands on. Patches came in for both 98 and NT. Unpatched servers were down and patched servers were running out of space and heavy.
Then they brought out the Me version which was wonderfully and extremely disastrous. It made every other system crash and voila everyone started noticing, how that happened.
Oh not to forget the Blue Screen of Horror
Windows 2000 and servers rolls in with an NT backing, gone blue screen.. no just does not appear every time something goes wrong. Yes blue screen does appear. patches over patches over patches here.
Users started experimenting with open source which coming out of the dark and getting popular. It had CD burners, MS office had its rival Open office, which could now open Word documents etc.
Windows XP comes in with decoration and style, also with 64 bit power. what started with you could install xp on 1GB now required at least 2 GB with Service pack 2. All tuned with holes for a patch fix and patch for patch fixes. complete with proprietary software that cost a very normal user his pocket. MS office had become quite complex and had so much functionality that no one till now one has used entirely.
Then came the copyrights, piracy, etc. It was a field day for hackers to crack open the hmm WGA? probably... but the did succeed.
And here comes vista with a host of issues from every corner anyone can visualize. Nov 30, 2006 is the launch date and it is a good timing. Because Christmas and New Year is close, people will want to buy new PCs with VISTA enabled. And very soon the well termed word "crash", "drivers missing", "software not suitable" etc will start showing, this is going to be the talk of the town till Easter.
What more could Microsoft ask for? Oh by the way what has Microsoft done?
|
| |
| November 12 2006 |
| Microsoft does use linux and solaris 8 server |
These results are from netcraft.com
|
| |
| November 12 2006 |
| Mobile phone can actually be a life saver |
| There are a few things that can be done in times of grave emergencies.
Your mobile phone can actually be a life saver or an emergency tool for survival. Check out the things that you can do with it: -
*EMERGENCY*
*I*
*The Emergency Number worldwide for **Mobile** is 112.* If you find yourself out of coverage area of your mobile network and there is an emergency, dial 112 and the mobile will search any existing network to establish the emergency number for you, and interestingly this number 112 can be dialled even if the keypad is locked.
**Try it out.**
*II*
*Subject: Have you locked your keys in the car? Does you car have Remote keys?* This may come in handy someday. Good reason to own a cell phone:
If you lock your keys in the car and the spare keys are at home, call Someone at home on their cell phone from your cell phone.
Hold your cell phone about a foot from your car door and have the person at your home press the unlock button, holding it near the mobile phone on their end. Your car will unlock. Saves someone from having to drive your keys to you. Distance is no object. You could be hundreds of miles away, and if you can reach someone who has the other "remote" for your car, you can unlock the doors (or the trunk).
*III*
Subject: Hidden Battery power
Imagine your cell battery is very low, you are expecting an important call and you don't have a charger. Nokia instrument comes with a reserve battery.
To activate, press the keys *3370# Your cell will restart with this reserve and the instrument will show a 50% increase in battery. This reserve will get charged when you charge your cell next time. |
| |
| November 12 2006 |
| BumpTop video |
BumpTop aims to enrich the desktop metaphor with expressive, lightweight techniques found in the real world.
|
| |
| November 12 2006 |
| Stunning Horseshoe Shaped River |
|
| |
| November 12 2006 |
| Lazy for this week, |
| I am going to be a little lazy for this week, that would be one reason why I would not be posting quite often. I am trying to get this blog tableless. Already going through the development. |
| |
| November 12 2006 |
| Vonage V-phone - flash drive-based software phone |
|
| |
| November 20 2006 |
| Microsoft: No Antivirus Required for Vista? |
| Actually does linux really need a antivirus, probably not because linux viruses may not be far spread, likewise techie programmers would not have started programming vista viruses. Lets see on or after November 30, 2006.
Thats what Jim Allchin says anyway. With ASLR (Address Space Layout Randomization), PatchGuard, and parental controls, he is let his seven-year-old use the system sans AV.. and he is very confident there'll be no malware downloaded to the system.
Allchin's statement came in response to a question about his relative level of confidence that Vista would be more secure than Windows XP SP2. In response, he noted there were key security features added to Vista which could not be added to Windows XP SP2 even though, he said, his people apparently tried to do so.
Two such features - namely Vista's new parental controls, and Address Space Layout Randomization (ASLR), which renders the object code of the system kernel in memory differently each time to thwart the designs of malicious code - render his son's Vista machine comfortable enough for him to use, even though production-quality anti-virus software for the unit has yet to be completed. |
| |
| November 11 2006 |
| Exhaustive Java link for programmers |
| JARS.COM, Java review service
Java Application Developer Central
Sun JavaBeans home page
java.blogs
Javacrawl Java and J2EE news
Java Exchange "Java Servlet Technologies" Home of Db Connection Broker
Java FAQs Daily Tips
JavaForge
Java For U
Javageeks
Java, The Illusion
Java-Linux
java.net "The source for Java technology collaboration"
JavaOne Online
Javapolis
Javaref
WIRED 3.12:The Java Saga - by David Bank Good background piece about Java.
Java Server Faces (JSF) project home
JSF Central
Java Server Pages (JSP)
JavaWorld
Java Tips
Java Tips at Javaworld
Javootoo "javootoo.com is the Look and Feel Source for both Java developers and end-users. "
JBook
jCIFS Implementing CIFS in Java
JConfig class library
JDO Central Java Data Objects
JDocs
JDOM
Jess, the Rule Engine for the Java Platform
Jfree.org Home of JFreeReport and JFreeChart
JGraph
JGuru
Jigsaw overview
The JPackage project
JMX (Java Management eXtensions) tutorial
JRoller Free, Java-powered weblogs
JUnit
Keel Meta Framework
KickJava
JavaLanguage Specification
Lessons Learned Doing Java Programming for my Web Site
Linux Java Tips and Hints Page
Java Lobby
Apache Log4j
Making sense of Java
Maven
Media Programming by Bill Day
MegaMek "a networked Java clone of BattleTech"
Message Driven Beans Tutorial
Middlegen
Mining Co. Focus on Java
MyCGIServer Free application deployment
Tor Norbye's Weblog
Object Design Home of Objectstore "Database for the Web"
Oracle Business Components for Java
(EJB)
Oracle SQLJ and JDBC
OpenCMS Open Source Website Content Management System
OSS through Java Initiative
package gnu.regexp; Regular expressions for Java
Patterns Central
Piccolo "Welcome to Piccolo! It is a revolutionary way to create robust, full-featured graphical applications in Java, with striking features such as zooming and multiple representation. Piccolo is an extensive toolkits based on the Java2D API. And best of all, it is free and open source"
PJA (Pure Java AWT) Toolkit
PoolMan Object Pooling Library and JDBC Driver
Portlet Open Source Trading Site
PostgreSQL JDBC Driver Homepage
Processing XML with Java
Online book
Java Programmer Certification Exam And Training
The Java Programmers Source Book
Protomatter open source Java classes
Connection pool, object pool, more.
Java Questions Bank
Java Ranch
RIFE web application framework
The Roller Weblogger
Rules4J rule engine
Separating Java hype from reality
Secrets Of The Masters: Core Java Interview Questions
Serverpages.com"The Resource Directory for Server Side Scripting Technologies"
Servlets.com
JavaSkyline
SpringJava/J2EE application framework
Straight Talking Java mailing list
JakartaStruts
Sun's Java pages
The Swing Connection
Swing Online book
Swing Labs
Tapestry
TheServerSide.com "Your J2EE Community"
Thinking in JavabyBruce Eckel
Thinlet
"Thinlet is a GUI toolkit, a single Java class, parses the hierarchy and properties of the GUI, handles user interaction, and calls business logic. Separates the graphic presentation (described in an XML file) and the application methods (written as Java code)."
JakartaVelocity
Trails
"Trails is a domain driven development framework in the spirit of Ruby on Rails or Naked Objects"
Wicket web application framework
Working with XML
The Java XML Tutorial |
| |
| November 08 2006 |
| Bloggers were invented in 300 AD |
|
| |
| November 08 2006 |
| Hide files in JPEG's |
| 1. Gather your image and the files you wish to lodge into it. Here I have a meeting.txt which which I will slap inside my image_file.jpg
2. Add the text_file.txt (or files) you want to hide into a new RAR archive - text_file.txt.rar
3. Open Command Prompt
4. Go to the folder where your files are located, in this case 'C:\hidden'
5. Type 'copy /b image_file.jpg + text_file.txt.rar image_file_done.jpg' where image_file.jpg is the original picture, text_file.txt.rar is the file to be hidden, and image_file_done.jpg is the file which contains both.
6. Test the JPG by opening it, and verifying it still opens. If it does, try opening the file with WinRar
7. Open the completed RAR file! |
| |
| November 07 2006 |
| Alphabetical list of programming languages |
|
<bigwig> is a high-level programming language for developing interactive
Web services. Complete specifications are compiled into a conglomerate of
lower-level technologies such as HTML, CGI Scripts, JavaScript, HTTP
Authentication, and Java Applets.
The <bigwig> Project
[...] It embodies a rich set of functions and operators, a modern graphical
user interface with many widgets and automatic synchronization of widgets and
variables, asynchronous execution of functions associated with variables and
events, dynamic loading of user compiled subroutines, and many other features.
Execution is by a rather efficient interpreter. A+ was created at Morgan
Stanley. Primarily used in a computationally-intensive business environment,
many critical applications written in A+ have withstood the demands of real
world developers over many years. Written in an interpreted language, A+
applications tend to be portable.
A+: a programming language for actual programmers
ABC is an interactive programming language and
environment for personal computing, originally intended as a good
replacement for BASIC. It was designed by first doing a task analysis of
the programming task.
ABC is easy to learn (an hour or so for someone who has already
programmed), and yet easy to use. Originally intended as a language for
beginners, it has evolved into a powerful tool for beginners and experts
alike.
A Short Introduction to the ABC Language
Ada is a computer programming language originally designed to support
the construction of long-lived, highly reliable software systems. Its
design emphasizes readability, avoids error-prone notation, encourages
reuse and team coordination, and it is designed to be
efficiently implementable.
A significant advantage of Ada is its reduction of debugging time. Ada
tries to catch as many errors as reasonably possible, as early as
possible. Many errors are caught at compile-time by Ada that aren't
caught or are caught much later by other computer languages. Ada
programs also catch many errors at run-time if they can't be caught at
compile-time (this checking can be turned off to improve performance
if desired). In addition, Ada includes a problem (exception) handling
mechanism so that these problems can be dealt with at run-time.
The Home of the Brave Ada Programmers, AdaPower.com
Tool for creating interactive fiction. Alan has focused more on the authoring
aspects than on the programming.
The Alan Home Pages
ALF is a language which combines functional and logic programming
techniques. The foundation of ALF is Horn clause logic with equality which
consists of predicates and Horn clauses for logic programming, and functions
and equations for functional programming.
The ALF System
The youngest, and probably the most influental of the three big, classic
languages. (The other two being Lisp and Fortran.)
Open Directory's entry on Algol
ALLOY is a higher level parallel programming language appropriate
for programming massively parallel computing systems. It is based
on a combination of ideas from functional, object oriented and logic
programming languages.
Alloy resources at ftp.funet.fi
E is a powerful and flexible object oriented / procedural / unpure
functional higher programming language, mainly influenced by languages such
as C++, Ada, Lisp etc., and Amiga E a very fast compiler for it, with
features such as speed of >20000 lines/minute on a 7 Mhz amiga, inline
assembler and linker integrated into compiler, large set of integrated
functions, great module concept with v40 includes as modules, flexible
type-system, quoted expressions, immediate and typed lists, parametric and
inclusion polymorphism, exception handling, inheritance, data-hiding,
methods, multiple return values, default arguments, register allocation,
fast memory management, unification, LISP-Cells, gui-toolkit, (macro-)
preprocessor, very intuitive and powerful source-level debugger, easy
.library linking, and much more...
Amiga E on the Web
A comprehensive and powerful algebraic modeling language for
inear and nonlinear optimization problems, in discrete or continuous
variables.
AMPL Modeling language for Mathematical programming
Array Processing Language.
APL FAQ at University of Waterloo
awk is a programming language, named after its three original authors:
- Alfred V. Aho
- Brian W. Kernighan
- Peter J. Weinberger
they write:
"Awk is a convenient and expressive programming language that can be
applied to a wide variety of computing and data-manipulation tasks."
The GNU Awk User's Guide
B is a computer language intended for recursive, primarily non-numeric applications typified by system programming.
User's Reference to B
BASIC (standing for Beginner's All Purpose Symbolic Instruction
Code) is a system developed at Dartmouth College in 1964 under the
directory of J. Kemeny and T. Kurtz. It was implemented for the
G.E.225. It was meant to be a very simple language to learn and also
one that would be easy to translate. Furthermore, the designers wished
it to be a stepping-stone for students to learn on of the more powerful
languages such as FORTRAN or ALGOL.
The BASIC Archives, XST
BCPL is a simple typeless language that was designed in 1966 by Martin Richards
and implemented for the first time at MIT in the Spring of 1967.
BCPL, Martin Richards's BCPL Reference Manual, 1967
Object-oriented programming originated with the Simula language
developed by Kristen Nygaard in Oslo in the 1960s. Since then, OOP has achieved
great prominence with the commercial success of C++, Smalltalk, and Eiffel.
Now, from the birthplace of OOP, comes the new BETA programming language, for
which this book is both tutorial and reference. It provides a clear
introduction to the basic concepts of OOP and an easy learning curve from
simple programs to more advanced applications in BETA for students and
programmers.
The BETA Home Page
Rather low level language used, among other things, in the development
of VMS.
BLISS Language Reference Manual
Blue is an object-oriented programming language that was developed especially
for teaching. It runs in an integrated programming enviroment that includes
a graphical program structure editor, a text editor, a debugger, a library
browser, and more. It was developed for teaching ob[j]ect-oriented concepts
to first-year students.
The Blue Page - Teaching Object Oriented Programming
Business Rules! is the progeny of Workstation Basic. It will still support
legacy applications and still maintains the emphasis on using minimal system
resources that was so important early on. It has grown to incorporate many new
technologies including advanced indexing, the ability to access
platform-dependant devices directly with generic syntax calls, output spooling,
externalization of functions (libraries), many platform-independent commands
that mimic O.S. commands, Windows compatibility features and functionality, and
much more.
Business Rules!
According to The New Hacker's Dictionary:
C /n./
1. The third letter of the English alphabet. 2. ASCII 1000011. 3. The
name of a programming language designed by Dennis Ritchie during
the early 1970s and immediately used to reimplement Unix; so called
because many features derived from an earlier compiler named `B' in
commemoration of its parent, BCPL. (BCPL was in turn descended from an
earlier Algol-derived language, CPL.) Before Bjarne Stroustrup settled
the question by designing C++, there was a humorous debate over whether
C's successor should be named `D' or `P'. C became immensely popular
outside Bell Labs after about 1980 and is now the dominant language in
systems and microcomputer applications programming. See also languages
of choice, indent style.
C is often described, with a mixture of fondness and disdain varying
according to the speaker, as "a language that combines all the
elegance and power of assembly language with all the readability and
maintainability of assembly language".
C Resources on the web
An extension to the C language developed primarily by
B.Stroustrup at AT&T Bell Laboratories: it supports object-oriented
programming among other enhancements.
WWW C++ Information
Cecil is a purely object-oriented language intended to support rapid
construction of high-quality, extensible software. Cecil incorporates
multi-methods, a simple prototype-based object model, a mechanism to support a
structured form of computed inheritance, module-based encapsulation, and a
flexible static type system which allows statically- and dynamically-typed code
to mix freely.
UW Cecil/Vortex Project
Centum is an interpreted language that is intended to make it easy to
express algorithms in, and is a hybrid between functional programming
and object oriented programming.
Centum
Charity is functional in style. That is, programmers familiar with declarative
paradigms (functional and logic programmers) should find Charity easy to grasp.
Charity is based on the theory of strong categorical datatypes. These are
divided into two subclasses: the inductive datatypes (built up by constructors
in the familiar way) and the coinductive datatypes (broken down by
destructors). Programs over these datatypes are expressed by folds
(catamorphisms) and by unfolds (anamorphisms), respectively.
CHARITY - Home Page
CHILL (CCITT High Level Language) is a general procedural programming
language which is mainly used in the field of telecommunications. As a general
programming language it is by no means limited to this field. A number of CHILL
programming environments are also implemented in CHILL.
CHILL Homepage
CLAIRE is a high-level functional and object-oriented language with
advanced rule processing capabilities. It is intended to allow the programmer
to express complex algorithms with fewer lines and in an elegant and readable
manner.
CLAIRE - The Art of Elegant Programming
Lazy functional language.
Clean Homepage
COmmon Business Oriented Language. Sometimes referred to as a
subset of english, rather than a programming language.
Kobol, Fujitsu COBOL, Flexus COBOL
COMon Algorithmic Language. Originally intended as a language for beginners.
A language similar to BASIC with Pascal-like structure.
UniComal
This language is designed for modeling concurrency and advanced
computation. It provides lazy evaluation in multithreating[sic] programs,
with object-oriented and functional style of semanthic.
CORN Programming language
The cT programming language is an algorithmic language like C, Pascal,
Fortran, and Basic, but greatly enhanced by multimedia capabilities, including
easy-to-use support for color graphics, mouse interactions, and even movies in
QuickTime or Video for Windows format.
The cT Programming Language Archives
An evolutionary language that fuses parts of C,C++ and Java.
The D Programming Language, Book about D, D programming reference, D frontend for GCC, D compiler
«DIGITAL Command Language.» Used as the equivalent of a shell on
the VMS operating system.
OpenVMS Documentation
Dylan is a general-purpose high-level programming language, designed for
use both in application and systems programming. Dylan includes garbage
collection, run-time type checking, selective dynamism, error recovery,
and a module system. These features simplify programming and support
attractive debugging and development tools.
Gwydion Dylan
[...] secure distributed object platform and scripting language for writing
Capability-Based Smart Contracts.
ERights.Org
Eiffel is an advanced object-oriented programming language that
emphasizes the design and construction of high-quality and reusable
software.
SmallEiffel The GNU Eiffel Compiler
elastiC is a portable high-level object-oriented interpreted language with a C
like syntax.
elastiC World
Elf is a constraint logic programming language based on the LF Logical
Framework. [...] Elf is a uniform meta-language for specifying, implementing,
and proving properties of programming languages and logics.
The Elf Meta-Language
Erlang System/OTP is a platform-independent development environment as well as
a runtime platform pioneered by Ericsson [...]
Erlang Systems, Erlang
Euphoria is a simple, flexible, and easy-to-learn programming language.
It lets you quickly and easily develop programs for DOS and Windows. A Linux
version is coming soon. [...] Although Euphoria provides subscript checking,
uninitialized variable checking and numerous other run-time checks, it is
extremely fast. People have used it to develop high-speed 32-bit DOS games, as
well as 32-bit Windows programs.
The Official Euphoria Programming Page
Felix is new, high power, Open Source, community based programming
language which provides an ML style type system with a syntax that C++
programmers should find easy to learn. It generates C++ and supports
both use of C++ types as primitives, as well as embedding in existing
C++ written architectures in a natural manner.
Felix
ferite is a scripting language and engine all in one managable chunk. It
is designed to be easily extended in terms of API, and to be used within other
applications making them more configurable and useful to the end user. It has a
syntax similiar to a number of other langauges but remains clean and it's own
language. [The description from the Debian package mentions Perl, Python, C,
Java and Pascal as influences.]
ferite.org
Forth provides an interactive programming environment. Its primary
uses have been in scientific and industrial applications such as
instrumentation, robotics, process control, graphics and image
processing, artificial intelligence and business applications. The
principal advantages of Forth include rapid, interactive software
development and efficient use of computer hardware.
Forth is often spoken of as a language because that is its most visible
aspect. But in fact, Forth is both more and less than a conventional
programming language: more in that all the capabilities normally
associated with a large portfolio of separate programs (compilers,
editors, etc.) are included within its range and less in that it lacks
(deliberately) the complex syntax characteristic of most high-level
languages.
Forth Information on Taygeta, The ForthFreak wiki
One of the widely used, early languages. Big in number crunching programming.
Fortran related links
Sun's attempt at a new HPC language.
Links "The Fortress Language Spec v0.618"
Fuzzy Relational Inference Language. Logic programming language closely
related to Prolog, but adds fuzzy logic features.
Fril - Downloadable resources
GNU E is a persistent, object oriented programming language developed as part
of the Exodus project. GNU E extends C++ with the notion of persistent data,
program level data objects that can be transparently used across multiple
executions of a program, or multiple programs, without explicit input and
output operations.
GNU E at ftp.cs.wisc.edu
Guile is an interpreter for the Scheme programming language, nicely packaged as
a library you can link into your programs. Your program has full access to the
interpreter's data structures, so you can extend Guile with your own
primitives, datatypes and syntax. The result is a scripting language tailored
to your application.
Guile
Gödel is a declarative, general-purpose programming language in the family of
logic programming languages. It is a strongly typed language, the type system
being based on many-sorted logic with parametric polymorphism. It has a module
system. Gödel supports infinite precision integers, infinite precision
rationals, and also floating-point numbers. It can solve constraints over
finite domains of integers and also linear rational constraints. It supports
processing of finite sets. It also has a flexible computation rule and a
pruning operator which generalises the commit of the concurrent logic
programming languages. Considerable emphasis is placed on Gödel's meta-logical
facilities which provide significant support for meta-programs that do
analysis, transformation, compilation, verification, debugging, and so on.
The Gödel Programming Language
Haskell is a `purely functional' language. Computation proceeds by
replacing expressions with their value. While all computer languages
incorporate functions to some degree, Haskell programs are composed
solely of functions. Haskell is based on lambda calculus, hence the l we
use as a logo. The language is named for the logician Haskell B. Curry,
whose work provided much of the logical basis for our language.
Haskell
Hugo is a text adventure compiler and runtime engine, written by Kent Tessman.
ftp://ftp.gmd.de/if-archive/programming/hugo/
ICI is a programming language with a dynamic, object based data model with
the flow control constructs and operators of C. It is designed for use in
many environments, including embedded systems, as an adjunct to other
programs and as a text based interface to compiled libraries.
ICI at ftp.ntua.gr
Icon is a high-level, general-purpose programming language with a large
repertoire of features for processing data structures and character
strings. Icon is an imperative, procedural language with a syntax
reminiscent of C and Pascal, but with semantics at a much higher level.
The Icon Programming Language
A design system for interactive fiction.
Inform, ftp://ftp.gmd.de/if-archive/programming/
J is a very high level general-purpose language, with a strong emphasis
on functional programming and array processing. J was designed and
developed by Ken Iverson and Roger Hui, and implemented by Iverson
Software Inc (ISI).
J is distinguished by its simple and consistent rules, a large set of
built-in functions, powerful facilities for defining new operations, and
a general and systematic treatment of arrays. It is ideal for complex
analytical work, modelling, and rapid application development.
J Software
«Object-Oriented Programming for the Internet.»
JavaSoft Home Page
The language Joy is a purely functional programming language. Whereas all other
functional programming languages are based on the application of functions to
arguments, Joy is based on the composition of functions. All such functions
take a stack as argument and produce a stack as value. Consequently much of Joy
looks like ordinary postfix notation.
Main page for the programming language JOY
Kx Systems describes K as an application development kit integrating
- a concise language with powerful primitives and math notations
- a high performance data engine for bulk objects
- a graphical user interface
- built-in memory management
- interprocess communications
- web-server capabilities
- connectivity features
Kx Systems
NI LabVIEW is the graphical development environment for creating
flexible and scalable test, measurement, and control applications
rapidly and at minimal cost. With LabVIEW, engineers and scientists
interface with real-world signals, analyze data for meaningful
information, and share results and applications. Regardless of
experience, LabVIEW makes development fast and easy for all users.
National Instruments LabVIEW page
an experimental object-oriented rapid application development (RAD)
language with parameterized ("virtual") types, refactoring and component
support, which replaces text editors completely by structure editors
LavaPE: The Object- and Component-Oriented Lava Program Development Environment
LIFE (Logic, Inheritance, Functions, and Equations) is an experimental
programming language proposing to integrate three orthogonal programming
paradigms proven useful for symbolic computation. From the programmer's
standpoint, it may be perceived as a language taking after logic programming,
functional programming, and object-oriented programming. From a formal
perspective, it may be seen as an instance (or rather, a composition of three
instances) of a Constraint Logic Programming scheme due to Hoehfeld and Smolka
refining that of Jaffar and Lassez.
CLiki for the TUNES project: LIFE entry
Limbo is a programming language intended for applications running distributed
systems on small computers. It supports modular programming, strong type
checking at compile- and run-time, interprocess communication over typed
channels, automatic garbage collection, and simple abstract data types. It is
designed for safe execution even on small machines without hardware memory
protection.
The Limbo Programming Language
Lingo is a high level Windows programming language with automatic memory
management, simple class structure, large library, working example
programs, developer environment, dialog editor, compiler and debugger.
[...] Lingo has been under development for about 10 years.
Learn to Program with Lingo!
According to The New Hacker's Dictionary:
LISP /n./
[from `LISt Processing language', but mythically from `Lots of
Irritating Superfluous Parentheses'] AI's mother tongue, a language
based on the ideas of (a) variable-length lists and trees as
fundamental data types, and (b) the interpretation of code as
data and vice-versa. Invented by John McCarthy at MIT in the late
1950s, it is actually older than any other HLL still in use except
FORTRAN. Accordingly, it has undergone considerable adaptive radiation
over the years; modern variants are quite different in detail from the
original LISP 1.5. The dominant HLL among hackers until the early 1980s,
LISP now shares the throne with C.
Note: HLL is an acronym for "High-Level Language" (as opposed to for
instance assembler).
Common Lisp the Language, 2nd Edition
Logo is a computer programming language designed for use by learners,
including children. One of the ideas guiding its creation was the
principle "low floor, high ceiling." This means that it should be easy
for the novice programmer to get started (the "low floor") writing
programs and getting satisfaction doing so, but that the language should
be powerful and extensive in a "sky is the limit" sort of way (the "high
ceiling").
LOGO computer programming language for learners
Lua is a programming language originally designed for extending applications,
but also frequently used as a general-purpose, stand-alone language. Lua
combines simple procedural syntax (similar to Pascal) with powerful data
description constructs based on associative arrays and extensible semantics.
Lua is dynamically typed, interpreted from bytecodes, and has automatic memory
management with garbage collection, making it ideal for configuration,
scripting, and rapid prototyping.
The Programming Language Lua
MATLAB is an intuitive language and a technical computing environment. It
provides core mathematics and advanced graphical tools for data analysis,
visualization, and algorithm and application development.
The MathWorks: Developers of MATLAB
MC# - is a high-level object oriented programming language based on .NET
Platform created specially for developing complex industrial program
systems that could use multiprocessor architectures. It's an adaptation
of the base idea of Polyphonic C# language (nowadays also known as
Cdelta - Benton N., Cardelli L., Fournet C., Microsoft Research
Laboratory, Cambridge, UK) for the case when we have concurrent
distributed computations. This language has taken the best ideas from
languages: C#, Polyphonic C# (nowadays known as C-Omega or C# 3.0) and
T-System (T++ language).
MC# Home page
MCPL is a simple typeless language which is based on BCPL. It makes extensive
use of pattern matching somewhat related to that used in ML and Prolog, and
some other features come from C.
MCPL
Mercury is a new logic/functional programming language, which combines the
clarity and expressiveness of declarative programming with advanced static
analysis and error detection features. Its highly optimized execution algorithm
delivers efficiency far in excess of existing logic programming systems, and
close to conventional programming systems. Mercury addresses the problems of
large-scale program development, allowing modularity, separate compilation, and
numerous optimization/time trade-offs.
The Mercury home page
The aim of the Miranda system is to provide a modern functional language,
embedded in an `industrial quality' programming environment. It is now
being used at a growing number of sites for teaching functional programming and
as a vehicle for the rapid prototyping of software.
The Miranda Programming Language
ML (which stands for Meta-Language) is a family of advanced programming
languages with [usually] functional control structures, strict
semantics, a strict polymorphic type system, and parametrized
modules. It includes Standard ML, Lazy ML, CAML, CAML Light, and various
research languages. Implementations are available on many platforms,
including PCs, mainframes, most models of workstation, multi-processors
and supercomputers. ML has many thousands of users, is taught at many
universities (and is the first programming language taught at some).
A Gentle Introduction to ML
Modula-2 is a programming notation that corrects some of the
deficiencies of Pascal. It is suitable for learning programming, for
large projects written and maintained in the fashion of professional
software engineers, and for real time embedded systems.
A FAQ on Modula-2
Modula-3 is a member of the Pascal family of languages. Designed
in the late 1980s at Digital Equipment Corporation and Olivetti,
Modula-3 corrects many of the deficiencies of Pascal and Modula-2 for
practical software engineering. In particular, Modula-3 keeps the
simplicity of type safety of the earlier languages, while providing
new facilities for exception handling, concurrency, object-oriented
programming, and automatic garbage collection. Modula-3 is both a
practical implementation language for large software projects and an
excellent teaching language.
Modula-3 Home Page, Modula-3 Resource Page
Nemerle is a high-level statically-typed programming language for the
.NET platform. It offers functional, object-oriented and imperative
features. It has a simple C#-like syntax and a powerful meta-programming
system.
Nemerle home page
Multimedia authoring tool.
NeoSoft Corporation
NESL is a parallel language developed at Carnegie Mellon by the SCandAL
project. It integrates various ideas from the theory community (parallel
algorithms), the languages community (functional languages) and the system's
community (many of the implementation techniques). The most important new ideas
behind NESL are
- Nested data parallelism: this feature offers the benefits of data
parallelism, concise code that is easy to understand and debug, while being
well suited for irregular algorithms, such as algorithms on trees, graphs or
sparse matrices [...].
- A language based performance model: this gives a formal way to calculated
the work and depth of a program. These measures can be related to running
time on parallel machines.
NESL: A Parallel Programming Language
NetRexx is a new human-oriented programming language, designed as an
effective and simple alternative to the Java language. With NetRexx, you
can create programs and applets for the Java environment faster and more
easily than by programming in Java. Using Java classes is especially
easy in NetRexx, as the different types of numbers and strings that Java
expects are handled automatically by the language.
Inspired by two very different programming languages, Rexx and Java,
NetRexx blends the easy-to-learn syntax of Rexx with the robustness and
portability of the Java environment. The result is a language which is
tuned for both scripting and application development, and is therefore
truly general-purpose.
NetRexx at IBM
Oberon-2 is a general-purpose programming language in the tradit ion of
Pascal and Modula-2. Its most important features are block structure,
modularity, separate compilation, static typing with strong type
checking (also across module boundaries), and type extension with
type-bound procedures.Type extension makes Oberon-2 an object-oriented
language.
Optimizing Oberon-2 Compiler
Objective-C was designed by Brad J. Cox, whose primary purpose was to add
the main features of SmallTalk-80 to the C language. His work led to an
object-oriented language, with a complete programming enviroment inspired
by SmallTalk-80, even comprising a large part of the later's basic library.
comp.lang.objective-c Newsgroup FAQs
Obliq is a lexically-scoped untyped interpreted language that supports
distributed object-oriented computation. An Obliq computation may involve
multiple threads of control within an address space, multiple address spaces on
a machine, heterogeneous machines over a local network, and multiple networks
over the Internet. Obliq objects have state and are local to a site. Obliq
computations can roam over the network, while maintaining network connections.
Obliq Quick Start
A programming language which facilitates writing parallel programs,
allowing the programmer to specify whether processes are to be executed
sequentially or in parallel. Based on CSP, it was originally developed
for the Transputer.
The Occam Archive
GNU Octave is a high-level language, primarily intended for numerical
computations. It provides a convenient command line interface for solving
linear and nonlinear problems numerically, and for performing other numerical
experiments using a language that is mostly compatible with Matlab. It may also
be used as a batch-oriented language.
Octave Home Page
[...] a concurrent object-oriented language with dataflow synchronization. Oz
combines concurrent and distributed programming with logical constraint-based
inference, [...]
The Mozart Programming System
PASCAL is a programming language named after the 17th century
mathematican Blaise Pascal. Pascal
- provides a teaching language that highlights concepts common to all
computer languages
- standardises the language in such a way that it makes programs easy
to write
Strict rules make it difficult for the programmer to write bad code!
Pascal Programming
Perl is an interpreted language optimized for scanning arbitrary text
files, extracting information from those text files, and printing
reports based on that information. It's also a good language for many
system management tasks. The language is intended to be practical (easy
to use, efficient, complete) rather than beautiful (tiny, elegant,
minimal). It combines (in the author's opinion, anyway) some of the best
features of C, sed, awk, and sh, so people familiar with those languages
should have little difficulty with it.
The Perl Language Home Page
Phantom is a new interpreted language designed to address some of the
problems presented by large-scale, interactive, distributed applications
such as distributed conferencing systems, multi-player games, and
collaborative work tools. Phantom combines the distributed lexical
scoping semantics of Obliq with a substantial language core.
Phantom Home Page
PHP Version 3.0 is an HTML-embedded scripting language. Much of its syntax is
borrowed from C, Java and Perl with a couple of unique PHP-specific features
thrown in. The goal of the language is to allow web developers to write
dynamically generated pages quickly.
PHP: Hypertext Preprocessor
Pike is a dynamic language with a syntax that looks like C. It is simple
to learn, doesn't need long compilation passes and has powerful builtin
data types that allows simple and fast data manipulation. Pike is GPL
which means that anybody can fetch if for free and use it for almost any
purpose they please.
Pike
PiXCL (PIxel-based eXtendable Command Language) is a [...]
Windows scripting language that includes a large set of image processing
commands and a TWAIN-device command set. It is intended to be used to
quickly create image acquisition, display and processing applications.
Includes string, integer, float, integer64 and double variable types and
arrays. Comes in three versions: FreePiXCL (unrestricted, earlier demo
version with 560 functions), PiXCL (700+ functions) and geoPiXCL (50+ extra
image processing and analysis functions). All versions include an EXE
compiler.
VYSOR Integration Inc
The PL/B programming language, which was originally developed in 1972 as
DATABUS(R), is currently the primary business programming language for over
250,000 workstations in over 40 countries and is supported by at least nine
independent compiler companies on a broad range of hardware and operating
systems.
PL/B supports highly interactive business application programming in individual
and shared network environments. It has been developed to be easily learned in
shorter time frames and by less experienced personnel than a majority of other
standard languages. The language structure lends itself not only to easy code
generation, but also to easy automated code analysis and reengineering which
J15 feels are important considerations for future business programming
environments.
Note: J15 is the technical committee for the development of the ANSI standard
for PL/B.
J15 - Programming Language PL/B
PL/I is a general-purpose programming language, which is used for
solving problems in a variety of fields such as commerce, science
(including mathematics, physics, chemistry), engineering (incl. civil,
electrical, aeronautics), medicine and so on. It can be used for
system programming, and the facilitites are such that it is rarely if
ever necessary to resort to machine-language or high-level language
programming to solve problems.
PL/I resources
It's a bit difficult to describe what Pliant is, since it is more a new
generation of language than an improvement in a given programming language
family. The main idea behind Pliant: instead of building a slightly new
language that has a few new interresting features, build a newer, very tiny
language with a very simple syntax, where most advanced features can be written
in the language itself, as modules.
Introduction to Pliant Programming Language
PostScript is a programming language optimized for printing graphics
and text (whether on paper, film, or CRT is immaterial). In the jargon
of the day, it is a page description language. It was introduced
by Adobe in 1985 and first (to my knowledge) appeared in the Apple
LaserWriter. The main purpose of PostScript was to provide a convenient
language in which to describe images in a device independent
manner. This device independence means that the image is described
without reference to any specific device features (e.g. printer
resolution) so that the same description could be used on any PostScript
printer (say, a LaserWriter or a Linotron) without modification.
A First Guide to Postscript
PROgrammation en LOGique. Designed originally for natural-language processing.
Prolog Resource Guide
Python is an interpreted, interactive, object-oriented programming
language. It is often compared to Tcl, Perl, Scheme or Java.
Python combines remarkable power with very clear syntax. It has modules,
classes, exceptions, very high level dynamic data types, and dynamic
typing. There are interfaces to many system calls and libraries,
as well as to various windowing systems (X11, Motif, Tk, Mac, MFC,
Gtk, Qt). New built-in modules are easily written in in C or C++. Python
is also usable as an extension language for applications that need a
programmable interface.
Python Language Home Page
An Equational Programming Language. Q is a functional programming language
based on term rewriting. Thus, a Q program or "script" is simply a
collection of equations which are used to evaluate expressions in a
symbolic fashion.
Sourceforge, Encyklopedic article, "This document describes the Q programming language and system, version 4.5, 14 October 2003. Written by Albert Gräf, University of Mainz."
R, also known as `GNU S', is a system for statistical computation and graphics.
It consists of a language plus a run-time environment with graphics, a
debugger, access to certain system functions, and the ability to run programs
stored in script files. R implements a language which is not entirely unlike
the S language developed at AT&T Bell Laboratories by Rick Becker, John
Chambers and Allan Wilks. Indeed in the absence of an R manual, you can
(mostly) get along by using the S manual.
The R Project for Statistical Computing
REBOL Is...
In general terms, REBOL is a small, flexible language for sharing
content (documents, databases, programs, multimedia) between people,
computers, processes, and networks.
In technical terms, REBOL is a distributed object language which
interprets symbolic, dynamically-scoped, relational environments. (You
wanted to know... [...])
Home of the REBOL Language
Rexx is a procedural programming language that allows programs
and algorithms to be written in a clear and structured way. It is
easy to use by experts and casual users alike. Rexx has been designed
to make easy the manipulation of the kinds of symbolic objects that
people normally deal with such as words and numbers. Although Rexx has
the capability to issue commands to its host environment and to call
programs and functions written in other languages, Rexx is also designed
to be independent of its supporting system software when such commands
are kept to a minimum.
Ian's Rexx title page, Rexx Language Association website
RPG (Report Program Generator) is a programming language that originated as a
report-building program used in DEC and IBM minicomputer operating systems and
evolved into a fully procedural programming language. Its latest version, RPG
III, is supported by IBM's leading minicomputer system, the AS/400.
Historically, RPG has probably been the second most used programming language,
after COBOL, for commercial applications on mid-range computers.
Who Knew You Could Do That with RPG IV?
A descendant of Reverse Polish Lisp, obviously. Intended for symbolic and
scientific computation. Almost fully compatible with RPL on HP-28S.
RPL/2
Ruby is the interpreted scripting language for quick and easy object-oriented
programming. It has many features to process text files and to do system
management tasks (as in perl).
Ruby Home Page
S is a very high level language and an environment for data analysis and
graphics. S was written by Richard A. Becker, John M. Chambers, and Allan R.
Wilks of AT&T Bell Laboratories Statistics Research Department. More
recently, other Bell Labs researchers have made major contributions to a new
modeling capability in S. The S language is the form in which S users express
their computations. The environment provides facilities for data management,
support for many graphics devices, etc. S is useful for computation in a wide
range of applications. It's a very general tool, so that applications are not
restricted to any particular subject area.
A Guide to the S Language
Sather is an object oriented language designed to be simple, efficient,
safe, flexible and non-proprietary. One way of placing it in the "space
of languages" is to say that it aims to be as efficient as C, C++, or
Fortran, as elegant as and safer than Eiffel, and support higher-order
functions and iteration abstraction as well as Common Lisp, CLU or
Scheme.
Sather home page
Scheme is a statically scoped and properly tail-recursive
dialect of the Lisp programming language invented by Guy Lewis Steele
Jr. and Gerald Jay Sussman. It was designed to have an exceptionally
clear and simple semantics and few different ways to form expressions. A
wide variety of programming paradigms, including imperative, functional,
and message passing styles, find convenient expression in Scheme.
Scheme
Designed for expressive power and malleability, Self combines
a pure, prototype-based object model with uniform access to state and
behavior. Unlike other languages, Self allows objects to inherit state
and to change their patterns of inheritance dynamically.
The Self Project
SET Language. One of the few languages with sets as a
basic data type.
/pub/languages/setl2 at cs.nyu.edu, Programming with Sets
SIMULA is an object-oriented programming language. It has been applied to
almost all kinds of data processing.
The language was defined in 1967 in the "SIMULA Common Base Language". The
language definition has been maintained by the SIMULA Standards Group (SSG),
and the latest definition is found in the "SIMULA Standard", adopted by the SSG
in 1986.
SIMULA has been implemented on almost all types of computers, ranging from
large mainframes to workstations and PC's.
Simula history
A High Performance, Portable, Parallel Programming Language.
Sisal Lives
An early object-oriented language that arguably takes the idea of OO to
an extreme. Designed to be extremely easily usable.
www.smalltalk.org Main Page
SNOBOL is a special purposed language developed to provide a powerful means of
doing character string manipulation. Accordingly SNOBOL has a collection of
powerful operations for doing string pattern matchings. The most common early
application of SNOBOL was to write text editors.
The SNOBOL Programming Language, SNOBOL LANGUAGE WEB PAGE
SR (Synchronizing Resources) is a language for writing concurrent
programs. The main language constructs are resources and
operations. Resources encapsulate processes and variables they share;
operations provide the primary mechanism for process interaction. SR
provides a novel integration of the mechanisms for invoking and
servicing operations. Consequently, all of local and remote procedure
call, rendezvous, message passing, dynamic process creation, multicast,
and semaphores are supported. SR also supports shared global variables
and operations.
The SR Programming Language
TADS stands for "Text Adventure Development System".
ftp://ftp.gmd.de/if-archive/programming/tads/
Tcl (Tool Command Language; pronounce "tickle") is a string-based
scripting language and an interpreter for that language that is designed
to be easy to embed in other applications.
Tcl Developer Site
Some of Theta's features are:
- Separate type and class hierarchies.
- Multiple super-types
- Single inheritance
- Constrained parametric polymorphism
- Subtype polymorphism
Theta
An object oriented language derived from C. The language promotes usability, as
opposed to reusability.
TOM
The Turing family of programming languages feature an easy to learn syntax that
provides strong error checking to make programming easier. They include all of
Pascal's features and more. While Turing is a completely "safe" language,
providing no direct access to the hardware, it's extension, Object Oriented
Turing, includes concurrency, exception handling, objects, classes and
inheritance, and systems programming language features; it is an alternative to
languages like C and Modula.
Turing and Object Oriented Turing Home Page
Visual Basic was originally thought of as a replacement for the Windows
shell, using insertable third party objects as components in the user
interface. Microsoft bought the rights to the idea from Alan Cooper in
1988, and replaced the crude scripting language with a modified version
of their QuickBasic, making it a programming language with a visual UI
designer. The commercial product was released in 1992.
Visual Basic Instinct
WinBatch is an easy-to-use yet very powerful programming tool - capable of
automating any task involving Windows. Use it for simple tasks like
connecting PC's to network servers, printing batch jobs out at odd hours,
and much more.
- Control for every Windows PC
- Macros for every purpose
- Works from desktop to Internet
At the heart of WinBatch is our Windows Interface Language (WIL). It's a
high-level programming language for automating Windows; hundreds of
Windows tasks are pre-coded for you. Operations that require pages of code
in other programming languages are just a single function call in WinBatch.
Winbatch, the Batch Language for Windows
The Yorick programming language includes scientific visualization functions
(with output to your screen, PostScript, or binary CGM), text and binary I/O
functions for reading and writing numbers by the millions, and basic linear
algebra functions adapted from the LAPACK library.
Yorick
ZPL is a new array programming language designed from first principles for fast
execution on both sequential and parallel computers. [...] Users with
scientific computing experience can generally learn ZPL in a few hours. Those
who have used MATLAB or Fortran 90 may already be acquainted with array
programming style.
The ZPL Parallell Programming Language
Comment to let me know if I need to add anymore
Thanks for stopping
|
| |
| November 18 2006 |
| Six word stories for geeks |
| There is something about extreme brevity in the use of language that appeals to me. I suspect it comes from decades of fighting with command line interfaces of computer systems. How can I get this infernal machine to do complicated stuff using just a small number of commands? Anyone who keeps that question in their head for enough years becomes attracted to the arts of extreme brevity in language.
From time to time, a meme breaks out in which extreme brevity techniques are used to summarize well-known books and films or to create a yet-to-be-created book/film in a few words. Some years ago, I remember reading this great example which captures the magnum opus known as the Lord of the Rings in just 11 words:
"Short guy throws magic ring into volcano. Local lay-about becomes king." [1]
In the last while, the concept of a six word story has caught a wave [2]. Create a short story using exactly six words. It is hard to beat Ernest Hemingway's fantastic: "For sale: baby shoes, never worn.". Eileen Gunn has written a nice geek-centric one that I quite like: " Computer, did we bring batteries? Computer?" [3].
Eileen's six word story got me thinking about taking our interactions with computer systems and using them to tell a story of sorts. I have thought of three so far. The first is entitled "Existential Angst Of a Sys Admin" and it goes likes this:
who am I
rm -rf ~/*
The commands will run on most Unix machines but I would not advise it.
The second is not directly executable as it involves working with a possibly graphical application interface. It is entitled "Ode to writer's block" and it goes like this:
Edit. File Exit. Abandon Changes. Repeat.
My final contribution is entitled "Becoming a father changes everything" and it goes like this:
mv my_stuff /my_family/dads_stuff
ping cigars.com
No foray into the world of geeky brevity would be complete without referencing the phenomenon of Perl Poetry. I have purloined a personal favorite from that genre and edited it to suit my purposes to end this week's article. The piece is entitled "Jet lagged article writer" and it goes like this:
think, write, think,
do review (each word) if time.
close article. sleep? what's that?
|
| |
| November 06 2006 |
| GOD created the Bit and the Byte |
| 1. In the beginning GOD created the Bit and the Byte. And from those he created the Word.
2. And there were two Bytes in the Word; and nothing else existed. And God separated the One from the Zero; and he saw it was good.
3. And God said - Let the Data be; And so it happened. And God said - Let the Data go to their proper places. And he created floppy disks and hard disks and compact disks.
4. And God said - Let the computers be, so there would be a place to put floppy disks and hard disks and compact disks. Thus God created computers and called them hardware.
5. And there was no Software yet. But God created programs; small and big... And told them - Go and multiply yourselves and fill all the Memory.
6. And God said -I will create the Programmer; And the Programmer will make new programs and govern over the computers and programs and Data.
7. And God created the Programmer; and put him at Data Center; And God showed the Programmer the Catalog Tree and said You can use all the volumes and subvolumes but DO NOT USE Windows.
8. And God said - It is not Good for the programmer to be alone. He took a bone from the Programmer's body and created a creature that would look up at the Programmer; and admire the Programmer; and love the things the Programmer does; and God called the creature: the
User.
9. And the Programmer and the User were left under the naked DOS and it was Good.
10. But Bill was smarter than all the other creatures of God. And Bill said to the User - Did God really tell you not to run any programs?
11. And the User answered - God told us that we can use every program and every piece of Data but told us not to run Windows or we will die.
12. And Bill said to the User - How can you talk about something you did not even try. The moment you run Windows you will become equal to God. You will be able to create anything you like by a simple click of your mouse.
13. And the User saw that the fruits of the Windows were nicer and easier to use. And the User saw that any knowledge was useless - since Windows could replace it.
14. So the User installed the Windows on his computer; and said to the Programmers that it was good.
15. And the Programmer immediately started to look for new drivers. And God asked him - What are you looking for? And the Programmer answered - I am looking for new drivers because I can not find them in the DOS. And God said - Who told you need drivers? Did you run Windows? And the Programmer said - It was Bill who told us to!
16. And God said to Bill - Because of what you did you will be hated by all the creatures. And the User will always be unhappy with you. And you will always sell Windows.
17. And God said to the User - Because of what you did, the Windows will disappoint you and eat up all your Resources; and you will have to use lousy programs; and you will always rely on the Programmers help.
18. And God said to the Programmer - Because you listened to the User you will never be happy. All your programs will have errors and you will have to fix them and fix them to the end of time.
19. And God threw them out of the Data Center and locked the door and secured it with a 999-bytes password.
20. GENERAL PROTECTION FAULT |
| |
| November 06 2006 |
| 25 Explanations by Programmers when their programs don't work. |
| 1. Strange...
2. I've never heard about that.
3. It did work yesterday.
4. Well, the program needs some fixing.
5. How is this possible?
6. The machine seems to be broken.
7. Has the operating system been updated?
8. The user has made an error again.
9. There is something wrong in your test data.
10. I have not touched that module!
11. Yes yes, it will be ready in time.
12. You must have the wrong executable.
13. Oh, it's just a feature.
14. I'm almost ready.
15. Of course, I just have to do these small fixes.
16. It will be done in no time at all.
17. It's just some unlucky coincidense.
18. I can't test everything!
19. THIS can't do THAT.
20. Didn't I fix it already?
21. It's already there, but it has not been tested.
22. It works, but it's not been tested.
23. Somebody must have changed my code.
24. There must be a virus in the application software.
25. Even though it does not work, how does it feel? |
| |
| November 06 2006 |
| A developers cheat sheet |
Databases / SQL Cheat Sheets Language Cheat Sheets
Javascript Version Control Cheat Sheets Framework Cheat Sheets Other cheetsheets |
| |
| November 06 2006 |
| Optimizing C and C++ Code |
| Embedded software often runs on processors with limited computation power, thus optimizing the code becomes a necessity. Here is the optimization techniques for C and C++ code developed for Real-time and Embedded Systems.
1. Adjust structure sizes to power of two
2. Place case labels in narrow range
3. Place frequent case labels first
4. Break big switch statements into nested switches
5. Minimize local variables
6. Declare local variables in the inner most scope
7. Reduce the number of parameters
8. Use references for parameter passing and return value for types bigger than 4 bytes
9. Don't define a return value if not used
10. Consider locality of reference for code and data
11. Prefer int over char and short
12. Define lightweight constructors
13. Prefer initialization over assignment
14. Use constructor initialization lists
15. Do not declare "just in case" virtual functions
16. In-line 1 to 3 line functions
Many techniques discussed here have roots in the material we covered in the articles dealing with C to Assembly translation. A good understanding of the following articles will help:
* C To Assembly Translation
* C To Assembly Translation II
* C To Assembly Translation III
Adjust structure sizes to power of two
When arrays of structures are involved, the compiler performs a multiply by the structure size to perform the array indexing. If the structure size is a power of 2, an expensive multiply operation will be replaced by an inexpensive shift operation. Thus keeping structure sizes aligned to a power of 2 will improve performance in array indexing.
Place case labels in narrow range
If the case labels are in a narrow range, the compiler does not generate a if-else-if cascade for the switch statement. Instead, it generates a jump table of case labels along with manipulating the value of the switch to index the table. This code generated is faster than if-else-if cascade code that is generated in cases where the case labels are far apart. Also, performance of a jump table based switch statement is independent of the number of case entries in switch statement.
Place frequent case labels first
If the case labels are placed far apart, the compiler will generate if-else-if cascaded code with comparing for each case label and jumping to the action for leg on hitting a label match. By placing the frequent case labels first, you can reduce the number of comparisons that will be performed for frequently occurring scenarios. Typically this means that cases corresponding to the success of an operation should be placed before cases of failure handling.
Break big switch statements into nested switches
The previous technique does not work for some compilers as they do not generate the cascade of if-else-if in the order specified in the switch statement. In such cases nested switch statements can be used to get the same effect.
To reduce the number of comparisons being performed, judiciously break big switch statements into nested switches. Put frequently occurring case labels into one switch and keep the rest of case labels into another switch which is the default leg of the first switch.
Splitting a Switch Statement
// This switch statement performs a switch on frequent messages and handles the
// infrequent messages with another switch statement in the default leg of the outer
// switch statement
pMsg = ReceiveMessage();
switch (pMsg->type)
{
case FREQUENT_MSG1:
handleFrequentMsg1();
break;
case FREQUENT_MSG2:
handleFrequentMsg2();
break;
. . .
case FREQUENT_MSGn:
handleFrequentMsgn();
break;
default:
// Nested switch statement for handling infrequent messages.
switch (pMsg->type)
{
case INFREQUENT_MSG1:
handleInfrequentMsg1();
break;
case INFREQUENT_MSG2:
handleInfrequentMsg2();
break;
. . .
case INFREQUENT_MSGm:
handleInfrequentMsgm();
break;
}
}
Minimize local variables
If the number of local variables in a function is less, the compiler will be able to fit them into registers. Hence, it will be avoiding frame pointer operations on local variables that are kept on stack. This can result in considerable improvement due to two reasons:
* All local variables are in registers so this improves performance over accessing them from memory.
* If no local variables need to be saved on the stack, the compiler will not incur the overhead of setting up and restoring the frame pointer.
Declare local variables in the inner most scope
Do not declare all the local variables in the outermost function scope. You will get better performance if local variables are declared in the inner most scope. Consider the example below; here object a is needed only in the error case, so it should be invoked only inside the error check. If this parameter was declared in the outermost scope, all function calls would have incurred the overhead of object a's creation (i.e. invoking the default constructor for a).
Local varialble scope
int foo(char *pName)
{
if (pName == NULL)
{
A a;
...
return ERROR;
}
...
return SUCCESS;
}
Reduce the number of parameters
Function calls with large number of parameters may be expensive due to large number of parameter pushes on stack on each call. For the same reason, avoid passing complete structures as parameters. Use pointers and references in such cases.
Use references for parameter passing and return value for types bigger than 4 bytes
Passing parameters by value results in the complete parameter being copied on to the stack. This is fine for regular types like integer, pointer etc. These types are generally restricted to four bytes. When passing bigger types, the cost of copying the object on the stack can be prohibitive. In case of classes there will be an additional overhead of invoking the constructor for the temporary copy that is created on the stack. When the function exits the destructor will also be invoked.
Thus it is efficient to pass references as parameters. This way you save on the overhead of a temporary object creation, copying and destruction. This optimization can be performed easily without a major impact to the code by replacing pass by value parameters by const references. (It is important to pass const references so that a bug in the called function does not change the actual value of the parameter.
Passing bigger objects as return values also has the same performance issues. A temporary return object is created in this case too.
Don't define a return value if not used
The called function does not "know" if the return value is being used. So, it will always pass the return value. This return value passing may be avoided by not defining a return value which is not being used.
Consider locality of reference for code and data
The processor keeps data or code that is referenced in cache so that on its next reference if gets it from cache. These cache references are faster. Hence it is recommended that code and data that are being used together should actually be placed together physically. This is actually enforced into the language in C++. In C++, all the object's data is in one place and so is code. When coding is C, the declaration order of related code and functions can be arranged so that closely coupled code and data are declared together.
Prefer int over char and short
With C and C++ prefer use of int over char and short. The main reason behind this is that C and C++ perform arithmetic operations and parameter passing at integer level, If you have an integer value that can fit in a byte, you should still consider using an int to hold the number. If you use a char, the compiler will first convert the values into integer, perform the operations and then convert back the result to char.
Lets consider the following code which presents two functions that perform the same operation with char and int.
Compaing char and int operations
char sum_char(char a, char b)
{
char c;
c = a + b;
return c;
}
int sum_int(int a, int b)
{
int c;
c = a + b;
return c;
}
A call to sum_char involves the following operations:
1. Convert the second parameter into an int by sign extension (C and C++ push parameters in reverse)
2. Push the sign extended parameter on the stack as b.
3. Convert the first parameter into an int by sign extension.
4. Push the sign extended parameter on to the stack as a.
5. The called function adds a and b
6. The result is cast to a char.
7. The result is stored in char c.
8. c is again sign extended
9. Sign extended c is copied into the return value register and function returns to caller.
10. The caller now converts again from int to char.
11. The result is stored.
A call to sum_int involves the following operations:
1. Push int b on stack
2. Push int a on stack
3. Called function adds a and b
4. Result is stored in int c
5. c is copied into the return value register and function returns to caller.
6. The called function stores the returned value.
Thus we can conclude that int should be used for all interger variables unless storage requirements force us to use a char or short. When char and short have to be used, consider the impact of byte alignment and ordering to see if you would really save space. (Many processors align structure elements at 16 byte boundaries)
Define lightweight constructors
As far as possible, keep the constructor light weight. The constructor will be invoked for every object creation. Keep in mind that many times the compiler might be creating temporary object over and above the explicit object creations in your program. Thus optimizing the constructor might give you a big boost in performance. If you have an array of objects, the default constructor for the object should be optimized first as the constructor gets invoked for every object in the array.
Prefer initialization over assignment
Consider the following example of a complex number::
Initialization and assignment
void foo()
{
Complex c;
c = (Complex)5;
}
void foo_optimized()
{
Complex c = 5;
}
In the function foo, the complex number c is being initialized first by the instantiation and then by the assignment. In foo_optimized, c is being initialized directly to the final value, thus saving a call to the default constructor of Complex.
Use constructor initialization lists
Use constructor initialization lists to initialize the embedded variables to the final initialization values. Assignments within the constructor body will result in lower performance as the default constructor for the embedded objects would have been invoked anyway. Using constructor initialization lists will directly result in invoking the right constructor, thus saving the overhead of default constructor invocation.
In the example given below, the optimized version of the Employee constructor saves the default constructor calls for m_name and m_designation strings.
Constructor initialization lists
Employee::Employee(String name, String designation)
{
m_name = name;
m_designation = designation;
}
/* === Optimized Version === */
Employee::Employee(String name, String designation): m_name(name), m_destignation (designation)
{
}
Do not declare "just in case" virtual functions
Virtual function calls are more expensive than regular function calls so do not make functions virtual "just in case" somebody needs to override the default behavior. If the need arises, the developer can just as well edit the additional base class header file to change the declaration to virtual.
In-line 1 to 3 line functions
Converting small functions (1 to 3 lines) into in-line will give you big improvements in throughput. In-lining will remove the overhead of a function call and associated parameter passing. But using this technique for bigger functions can have negative impact on performance due to the associated code bloat. Also keep in mind that making a method inline should not increase the dependencies by requiring a explicit header file inclusion when you could have managed by just using a forward reference in the non-inline version. (See the article on header file include patterns for more details).
Related Links
* C To Assembly Translation
* C To Assembly Translation II
* C To Assembly Translation III
* Byte Alignment and Ordering
* Header File Include Patterns
* C++ to C Mapping
|
| |
| November 06 2006 |
| Cisco router password recovery |
| The following procedure describes the process in recovering from a lost password on a Cisco 2500 router.
The router must first be rebooted and a “break” performed within the first 60 seconds of the boot process. This break sequence can also vary depending on what program is used to access the router, but is the usual key combination.
The router will now be in ROM Monitor mode. From the rom monitor prompt, change the default configuration register of 0x2102 to 0x2142 with the o/r 0x2142 command. Reload the router with the letter i. (As you can see, ROM Monitor mode is a lot different than working with the IOS!)
This particular config register setting will cause the router to ignore the contents of NVRAM. Your startup configuration is still there, but it will be ignored on reload.
When the router reloads, you’ll be prompted to enter Setup mode. Answer “N”, and type enable at the router> prompt.
Be careful here. Type configure memory or copy start run. Do NOT type write memory or copy run start!
Enter the command show running-config. You’ll see the passwords in either their encrypted or unencrypted format.
Type config t, then use the appropriate command to set a new enable secret or enable password.
Don’t forget to change the configuration register setting back to the original value! The command config-register 0x2102 will do the job. Save this change with write memory or copy run start, and then run reload one more time to restart the router. |
| |
| November 05 2006 |
| 100 Oldest currently registered domains |
| Rank Create date Domain name
1. 15-Mar-1985 SYMBOLICS.COM
2. 24-Apr-1985 BBN.COM
3. 24-May-1985 THINK.COM
4. 11-Jul-1985 MCC.COM
5. 30-Sep-1985 DEC.COM
6. 07-Nov-1985 NORTHROP.COM
7. 09-Jan-1986 XEROX.COM
8. 17-Jan-1986 SRI.COM
9. 03-Mar-1986 HP.COM
10. 05-Mar-1986 BELLCORE.COM
11= 19-Mar-1986 IBM.COM
11= 19-Mar-1986 SUN.COM
13= 25-Mar-1986 INTEL.COM
13= 25-Mar-1986 TI.COM
15. 25-Apr-1986 ATT.COM
16= 08-May-1986 GMR.COM
16= 08-May-1986 TEK.COM
18= 10-Jul-1986 FMC.COM
18= 10-Jul-1986 UB.COM
20= 05-Aug-1986 BELL-ATL.COM
20= 05-Aug-1986 GE.COM
20= 05-Aug-1986 GREBYN.COM
20= 05-Aug-1986 ISC.COM
20= 05-Aug-1986 NSC.COM
20= 05-Aug-1986 STARGATE.COM
26. 02-Sep-1986 BOEING.COM
27. 18-Sep-1986 ITCORP.COM
28. 29-Sep-1986 SIEMENS.COM
29. 18-Oct-1986 PYRAMID.COM
30= 27-Oct-1986 ALPHACDC.COM
30= 27-Oct-1986 BDM.COM
30= 27-Oct-1986 FLUKE.COM
30= 27-Oct-1986 INMET.COM
30= 27-Oct-1986 KESMAI.COM
30= 27-Oct-1986 MENTOR.COM
30= 27-Oct-1986 NEC.COM
30= 27-Oct-1986 RAY.COM
30= 27-Oct-1986 ROSEMOUNT.COM
30= 27-Oct-1986 VORTEX.COM
40= 05-Nov-1986 ALCOA.COM
40= 05-Nov-1986 GTE.COM
42= 17-Nov-1986 ADOBE.COM
42= 17-Nov-1986 AMD.COM
42= 17-Nov-1986 DAS.COM
42= 17-Nov-1986 DATA-IO.COM
42= 17-Nov-1986 OCTOPUS.COM
42= 17-Nov-1986 PORTAL.COM
42= 17-Nov-1986 TELTONE.COM
42= 11-Dec-1986 3COM.COM
50= 11-Dec-1986 AMDAHL.COM
50= 11-Dec-1986 CCUR.COM
50= 11-Dec-1986 CI.COM
50= 11-Dec-1986 CONVERGENT.COM
50= 11-Dec-1986 DG.COM
50= 11-Dec-1986 PEREGRINE.COM
50= 11-Dec-1986 QUAD.COM
50= 11-Dec-1986 SQ.COM
50= 11-Dec-1986 TANDY.COM
50= 11-Dec-1986 TTI.COM
50= 11-Dec-1986 UNISYS.COM
61= 19-Jan-1987 CGI.COM
61= 19-Jan-1987 CTS.COM
61= 19-Jan-1987 SPDCC.COM
64. 19-Feb-1987 APPLE.COM
65= 04-Mar-1987 NMA.COM
65= 04-Mar-1987 PRIME.COM
67. 04-Apr-1987 PHILIPS.COM
68= 23-Apr-1987 DATACUBE.COM
68= 23-Apr-1987 KAI.COM
68= 23-Apr-1987 TIC.COM
68= 23-Apr-1987 VINE.COM
72. 30-Apr-1987 NCR.COM
73= 14-May-1987 CISCO.COM
73= 14-May-1987 RDL.COM
75. 20-May-1987 SLB.COM
76= 27-May-1987 PARCPLACE.COM
76= 27-May-1987 UTC.COM
78. 26-Jun-1987 IDE.COM
79. 09-Jul-1987 TRW.COM
80. 13-Jul-1987 UNIPRESS.COM
81= 27-Jul-1987 DUPONT.COM
81= 27-Jul-1987 LOCKHEED.COM
83. 28-Jul-1987 ROSETTA.COM
84. 18-Aug-1987 TOAD.COM
85. 31-Aug-1987 QUICK.COM
86= 03-Sep-1987 ALLIED.COM
86= 03-Sep-1987 DSC.COM
86= 03-Sep-1987 SCO.COM
89= 22-Sep-1987 GENE.COM
89= 22-Sep-1987 KCCS.COM
89= 22-Sep-1987 SPECTRA.COM
89= 22-Sep-1987 WLK.COM
93. 30-Sep-1987 MENTAT.COM
94. 14-Oct-1987 WYSE.COM
95. 02-Nov-1987 CFG.COM
96. 09-Nov-1987 MARBLE.COM
97= 16-Nov-1987 CAYMAN.COM
97= 16-Nov-1987 ENTITY.COM
99. 24-Nov-1987 KSR.COM
100. 30-Nov-1987 NYNEXST.COM |
| |
| November 05 2006 |
| What Sex is YOUR Computer |
| A language instructor was explaining to her class that French nouns, unlike their English counterparts, are grammatically designated as masculine or feminine. Things like 'chalk' or 'pencil,' she described, would have a gender association although in English these words were neutral.
Puzzled, one student raised his hand and asked, "What gender is a computer?"
The teacher wasn't certain which it was, and so divided the class into two groups and asked them to decide if a computer should be masculine or feminine. One group was comprised of the women in the class, and the other, of men. Both groups were asked to give four reasons for their recommendation.
The women concluded that computers should be referred to in the masculine gender because:
1. In order to get their attention, you have to turn them on.
2. They have a lot of data but are still clueless.
3. They are supposed to help you solve your problems, but half the time they ARE the problem.
4. As soon as you commit to one, you realize that, if you had waited a little longer, you could have had a better model.
The men, on the other hand, concluded that computers should definitely be referred to in the feminine gender because:
1. No one but their creator understands their internal logic.
2. The native language they use to communicate with other computers is incomprehensible to everyone else.
3. Even your smallest mistakes are stored in long-term memory for later retrieval.
4. As soon as you make a commitment to one, you find yourself spending half your paycheck on accessories for it. |
| |
| November 04 2006 |
| PodTech vs PodTech |
| Q: What is the difference between the homepage of podtech.net and podtech blog?
A: There is no difference.
No awards for that as it does not take a trained eye or a blogger or a techie trained eye to note there is no difference. Agreed the previous homepage for podtech.net was a little dry, but now Podtech.net looks more like a blog than a corporate website or for that matter a media corporate website.
Nothing much needs to be done but a little of rearranging would do just fine. And a point to end this, the change of website has come in when Robert Scoble joined PodTech.net, probably a reason for the media corporate website to project a blog look. |
| |
| November 04 2006 |
| Things you should know but probably don't |
| 1 . Money isn't made out of paper, it's made out of cotton.
2. The Declaration of Independence was written on hemp (marijuana) paper.
3. The dot over the letter i is called a "tittle".
4. A raisin dropped in a glass of fresh champagne will bounce up and down continuously from the bottom of the glass to the top.
5. Susan Lucci is the daughter of Phyllis Diller.
6. 40% of McDonald's profits come from the sales of Happy Meals.
7. 315 entries in Webster's 1996 Dictionary were misspelled.
8. The 'spot' on 7UP comes from its inventor, who had red eyes. He was albino.
9. On average, 12 newborns will be given to the wrong parents, daily.
10. Warren Beatty and Shirley MacLaine are brother and sister.
11. Chocolate affects a dog's heart and nervous system; a few ounces will kill a small sized dog.
12. Orcas (killer whales) kill sharks by torpedoing up into the shark's stomach from underneath, causing the shark to explode.
13. Most lipstick contains fish scales (eeww).
14. Donald Duck comics were banned from Finland because he doesn't wear pants.
15. Ketchup was sold in the 1830's as medicine.
16. Upper and lower case letters are named 'upper' and 'lower' because in the time when all original print had to be set in individual letters, the upper case' letters were stored in the case on top of the case that stored the smaller, 'lower case' letters.
17. Leonardo DaVinci could write with one hand and draw with the other at the same time hence, multi-tasking was invented.)
18. Because metal was scarce, the Oscars given out during World War II were made of wood.
19. There are no clocks in Las Vegas gambling casinos.
20. The name Wendy was made up for the book Peter Pan; there was never a recorded Wendy before!
21. There are no words in the dictionary that rhyme with: orange, purple, and silver!
22. Leonardo DaVinci invented scissors. Also, it took him 10 years to paint Mona Lisa's lips.
23. A tiny amount of liquor on a scorpion will make it instantly go mad and sting itself to death.
24. The mask used by Michael Myers in the original "Halloween" was a Captain Kirk's mask painted white.
25. If you have three quarters, four dimes, and four pennies, you have $1.19 You also have the largest amount of money in coins without being able to make change for a dollar (good to know.)
26. By raising your legs slowly and lying on your back, you can't sink in quicksand (and you thought this list was completely useless.)
27. The phrase "rule of thumb" is derived from an old English law, which stated that you couldn't beat your wife with anything wider than your thumb.
28. The first product Motorola started to develop was a record player for automobiles. At that time, the most known player on the market was the Victrola, so they called themselves Motorola.
29. Celery has negative calories! It takes more calories to eat a piece of celery than the celery has in it to begin with. It's the same with apples!
30. Chewing gum while peeling onions will keep you from crying!
31. The glue on Israeli postage stamps is certified kosher..
32. Guinness Book of Records holds the record for being the book most often stolen from Public Libraries.
33. Astronauts are not allowed to eat beans before they go into space because passing wind in a space suit damages it.
34. George Carlin said it best about Martha Stewart .. "Boy, I feel a lot safer now that she's behind bars. O. J. Simpson and Kobe Bryant are still walking around; Osama Bin Laden too, but they take the ONE woman in America willing to cook, clean, and work in the yard, and they haul her fanny off to jail."
|
| |
| November 04 2006 |
| Rules for Flying umm....Successfully |
| 1. Every takeoff is optional. Every landing is mandatory.
2. If you push the stick forward, the houses get bigger. If you pull the stick back, they get smaller. That is, unless you keep pulling the stick all the way back, then they get bigger again.
3. Flying isn't dangerous. Crashing is what's dangerous.
4. It's always better to be down here wishing you were up there than up there wishing you were down here.
5. The ONLY time you have too much fuel is when you're on fire.
6. The propeller is just a big fan in front of the plane used to keep the pilot cool. When it stops, you can actually watch the pilot start sweating.
7. When in doubt, hold on to your altitude. No one has ever collided with the sky.
8. A 'good' landing is one from which you can walk away. A 'great' landing is one after which they can use the plane again.
9. Learn from the mistakes of others. You won't live long enough to make all of them yourself.
10. You know you've landed with the wheels up if it takes full power to taxi to the ramp.
11. The probability of survival is inversely proportional to the angle of arrival. Large angle of arrival, small probability of survival and vice versa.
12. Never let an aircraft take you somewhere your brain didn't get to five minutes earlier.
13. Stay out of clouds. The silver lining everyone keeps talking about might be another airplane going in the opposite direction. Reliable sources also report that mountains have been known to hide out in clouds.
14. Always try to keep the number of landings you make equal to the number of takeoffs you've made.
15. There are three simple rules for making a smooth landing. Unfortunately no one knows what they are.
16. You start with a bag full of luck and an empty bag of experience. The trick is to fill the bag of experience before you empty the bag of luck.
17. Helicopters can't fly; they're just so ugly the earth repels them.
18. If all you can see out of the window is ground that's going round and round and all you can hear is commotion coming from the passenger compartment, things are not at all as they should be.
19. In the ongoing battle between objects made of aluminum going hundreds of miles per hour and the ground going zero miles per hour, the ground has yet to lose.
20. Good judgment comes from experience. Unfortunately, the experience usually comes from bad judgment.
21. It's always a good idea to keep the pointy end going forward as much as possible.
22. Keep looking around. There's always something you've missed.
23. Remember, gravity is not just a good idea. It's the law. And it's not subject to repeal.
24. The three most useless things to a pilot are the altitude above you, runway behind you, and a tenth of a second ago. |
| |
| November 04 2006 |
| The VisiCalc Song |
| [ala' "Let's Get Physical", made popular by Olivia Newton-John]
I'm savin' all of those back issues of "Byte"
Making the micro conversion
I gotta handle text just right
Ya know what I mean?
I took you to a local computer store
Then to a compu-fair shopping spree
There's nothing left to purchase now
'less it's, programmability...
[BEGIN Chorus (invoked later)]
Let's get VisiCalc*, VisiCalc
I wanna get Visi-Calc, let's invoke VisiCalc
Let me hear your modem talk, your floppies squawk
Let me hear your I/O rock...
[END Chorus]
I've used paper, I've used wood
Tried to keep my pen on the table
It's getting hard, this hardware stuff
Ya know what I mean?
I'm sure you understand what eleven's* do
You know the software intimately
You gotta know, you're bringing out
the VisiPlot* for me... |
| |
| November 03 2006 |
| Virigins Timeline |
| 1968 First issue of student magazine
1970 Start of Virgin Mail Order operation
1971 First Virgin record shop opens in Oxford Street, London
1972 First Virgin Recording Studio opens at 'The Manor' near Oxford
1973 Launch of Virgin Record Label. Virgin Music Publishing is established
1977 Virgin Records signs the Sex Pistols
1984 Virgin Atlantic Airways and Virgin Cargo are born
1985 Virgin Holidays is formed
1987 Virgin Records America is founded.
1988 Virgin Megastores opens new stores. Virgin Hotels launches.
1990 Virgin Megastores arrives in Japan
1991 Virgin Publishing (Virgin Books) is formed
1992 Virgin Records is sold to Thorn EMI
1993 Virgin Radio hits the airwaves with Virgin 1215AM
1994 Launch of Virgin Vodka and Virgin Cola
1995 Virgin Direct Personal Financial Services opens for business.
1996 V2 Music is created. Virgin.Net launches. Virgin Trains is launched.
1997 Virgin Radio is acquired by Chris Evans. Virgin Cosmetics launches
1999 Virgin Mobile launches Virgin's first telecomms venture.
2000 V.shop, Virgin cars, Virgin Wines and Virgin Travelstore all launch2001 Virgin Money brand is created. Virgin Experience launches
2002 Virgin Money introduces the Virgin Credit card. Virgin Mobile in the USA.2003 V.Shops merges completely with Virgin Megastores
2004 Virgin announces the launch of Virgin Galactic - developing space tourism for everybody
2005 Virgin Mobile launches in Canada
2006 Two new businesses in South Africa - Mobile and Money |
| |
| November 03 2006 |
| 10 Terrible Tech Terms |
| 1. Dongle (The trouble seems to be with your dongle, sir.)
2. Wall wart (Three guesses: Wal-Mart's nickname, a nasty disease contracted from walls, or a mall power-supply brick with a male plug.)
3. PMP (Are you a Portable Media Player PIMP?)
4. Nybble (A set of four bits.)
5. Hotswapping (Sounds dirty and sweaty, but it's the ability to remove and replace components of a computer while it is operating.)
6. Blu-ray (Poor Ray. This disc formatting war has made him blue!)
7. Burst mode (Would you really want a mode named "burst" in your camera?)
8. RAID (Redundant Array of Independent (or Inexpensive) Disks, or bug spray.)
9. PUS (Potentially Unwanted Software that just sounds gross.)
10. Wiki (We're all familiar with Wikipedia, but the actual term comes from the Hawaiian word "hurry up". Okay. . .) |
| |
| November 01 2006 |
| Microsoft moves to embrace PHP, So What, Who Cares |
| According to Zend, once PHP is optimized for Windows, which will be accomplished by January 2007, it will run at speeds comparable to what it already achieves on Linux platforms.
PHP, the most widely used web development scripting language, has always run faster on Linux servers than on Windows servers. Microsoft aims to change that by forming a partnership with Zend Technologies whose founders played key roles in the development of the open source PHP language.
But according to everyone else, PHP by then will have unlimited patches, IIS will have unlimited patches, this will further make everyone move to linux and apache. Why would a SMB even go for IIS considering the cost. It is easier to get apache, PHP, MySql running. Managing AMP is a breeze. |
| |
| November 01 2006 |
| Worst Company URLs |
| Now who would think of such urls geeeezzzz
A site called ‘Who Represents’ where you can find the name of the agent that represents a celebrity. Their domain name… wait for it… is - www.whorepresents.com
Looking for a pen? Look no further than Pen Island at - www.penisland.net
Need a therapist? Try Therapist Finder at - www.therapistfinder.com
Then of course, there’s the Italian Power Generator company… - www.powergenitalia.com
And now, we have the Mole Station Native Nursery, based in New South Wales: - www.molestationnursery.com
Welcome to the First Cumming Methodist Church. - www.cummingfirst.com |
| |
| November 01 2006 |
| Copy an Excel formula without changing its cell references |
| You could copy the formula to the clipboard as text before pasting it to its new location. Follow these steps:
1. Click on the cell containing the formula you want to copy.
2. Press [F2].
3. Click and drag to select the entire formula.
4. Click the Copy button in the Standard toolbar.
5. Press [Enter].
6. Select the cell into which you want to paste the formula.
7. Click the Paste button in the Standard toolbar. |
| |
| November 01 2006 |
| 25 ways to get promoted |
| 1. Written communication – If you want to move up in any organization, you must be able to construct a well thought out, grammatically correct, spell-checked memorandum, e-mail, report, bid response, project plan, etc. This can be a weakness for many in IT, and it is something that has to be worked on if it does not come naturally to you.
2. Verbal communication – As important as it is to write clearly and concisely, you also have to be able to speak clearly; it does not matter if your audience is one person or a hundred. No stuttering, no ums, ahs, or jargon. No mumbling, staring at the floor, or hiding behind a document. You need to be able to convey that you know what you are talking about and that you have confidence in yourself.
3. Be a self starter – Go to your supervisor and find work. If you are assigned work, start early and finish early. If you know what needs to be done, do it if your work environment allows it, or ask permission if you need to – but get it done. Supervisors and management LOVE self starters.
4. Perform quality work – This goes hand in hand with the quality above. Develop a reputation for getting things done right – the first time. If you can become one of those people who can be counted on, not only to get it right, but to deliver an excellent product – you will be successful.
5. Develop good listening skills – Engage your mouth when necessary, but keep your ears open at all times. Learn to be a good and thoughtful listener. It will aid you in your work, you will develop a reputation as being easy to talk to, and most importantly, you will learn what is going on around you.
6. Don’t be a gossip – Develop a reputation for being a confidant. Do intelligence gathering, but don’t be a grouser.
7. Know how to behave – Actions and behaviors that are appropriate in small team meetings among your co-workers are not necessarily appropriate when addressing a team of Vice Presidents. Know the difference and act appropriately.
8. Deliver on your promises – Become known for keeping your word and delivering on your promises – and if you can’t, let people know why.
9. Be honest in your dealings – If people “can’t trust you as far as they can throw you” or think you always have a hidden agenda, you will go nowhere fast. Conversely, being known as an honest broker and a truth teller will gain you much credibility when working with others.
10. Be a willing collaborator – This doesn’t mean you have to give in on everything, but be willing to be a partner on efforts led by others. If people find you easy to work with, you are more likely to have more opportunities presented to you.
11. Be knowledgeable –Don't talk about things you don't know about. Don’t be afraid to say, “I don’t know but I will get back to you.” Also, stay well read and– while you might not be an expert on every topic–make sure you can talk intelligently about most topics in your area.
12. Be a quick study – One of the hallmarks of good leaders is the ability to quickly gather information, interpret it, and use it in decision making.
13. Promptness pays – Lateness is interpreted as slothfulness or the inability to manage your time properly. If at all possible – Be Early! Just-in time-is good for inventory management, not your time management.
14. Image counts – First impressions are hard to overcome and people do judge you on your appearance. While you don’t have to dress like you are straight out of a fashion magazine, your attire speaks for you, whether you like it or not.
15. Get out of your cube –Meet people within your department and outside it. You have to gain exposure and also make yourself comfortable mingling with people outside your area.
16. Learn the business – Whatever the core business is for your organization, learn it. Also learn what it takes to support that core business. It also never hurts to know statistics and facts about your organization. This will help you empathize with your clients.
17. Empathy – Being able to see things from another person’s perspective, regardless of whether you agree or disagree, will help you immensely, no matter what you are doing.
18. Do Not be a drama queen – Learn to be able to quickly determine what a genuine crisis is and what is not and act like you have things under control. You can scream, cry, pout or whatever later in private. Emotional outbursts are not welcome in the workplace.
19. Be a critical thinker - You have to be able to see the forest AND the trees. Learn to look at all the information and perform a quick analysis to determine what are causes, what are effects, and what variables come into play regarding any problem.
20. Be yourself – People can sense someone who is not genuine. Keep in mind that humbleness is a good quality, as no one likes a pompous person, but don’t be afraid to toot your own horn occasionally when you deserve it.
21. Take the next step – When it is obvious what the next step might be in a project or product – take it! Unless you are being micromanaged, don’t wait to be told to do the next logical step in something if it is within your purview to do so. This can get you in trouble if you have really heavy-handed management, but in most cases, people will be glad you did.
22. Treat people kindly – Treat people at all levels of the organization with courtesy and respect. You never know when and where you will encounter them again. Abide by the golden rule – treat people the way you wish to be treated.
23. Remember it’s a small world – Word travels quickly, people have long memories, good deeds will be rewarded, and slights are never forgotten. So do not burn any bridges and do not try to make any enemies – you never know where people will show up again in your life.
24. Be sincere – People do appreciate sincerity. If you make a sincere effort to accomplish something – it will be noted.
25. Don’t be afraid to ask why – Not in a whiny way – but in the form of – “I’m trying to better understand X, can you help me gain a better understanding by explaining why we do X?” You would be surprised how much you can learn with that simple phrase. |
| |
| November 01 2006 |
| Automated Dial-Out Script - Python |
| The following program, uses a list of integers to keep track of which modems are locked, glob.glob to do filename expansion, and os.system to run a kermit command when a free modem has been found
#!/usr/bin/env python
# find a free modem to dial out on
import glob, os, string
LOCKS = "/var/spool/locks/"
locked = [0] * 10
for lockname in glob.glob(LOCKS + "LCK*modem*"): # find locked modems
print "Found lock:", lockname
locked [string.atoi(lockname[-1])] = 1 # 0..9 at end of name
print 'free:'
for i in range (10): # report, dial-out
if not locked[i]: print i,
print
for i in range(10):
if not locked [i]:
if raw_input ("Try %d? " % i) == 'y':
os.system ("kermit -m hayes -l /dev/modem%d -b 19200 -s" % i)
if raw_input ("More? ") != 'Y': break
The program above works only if there are 10 or fewer modems; if there are more, you'd need to use larger lists and loops, and parse the lock filename, not just look at its last character. |
| |
| November 01 2006 |
| Lipstick got reddit fever |
| Lipstick.com, a beta site that aggregates links to celebrity gossip news stories. Probably thats the reason its got pink color and looks pretty much like barbie.
Lipstick.com is using reddit technology for news aggregation. It has got the same looks, menu, register, submit, you name it if its there in reddit its there in Lipstick.
I have not seen much hits and votes for Lipstick, probably its still in beta, probably the word has not gone out. It would certainly be a success for paparazzi, celebrity enthusiastic and the likes. |
| |
| November 01 2006 |
| Reddit 1-2-3.... gone |
| Reddit, a YCombinator company has been sold for an undisclosed sum to CondéNast, owner of wierd. Its amazing they were working with only 4 employees. Currently Reddit will be left as it is and later moved incorporated to CondéNast |
| |
| |