Deep Space Industries

wild-comet_1294_600x450Deep Space Industries, a newly formed company, announced plans to launch the world’s first fleet of asteroid-hunting spacecraft to search for space rocks that can be harvested for precious metals such as platinum and other resources. The one-way prospecting trips will begin in 2015, using three laptop-size spacecraft called FireFlies, each weighing about 55 pounds, that will take pictures and samples from selected Near-Earth asteroids. Beginning in 2016, larger spacecraft known as DragonFlies, weighing 70 lbs, will be sent on three- to four-year round trip missions to dig samples from asteroids and return them to Earth. The company estimates that 1 ton of asteroid material would be worth $1 million in orbit.

Lockheed and others pledge to pump $170 million into F-35 Program

100th F-35 Fighter 10

F-35 – Bad Ass War Bird

By Steve Kaskovich and Yamil Berard

skaskovich@star-telegram.com; yberard@star-telegram.com

Lockheed Martin and its corporate partners on the F-35 Joint Strike Fighter announced a new plan Thursday to reduce costs on the over-budget program even as the next-generation jet remained grounded on the eve of scheduled appearances at international airshows in Great Britain.

The companies pledged to spend $170 million through 2016 to help bring down the cost of the fighter jet from more than $100 million apiece to about $80 million by the end of the decade.

The upfront investment by Lockheed, Northrop Grumman and BAE Systems to pay for cost-reduction initiatives represents “a significant change in business approach within the F-35 program,” said Lt. Gen. Chris Bogdan, the Pentagon’s F-35 program manager. Read the rest of this entry »

Hand Dandy Web Tools

The Responsinator is a dead simple tool for viewing a web page in all of the the most popular screen sizes all at once. This allows you to rapidly test your responsive design.

Notepad++

Notepad++ is an advanced text and source code editor for Windows. It’s also the most used piece of free software in our office. Everyone – from the developers to the marketers to the interns – uses Notepad++.

Debugging and analyzing web traffic is hard. Fiddler makes the process much easier by giving you deep insight into HTTP/HTTPS traffic. This complete set of web debugging tools can expose redirect issues, boost site performance, and improve app security

Firebug Probably the most well known and powerful real-time web development tool out there, Firebug is something most programmers cannot live without.
TestFlight If you’re an iOS developer and you haven’t yet heard of TestFlight, prepare yourself for some happiness. TestFlight is a web service that lets you remotely provision test devices and deploy beta builds via e-mail – for free.

Awesome Open Source Projects

Apache Ant- Apache Ant is a software tool for automating software build processes. It is similar to Make but is implemented using the Java language, requires the Java platform, and is best suited to building Java projects. The most immediately noticeable difference between Ant and Make is that Ant uses XML to describe the build process and its dependencies, whereas Make uses Makefile format. By default the XML file is named build.xml. Ant is an Apache project. It is a open source software, and is released under the Apache Software License. Apache Ant is not needed when you use NetBeans as NetBeans has got it bundled.

jEdit- jEdit is a text editor for programmers, available under the GNU General Public License version 2.0. It is written in Java and runs on any operating system with Java support, including Windows, Linux, Mac OS X, and BSD. It is mainly used for the wide range of plugins. Its LogViewer and HexViewer plugins are used frequently. Jedit has some excellent syntax highlighting for properties file, java files, nsis scripts etc.

Subversion- Subversion is an open source version control system. Founded in 2000 by CollabNet, Inc., the Subversion project and software have seen incredible success over the past decade. Subversion has enjoyed and continues to enjoy widespread adoption in both the open source arena and the corporate world. Subversion is developed as a project of the Apache Software Foundation, and as such is part of a rich community of developers and users. It has got wonderful integration with NetBeans and Eclipse.

Apache Tomcat- Apache Tomcat serves as the ubiquitous servlet container. Known as simply Tomcat, it is an open source web server and servlet container developed by the Apache Software Foundation (ASF). Tomcat implements the Java Servlet and the JavaServer Pages (JSP) specifications from Sun Microsystems, and provides a “pure Java” HTTP web server environment for Java code to run in. Apache Tomcat includes tools for configuration and management, but can also be configured by editing XML configuration files.

