... Was it not yesterday, when the football jock passed by, and gave you a shove to the ground, while chit-chatting with his blonde cheerleader girlfriend. Who or what should we acknowledge as the epicenter of this geek phenomenon. Is it the ARPANET, Leonard Kleinrock, 286, 486, i7, Unix, Dos, Windows, Mac, Internet, Tim Berners-Lee, SIXdegrees.com, ICQ, Geocities Bill gates and Paul Allen, Steve Jobs, Excite, AltaVista, Star Trek, Star Wars, The big bang theory ... The answer may be all of the above and a lot more.
Everyday things are now being injected with technology to make our lives better. We eagerly await the smart traffic systems. The intelligent traffic system consists of a network of traditional traffic lights with an array of sensors, artificial intelligence. The nodes of the traffic system will work together to intelligently route vehicle and pedestrian traffic with the least amount of idling. Carnegie Mellon University is at the forefront of this technology and is currently doing a pilot project in Pittsburgh.
The next leap forward for our congestion problems on the road will be the cooperative traffic network consisting of AI based Autonomous Vehicles , road sensors, traffic lights and an overseeing control software. All these devices will work cooperatively to get us from point A to point B in the fastest time.
The evolution of DataBases has been anything but remarkable, from mainframe to the mobile environment.
EF Codd can be credited with providing the theories behind practically every database that is out there now. IBM Research and Relational Software Inc (Oracle) provided the initial technologies to put these theories into practice. Databases were the realm of programmers in the mainframe world. dBase being the first successful database for the PC, brought this mainframe exclusivity to an end.
A database is like a room in an office which has a bunch of filing cabinets.
Databases are being utilized in almost all applications, where we need to store and retrieve data. Oracle, MySQL, MS SQL Server, PostgreSQL, MongoDB, IBM Db2/Informix, MS Access, SQLite, Cassandra, MariaDB, FileMaker, SAP HANA/Sybase, AWS Aurora, Google BigQuery,... to name a few. SQLite is a great example of an open source, server less database that is being utilized in Windows, Mac, Linux and on many hardware platforms, including mobile devices.
Where will the next leap in database software come from ? Just like cars, research is showing us that we are heading towards autonomous (DBMS - Data Base Management Systems). This architecture has an integrated planning component that not only optimizes the system for the current workload, but also predicts future workload trends so that the system can prepare itself accordingly. With this, the DBMS can support all of the previous tuning techniques without requiring a human to determine the right way and proper time to deploy them. Peleton is one example.
Programming, art or just another engineering speciality.
In its simplest form, programming is just a decision tree consisting of If-Then-Else statements in a certain sequence. Sometimes the most simplest things, can produce the most amazing outputs (Think of a canvas and some paints). The growing speed and power of computing hardware as described by Moore's law has made software development accessible to everybody. This is the reason for so much open source development. Thank you Linux, PHP, Apache, Eclipse, and countless other organizations and individuals who have contributed so much to advancing software development.
Software complexity has risen to such levels that it can be equated to the great pyramids: Looks impressive, as long as it stays up. The next leap forward in software development is going to come from some sort of automated cognitive software testing tool to find and fix bugs in software that humans write.
Hello World !Mobile computing from a historical point started with the Compaq portal weighing in at 20 pounds in 1982. Now of-course we think of mobile computing as smart devices and tablets. Imagine, if we had mobile communication and computing devices embedded in our body. The human body will be the next computer interface. That picture is almost here. A little bit of further miniaturization and solving issues with powering the device (without killing us !) and we are there.
Giving ordinary individuals, the tools and resources to create mobile applications have really powered this revolution. The most common open source development environments currently being used, have been developed by some of the biggest tech companies: Google Android, Apple iOS, Microsoft Windows Mobile. With the fading of the Windows mobile we are left with Android and iOS. We can use cross-platform solutions such as Microsoft Xamarin and Ionic to target both Android and iOS. Of course the easiest cross-platform solutions for all mobile system would be to use a website and HTML5
Every programmer, at some times will run into an esoteric problem that is so annoying that you want to take your keyboard and smash your monitor. When I run into one of these problems, the first thing I do is move away from my desk, take a deep breath and get a cappuccino. Searching for an answer to one of my problems is not easy as typing it into the Google search bar. The least helpful places to look, I have found is the developer of the software like Microsoft, or Oracle. I have found that the people who actually do the development are the most helpful in answering some of these arcane problems that I have run into. The websites below have answered many of my annoying questions and I hope they answer yours ...
This SQL server query (you can easily turn it into a view) gives you details about the tables/indexes in your database. One of the most (not so) surprising, thing that I come across is the size of the index file. I have used this query to keep track of the growth of a particular database over a long period of time..
SELECT t.name AS name ,p.rows AS rows ,Sum( a.total_pages * 8 ) AS reserved ,Sum( a.data_pages * 8 ) AS data ,Sum(( a.used_pages - a.data_pages ) * 8 ) AS index_size ,Sum(( a.total_pages - a.used_pages ) * 8 ) AS unused FROM sys.tables t, sys.indexes i, sys.partitions p, sys.allocation_units a WHERE t.object_id = i.object_id AND i.object_id = p.object_id AND i.index_id = p.index_id AND p.partition_id = a.container_id AND t.name NOT LIKE 'dt%' AND t.is_ms_shipped = 0 AND i.object_id > 255 GROUP BY t.name, p.rows
This MySql function can be modified to create any kind of code that involves the use of a column/table/view name. Typically you would use it to create code for inputting or verifying data. The example below just creates a string with the names of the columns.
CREATE FUNCTION `CreateVar`(_Usertype int,_TableName varchar(200)) RETURNS varchar(2000) CHARSET utf8 DETERMINISTIC begin declare _cursordone INT default 0; Declare _clist varchar(2000) ; Declare _cnamevarchar(200); DECLARE getcol CURSOR FOR SELECT column_name FROM information_schema.columns WHERE table_name = _TableName ; declare continue handler for NOT FOUND set _cursordone = 1; set _clist = ''; OPEN getcol; repeat fetch getcol into _cname ; if not _cursordone then -- Modify to suite your needs if LENGTH(_clist) > 0 then set _clist =concat( _clist , ',') ; end if; set _clist = concat(_clist , '"', _cname,'"') ; -- Modify to suite your needs end if; until _cursordone end repeat; CLOSE getcol ; Return _clist ; end
People unfamiliar with triggers, may get unexpected results OUTSIDE of the trigger. This usually occurs when a process/application/stored procedure expects to use the identity value of the INSERTED row. If the trigger does an insert of its own, then the identity value that is expected by the outside application will be replaced by the one created by the trigger. The following code snippet will help you keep your identity straight...
CREATE TRIGGER [t_testtrigger] ON [testtable] FOR INSERT AS DECLARE @SavedIdent INT DECLARE @Ident INT DECLARE @Cmd VARCHAR ( 500 ) -- Save the identity context, SELECT @SavedIdent=@@IDENTITY -- Do any work, including doing an INSERT into a table that has an identity INSERT INTO tablewithident(c1) VALUES ('Value 1') -- This identity is from the table [TableWithIdent] SELECT @@Ident=@@IDENTITY -- Do Some more work --------- --... -- Do Some more work --------- -- Finish up and restore the original identity IF ( @SavedIdent IS NOT NULL ) BEGIN SELECT @Cmd='Create table #RestoreIdentity ( id int identity (' + Convert( VARCHAR ( 20 ), @SavedIdent ) + ',1) not null , SomeColumn int) INSERT into #RestoreIdentity values (1) DROP table #RestoreIdentity' EXEC ( @Cmd ) END
Hello, Hola, Nǐ hǎo, God dag, Hallo, Guten tag, Namaste, Bonjour, Shalom, Konnichiwa, Salam, Assalamo aleikum, Hallå, Zdravstvuyte, Salve
APPLESCRIPT say "Hello, world!" C #include <stdio.h> int main(void) { printf("hello, world\n"); } C++ #include < iostream > int main() { std::cout < < "Hello, world!\n"; return 0; } C# using System; class Program { static void Main(string[] args) { Console.WriteLine("Hello, world!"); } } COBOL IDENTIFICATION DIVISION. PROGRAM-ID. hello-world. PROCEDURE DIVISION. DISPLAY "Hello, world!" . FORTRAN program helloworld print *, "Hello world!" end program helloworld GO package main import "fmt" func main() { fmt.Println("Hello, World") } JAVA class HelloWorldApp { public static void main(String[] args) { System.out.println("Hello World!"); } } JAVASCRIPT (ECMASCRIPT) console.log("Hello World!"); NODE.JS console.log("Hello World!"); OBJECTIVE-C main() { puts("Hello World!"); return 0; } PASCAL program HelloWorld(output); begin Write('Hello, world!') end. PERL print "Hello, World!\n"; PHP <?php echo "Hello, World"; PYTHON print("Hello World") SCALA object HelloWorld extends App { println("Hello, World!") } SWIFT println("Hello, world!") TYPESCRIPT console.log("Hello World!");
Lewis Carroll (of "Alice in Wonderland" fame) called such neologisms "portmanteau words" because they are made by folding two words with their meanings into a single container (a suitcase or portmanteau). Hackathon is a portmanteau of "hack" (slang for high-productivity programming) with "marathon" (a very long race).