Glassfish- It is invariably the best open source application server available now. GlassFish is an open-source application server project started by Sun Microsystems for the Java EE platform and now sponsored by Oracle Corporation. The supported version is called Oracle GlassFish Server. GlassFish is free software, dual-licensed under two free software licences: the Common Development and Distribution License (CDDL) and the GNU General Public License (GPL) with the classpath exception.

Hudson- Hudson is the fastest growing continuous integration server and can serve as a great add-on to your ant/maven based build process. Hudson is a continuous integration (CI) tool written in Java, which runs in a servlet container, such as Apache Tomcat or the GlassFish application server. It supports SCM tools including CVS, Subversion, Git, Perforce, Clearcase and RTC, and can execute Apache Ant and Apache Maven based projects, as well as arbitrary shell scripts and Windows batch commands.

Java Service Wrapper- Java service wrapper is possibly the best product for launching the Java applications as a windows service.

CheckStyle/PMD- For making your source code better maintainbale, CheckStyle/PMD is the perfect code coverage tool.

JASYPT- JASYPT serves as a great cryptography library, that is used to encrypt/decrypt passwords, files etc.)

Apache Commons Library- This library contains mostly all the utility classes that a Java developer ever needs. So before you write your own utility classes, this one is a must-check.
JUDE Community- This serves as a great free UML modeling tool. This lightweight and simple to use tool is a must try.

MySQL-  It is one of the most popular databases out there and can be a great resort for the Java developers.

New IBM Cloud Analytics

IBM  is introducing new cloud-based software that puts analytics into the hands of more business users and decision makers across the organization.

The new IBM analytics software brings together task-personalized lists, dashboards, analysis, and reporting in the cloud, making it easier for employees to interact with data and understand it to do their work, collaborate with others, and make better business decisions – anywhere and anytime. For example, a sales manager can now use a PC, smartphone or tablet to manage sales compensation-related activities while collaborating with peers, resulting in faster and more accurate payments to sales reps.

Gartner predicts that analytics will reach 50 percent of company employees by 2014, and by 2020, that figure will be 75 percent[1]. This represents a tremendous opportunity for ROI and organic growth for organizations. A 10% increase in data accessibility, for instance, translates into an additional $65.7 million in net income for a typical Fortune 1000 company

Organizations today are challenged to capture and make sense of data in real time, while enabling better, faster decisions and actions by more users. Today’s news helps take analytics out of the IT department, making it accessible to front line staff through visualization tools and dashboards.

At Vision 2014 in Orlando, Florida, IBM’s global conference for finance, risk management, and sales compensation professionals, IBM is previewing new analytic discovery software on cloud that lets everyday business users visually interact with and apply advanced analytics to big data without needing the specialized skills of a data scientist. As a result, line of business professionals in sales, marketing, finance and other areas can get and easily interpret predictive insights from data in minutes.                                                                                                                                       “

Analytics can improve almost any business process — what products to make, what risks to take, which customers to target and how to make them stay. But to maximize impact, analytics also needs to be available to all the people making decisions, wherever they are,” said Alistair Rennie, General Manager, Business Analytics, IBM. “By offering these new solutions in the cloud, IBM is helping organizations drive stronger employee engagement and gain real-time insight into how their business is performing.”

New Software Speeds Analytic Decision-Making in the Cloud
IBM Concert
is now offering new cloud-based analytics software available on IBM Cloud Marketplace that can manage the increasing volume and complexity of processes and tasks, support an increasingly mobile workforce, and emphasize social collaboration as an integral part of decision making. By accessing this technology in the cloud, business users can now easily view, understand and interact with specific performance insights to more easily determine what actions to take and when. Remote employees can also contribute and update data immediately via mobile devices, improving accuracy and providing real time planning and forecasting.

For example, a sales manager looks at the Concert dashboard and sees that sales for one product line are running behind plan for the current quarter. The manager immediately recommends an additional sales incentive for the quarter, attaches a few comments, and asks for senior management approval as part of an established process. The CFO, who is out of the office, can use a smart phone to access the expense alert, read all the comments, and review in-context metrics to approve the request.

IBM Previews Advanced Analytic Solutions
Project Catalyst Insight is a new analytic discovery solution that makes analytics more automated, approachable and accessible to business users. Catalyst Insight automatically builds predictive models and presents those results as interactive visuals with plain language descriptions. Using Catalyst Insight, a marketing manager could use advanced analytics to better understand the drivers of marketing campaign effectiveness without having to wait for a data scientist to prepare the information, develop predictive models and interpret the results.

IBM also announced plans to make its OpenPages enterprise governance risk and compliance family available as a managed service on SoftLayer cloud infrastructure. OpenPages allows businesses to develop a comprehensive compliance and risk management strategy across a variety of domains including operational risk, financial controls management, IT risk, compliance and internal audits. Using OpenPages on Cloud, for example, a compliance manager will be able to quickly identify and analyze the potential effects of a large-scale, serious incident and make recommendations for corrective action to management. This new deployment option will provide a flexible, reliable, enterprise-grade system that can grow as OpenPages expands across the enterprise.

Project Catalyst Insight and OpenPages on Cloud will join 100-plus IBM software-as-a-service offerings, IBM Cloud Suites for the C-Suite, for line of business supported by SoftLayer. SoftLayer is fast becoming the foundation of IBM’s cloud portfolio, and since its acquisition in 2013, SoftLayer has served 4,500 new cloud clients.

IBM Big Data & Analytics
IBM has established the world’s deepest portfolio of Big Data and Analytics technology that spans research and development, solutions and software. IBM has invested $24 billion to build its capabilities in Big Data and Analytics, through R&D and more than 30 acquisitions. IBM has also built a strong ecosystem of partners and VCs in Big Data. Today, more than 10,000 analytics consultants, 6,000 industry solution business partners, and 4,000 IBM mathematicians and are helping clients use big data to transform their organizations.

The 10 Hardest Things a Programmer Has To Do

1.Naming things

Let’s face it, coming up with concise names for a plethora of variables, procedures, functions, classes, objects, database components, etc can be frustrating. Writing a code is one thing, but naming even a small program or application could mean naming many things in reality. Choosing names that convey the meaning behind the stuff it’s intended for can be downright daunting.

2.Explaining what I do

Well, it’s the non-programmers in your family, friends or other non-tech coworkers that could well end up being the hardest to deal with, especially when it comes to describing them what you do for a living. It’s really frustrating when your loved ones don’t understand what you do. Most of them are also quite used to being the friendly neighbourhood computer mechanic, something that they are not very proud of, we must say.

3.Estimating time to complete tasks

This is a real chalange for me and my programming staff – always has been, probably always will be. Every programmer is expected to set a stipulated time frame for a project upon initiation. Now, programmers are not tarot card readers, therefore expecting them to predict a time frame for completion of their project (which most of the time is something they haven’t done before) is ridiculous and pain staking.

4.Dealing with other people

Programming more often than not is not a one man project. Programmers need to interact constantly with clients, management, testers and others while dealing with a project. Now, explaining technical things to not very techie people could be harassing for the programmer, especially when we know, they are not the ones who are best with words. Furthermore, having to depend on others directly or indirectly is not something they want to deal with so often.

5.Working with someone else’s code

Programmers are often required to deal with code that is not necessarily their’s, but they have been entrusted to either maintain, debug or enhance the same from time to time. Now trying to understand and break into the mind of another developer could be an ordeal, especially when we know how complex programmers can be. Further, if the code is poorly written, commented or documented with the original developer nowhere in sight, we know how frustrating that could be.

6.Implementing functionality you disagree with

Many a times, a programmer has to go against his principles simply because the client, or someone above their pay grade wants things to be done their way. Putting aside personal opinions when they know so and so feature or functionality would be no good when implemented is something that programmers need to deal with every now and then.

7.Writing documentation

Yeah, this is another one of the big ones. Programmers are required to create documentation explaining what their code does or how an application works, something that is time-consuming and tedious. What if no one reads it?

8.Writing tests

Programmers are also required to write unit tests to make sure the code is functioning properly by screening out bugs (if any) during early development process. Choosing the right tests to write and code can be an added burden, after going through everything that comes associated with building an application.

9.Designing a solution

Designing data and code structure, functional algorithms and application flow that essentially sums up the business logic to the client can be daunting. Designing a solution that meets the client’s requirements and aspirations is not easy.

10.Entering your time

One of my gripes and challenges as a programmer is entering my time. This is also a problem as a business owner; getting my programmers to enter their time. Started making this mandatory and tying it into the payroll process; seems to help a bit…

Source: IT World and alanhouse.com

A Bunch of Books on PROLOG – Free!

1. Prolog Programming in Depth
by Michael A. Covington, Donald Nute, Andre Vellino – Prentice-Hall, 1997
Full coverage of the Prolog programming language including the latest ISO standard. Includes ready-to-run code for expert system shells, other intelligent problem-solvers, and algorithms to read foreign file formats, even Lotus spreadsheets.

2. Simply Logical: Intelligent Reasoning by Example
by Peter Flach – John Wiley, 1994
An introduction to Prolog programming for artificial intelligence covering both basic and advanced AI material. A unique advantage to this work is the combination of AI, Prolog and Logic. Each technique is accompanied by a program implementing it.

3. Natural Language Processing Techniques in Prolog
by Patrick Blackburn, Kristina Striegnitz – Union College, 2002
Contents: Finite State Automata; Finite State Parsers and Transducers; Finite State Methods in Natural Language Processing; Recursive Transition Networks (RTNs); RTN transducers and ATNs; Definite Clause Grammars; Bottom Up, Top Down Parsing; etc.

4. Prolog Programming
by Roman Bartak, 1998
Prolog is a programming language with precise operational meaning that borrows its basic concepts from logic programming. This text is an introduction to logic programming and Prolog for beginners but it also covers some advanced topics.

5. Artificial Intelligence through Prolog
by Neil C. Rowe – Prentice-Hall, 1988
Artificial intelligence is a hard subject to learn. The author have written a book to make it easier. He explains difficult concepts in a simple, concrete way. This book is intended for all first courses in artificial intelligence.

6. Applications of Prolog
by Attila Csenki – BookBoon, 2009
In this volume the author discusses some areas where Prolog can be fruitfully employed. The book comprises four chapters: Enigma 1225: Rows are Columns; Blind Search; Informed Search; Text Processing. There are 54 exercises in this book.

7. Prolog Techniques
by Attila Csenki – BookBoon, 2009
This is the first of two volumes by the author on the programming language Prolog and its applications. In the first volume you can read about the accumulator technique, difference lists, program manipulations and exploratory code development.

8. Natural Language Processing in Prolog
by Gerald Gazdar, Chris Mellish – Addison-Wesley, 1989
The major focus of this book is on the processing of the orthographic forms of natural language utterances and text. Most of the book deals with the parsing and understanding of natural language, much less on the production of it.

9. An Introduction to Logic Programming through Prolog
by Michael Spivey – Prentice Hall, 2008
Using theory as a foundation for practical programming, this text presents the theory of logic programming with clear proofs and implementation techniques. It covers logical theory, programming, and the structure of a simple Prolog implementation.

10. Learn Prolog Now!
by Patrick Blackburn, Johan Bos, Kristina Striegnitz – College Publications, 2006
One of the most popular introductions to Prolog, an introduction prized for its clarity and down-to-earth approach. It is widely used as a textbook at university departments around the world, and even more widely used for self study.

11. Building Expert Systems in Prolog
by Dennis Merritt – Amzi! inc., 2000
This book is designed to teach you how to build expert systems from the inside out. The author presents the various features used in expert systems, shows how to implement them in Prolog, and how to use them to solve problems.

12. Adventure in Prolog
by Dennis Merritt – Springer, 1990
This book takes a pragmatic, rather than theoretical, approach to the language and is designed for programmers interested in adding this powerful language to their bag of tools. Much of the book is built around the writing of a short adventure game.

13. The First 10 Prolog Programming Contests
by Bart Demoen, Phuong-Lan Nguyen, Tom Schrijvers, Remko Troncon, 2005
This book shows solutions to problems that were in the first 10 Prolog Programming Contests. The solutions could have been constructed during the contest under time pressure, and so you will find many solutions using the generate and test strategy.

14. Prolog Programming: A First Course
by Paul Brna, 1999
These notes are designed for undergraduate students who have some programming experience. The function of the text is to provide students studying Artificial Intelligence with an intensive introduction to Prolog, there is a slight bias towards AI.

15. Prolog Experiments in Discrete Mathematics, Logic, and Computability
by James Hein – Portland State University, 2009
Programming experiments designed to help learning of discrete mathematics, logic, and computability. Most of the experiments are short and to the point, just like traditional homework problems, so that they reflect the daily classroom work.

16. Logic, Programming and Prolog
by Ulf Nilsson, Jan Mauszynski – John Wiley & Sons Inc, 1995
This textbook provides a uniform account of both the foundations of logic programming and simple programming techniques in the programming language Prolog. The authors limited their attention to the most important areas of logic programming.

17. Prolog and Natural-Language Analysis
by F. C. N. Pereira, S. M. Shieber – Center for the Study of Language, 2002
A concise introduction to logic programming and the logic-programming language Prolog both as vehicles for understanding elementary computational linguistics and as tools for implementing the basic components of natural-language-processing systems.

Atithya Amaresh, EFYTIMES News Network

Some Linux Network commands

Here are some helpful network commands at the Linux Command Line (Terminal).

hostname

hostname with no options gives the machine’s host name
hostname –d gives the domain name the machine belongs to
hostname –f gives the fully qualified host and domain name
hostname –i gives the IP address for the current machine

ping

This transmits packets of information to the user-defined source. Once the packets are received, the destination device transmits the packets back. It can be used to do two things-

1. For ensuring that a network connection can be established.
2. For timing information regarding the speed of the connection.

By doing ping www.yahoo.com, it will show its IP address. You can use ctrl+C for stopping the test.

ifconfig

You can use it to view network configuration as it shows the current network adapter configuration. It is handy to gauge if you are getting transmit (TX) or receive (RX) errors.

netstat

This is most useful and quite versatile for searching connection to and from the host. It can be used to find out all multicast groups subscribed by this host by issuing “netstat -g”

netstat -nap | grep port will give process id of application that uses that port
netstat -a or netstat –all will give all connections including TCP and UDP
netstat –tcp or netstat –t will show only TCP connection
netstat –udp or netstat –u will show only UDP connection
netstat -g will show all multicast network subscribed by this host.

nslookup

This displays the IP address if the hostname is known. You need to have Internet connection for this utility to be useful. For eg -
nslookup blogger.com

traceroute

This is handy for viewing the number of hops and response time for getting to a remote system or web site. It requires an internet connection.

finger

Not the same as giving the “finger”, this handy dandy command assists in viewing user information, displaying a user’s login name, real name, terminal name and write status.

telnet

This can be used for connecting to a destination host through telnet protocol. If telnet connection is established on any port it means connectivity between two hosts is working fine.

Technologies to Watch

1. Apache Hadoop: The open source software framework, Apache Hadoop is meant for data-intensive distributed applications, which was created by Doug Cutting to support his open source Web search engine, Nutch. Cutting introduced Hadoop as the MapReduce facility and a distributed file system to meet Nutch’s multimachine processing requirements. The name Hadoop came after his son’s toy elephant. With this MapReduce facility, Hadoop distributes Big Data in pieces over a series of nodes running on commodity hardware. Hadoop is now already amongst one of the most popular technologies to gather and store structured, semi-structured and unstructured data which together makes Big Data. You can read more about other open source big data technologies here. official website

2. Kernel-based Virtual Machine (KVM): VMware (VMW) is still the one who is dominating the virtualization market. It is a virtualization infrastructure for the Linux kernel which turns it into a hypervisor. And KVM is one platform which is worth keeping an eye on and a required skill set too if you’re a channel partner of Red Hat and are looking forward for private or public cloud opportunities. Here’s the official website.

3. NoSQL: Big Data wins again! Similar to Hadoop, NoSQL becomes another platform which will be worth a watch in 2014. This technology allows CSPs and businesses to manage and analyze the unstructured data. This has already started to replace SQL Servers, Oracle and MySQL systems around the world. Also the platform has already started to gain profits as more and more channel partner programs have started to emerge with few names like DataStax, FoundationDB and MongoDB. official website.

4. OpenDaylight: With a majority of the networking industry keen on finding out networking defined by software, OpenDaylight’s concept of taking Software Defined Networking to the next level is a brilliant idea. This community-led open source platform is promoting the accelerate SDN adoption and many big names are already attached to the project. Here’s the official website.

5. OpenStack: This cloud space based on open source platform has already gained a big name amongst major software and hardware companies like AT&T, Canonical, HP, IBM, Rackspace, Red Hat, SUSE. OpenStack is basically used by Enterprises and cloud services providers to build up private and public clouds. And with cloud computing taking a swirl, this is indeed one big technology to look forward to.

Must Have Java Tools

Apache Ant- Apache Ant is a software tool for automating software build processes. It is similar to Make but is implemented using the Java language, requires the Java platform, and is best suited to building Java projects. The most immediately noticeable difference between Ant and Make is that Ant uses XML to describe the build process and its dependencies, whereas Make uses Makefile format. By default the XML file is named build.xml. Ant is an Apache project. It is a open source software, and is released under the Apache Software License. Apache Ant is not needed when you use NetBeans as NetBeans has got it bundled.

jEdit- jEdit is a text editor for programmers, available under the GNU General Public License version 2.0. It is written in Java and runs on any operating system with Java support, including Windows, Linux, Mac OS X, and BSD. It is mainly used for the wide range of plugins. Its LogViewer and HexViewer plugins are used frequently. Jedit has some excellent syntax highlighting for properties file, java files, nsis scripts etc.

Subversion- Subversion is an open source version control system. Founded in 2000 by CollabNet, Inc., the Subversion project and software have seen incredible success over the past decade. Subversion has enjoyed and continues to enjoy widespread adoption in both the open source arena and the corporate world. Subversion is developed as a project of the Apache Software Foundation, and as such is part of a rich community of developers and users. It has got wonderful integration with NetBeans and Eclipse.

Apache Tomcat- Apache Tomcat serves as the ubiquitous servlet container. Known as simply Tomcat, it is an open source web server and servlet container developed by the Apache Software Foundation (ASF). Tomcat implements the Java Servlet and the JavaServer Pages (JSP) specifications from Sun Microsystems, and provides a “pure Java” HTTP web server environment for Java code to run in. Apache Tomcat includes tools for configuration and management, but can also be configured by editing XML configuration files.

Glassfish- It is invariably the best open source application server available now. GlassFish is an open-source application server project started by Sun Microsystems for the Java EE platform and now sponsored by Oracle Corporation. The supported version is called Oracle GlassFish Server. GlassFish is free software, dual-licensed under two free software licences: the Common Development and Distribution License (CDDL) and the GNU General Public License (GPL) with the classpath exception.

Hudson- Hudson is the fastest growing continuous integration server and can serve as a great add-on to your ant/maven based build process. Hudson is a continuous integration (CI) tool written in Java, which runs in a servlet container, such as Apache Tomcat or the GlassFish application server. It supports SCM tools including CVS, Subversion, Git, Perforce, Clearcase and RTC, and can execute Apache Ant and Apache Maven based projects, as well as arbitrary shell scripts and Windows batch commands.

Java Service Wrapper- Java service wrapper is possibly the best product for launching the Java applications as a windows service.

CheckStyle/PMD- For making your source code better maintainbale, CheckStyle/PMD is the perfect code coverage tool.

JASYPT- JASYPT serves as a great cryptography library, that is used to encrypt/decrypt passwords, files etc.)

Apache Commons Library- This library contains mostly all the utility classes that a Java developer ever needs. So before you write your own utility classes, this one is a must-check.

JUDE- This serves as a great free UML modelling tool. This lightweight and simple to use tool is a must try.

MySQL- It is one of the most popular databases out there and can be a great resort for the Java developers.

%d bloggers like this: