Data Stream F17.1

Page 1

Communique of the Department of Computer and Information Sciences

web: http://cis.ncu.edu.jm/ facebook: /cisatncu twitter: /cisatncu instagram: /cisatncu google+: /+cisatncu

FALL 2017.1

National Identification System (NIDS) to be Piloted in January 2019 and a manual signature. “Upon registration at the registration centre, you will go through a very rigorous assessment or verification process to ensure that the data is… clean and that the content of what we are recording is, in fact, unique to that individual,” he said. The National Identification and Registration Bill was passed in the Senate on Monday November 13 with 168 amendments, and will return to the House of Representatives for approval.

With anticipated funding of US$68 million from the InterAmerican Development Bank, the Government intends to put the NIDS infrastructure and systems in place over the next 12 ROLL-OUT of the national identification system (NIDS) is slated months, beginning with the pilot project. to begin with a pilot project in January 2019, focusing on civil servants. This is expected to be followed by the national roll-out in September 2019, over a period of three to four years. This was disclosed by acting chief technical director in the Office of the Prime Minister Jacqueline Lynch-Stewart, who The layered roll-out and management of the NIDS will be noted that it is a deliberate move to use this wide cross section handled by a new agency, the National Identification and of individuals who would provide “a good feel of how to enroll Registration Authority, which will replace the Registrar people island wide”. General's Department and provide more enhanced services. “Public sector employees are also a good reflection of our communities… so we felt it was a [suitable strategy to work with this cohort for the pilot],” Lynch-Stewart said during a press conference at Jamaica House on November 14. The NIDS, which is being facilitated under the National Identification and Registration Bill, will provide a comprehensive and secure structure to enable the capture and storage of identity information for all Jamaicans. Under the system, each citizen will be provided with a randomised nine-digit national identification number, which they will have for life.

Source: Jamaica Observer

WHAT’S INSIDE Access WiFi Password Using CMD

2

Determine String Permutations using Java

2

Mozilla Officially Launches Firefox Quantum

3

It’s Getting Difficult, and Increasingly Controversial, to Authenticate “Real Humans”

4

Explaining how enrolment in the system will work, programme 7 Critical Tips to Learn Programming Faster director for NIDS Warren Vernon said individuals, as prescribed by law, will be required to give their full name, date of birth, and User Interface Design Basics biometric information, which includes fingerprints, facial image,

5 6

1


Access WiFi Password Using CMD Whenever you connect to a WiFi network and enter the password to connect to that network, a WLAN profile of that WiFi network is made. That profile is stored inside the computer along with the other required details of the WiFi profile.

3. To see the password for a network type the following: netsh wlan show profile [SSID] key=clear

Instead of using a GUI to find the individual passwords, we can also look for the WiFi password of that particular WiFi network using cmd. These steps work even when totally offline or not connected to the particular WiFi. 1. Open command prompt and run it as administrator.

2. View all profiles stored on computer by typing: netsh wlan show profile (this command will list all WiFi profiles connected to).

Under Security Settings, in the key content entry, you will see the password of the specified network.

Determine String Permutations using Java A permutation is an arrangement of all or part of a set of objects, with regard to the order of the arrangement.

} public static void permutation(String input){ permutation("", input); }

For example, suppose we have a set of three letters: A, B, and C. We might ask how many ways we can arrange 2 letters from that set. Each possible arrangement would be an example of a permutation. The complete list of possible permutations would be: AB, AC, BA, BC, CA, and CB.

private static void permutation(String perm, String word) { if (word.isEmpty()) { System.err.println(perm + word); } else { for (int i = 0; i < word.length (); i++) { permutation(perm + word.charAt (i), word.substring(0, i) + word.substring(i + 1, word.length())); } } }

In this code example, we’re looking at permutations without repetitions. The number of variations is found by using the factorial function. The factorial function (symbol: !) just means to multiply a series of descending natural numbers. Examples:  4! = 4 × 3 × 2 × 1 = 24  7! = 7 × 6 × 5 × 4 × 3 × 2 × 1 = 5,040  1! = 1 public class permutation { public static void main(String[] args) { // TODO Auto-generated method stub permutation("1234");

}

2


Mozilla Officially Launches Firefox Quantum by Carl Velasco Tech Times

To make Firefox faster, Mozilla said it enabled the browser to use multiple cores instead of just one. So it developed a "super fast CSS engine" written in Rust. This improved utilization makes it dramatically perform faster on PCs. This super fast CSS engine is called Quantum CSS, which "takes advantage of modern hardware, parallelizing the work across all of the cores in your machine. This means it can run up to 2 or 4 or even 18 times faster." To learn more, users can also read Mozilla's official blog post detailing how Firefox uses less memory than other browsers. Firefox Quantum Looks And Feels Great On a design perspective, Firefox Quantum shines. It looks great. It looks simple, easy-to-use, and unintimidating. Most important of all, it doesn't feel alien or starkly different Needless to say that the last five years haven't been stellar for from other browser Firefox's market share. It was in 2011 when Chrome first people are already surpassed Mozilla's browser, and Chrome now hovers accustomed to somewhere above 60 percent, according to estimates from using. Yes, StarCounter. switching to Firefox Quantum involves To try and topple Chrome, Mozilla did a lot of under-the-hood going through an legwork for its 57th version of Firefox, called Firefox Quantum. awkward Its faster, it's cleaner, and it just works. transitional learning curve, but it passes Firefox Quantum quickly. Give users The most notable change to Quantum is that it uses 30 percent just a few minutes less memory than competing browsers when used on a to play around with Windows PC, according to Mozilla. the browser, and they will learn all the That alone is Mozilla's way of going after Chrome, which, basics in a jiffy. despite being the most popular choice in the internet browser market, has received mountains of criticism for being such a The interface adds a memory and resource hog, causing computers — even ones lot to Quantum's with relatively passable specs — to slow down. ease of use. For starters, instead of Firefox Quantum Is Faster having multiple Certainly, Firefox Quantum is faster than previous versions of buttons to access Firefox. Pages load in a snap even when there are a bunch of bookmarks, history, tabs open — with some running always-refreshing online apps or downloads, such as email clients. That's in large part thanks to the there's instead a browser's new web rendering engine called Quantum, which Library button that discards the previous Gecko engine Firefox used to run on. consolidates all those, making for a more streamlined browsing experience. The next major update to Firefox is finally here. This is undoubtedly a huge touchstone event for Mozilla, which hopes to reclaim internet users it's lost to Google Chrome in recent years.

Mozilla has managed to make Quantum perform fast and feel right up the alley of anyone who regularly uses Chrome, Opera, or Safari. There are no unnecessary bells and whistles, no clunky and atrocious design choices, no labyrinth-like steps to get it work. Firefox Quantum Given Google's current hold in the internet browser landscape, making a splash might prove difficult, but if anyone could do it, it's Firefox, which now has the gargantuan task of proving that it's miles ahead of any browser out there.

3


It’s Getting Difficult, and Increasingly Controversial, to Authenticate “Real Humans” by Jungwoo Ryoo Futurism

Proving identity is a routine part of modern daily life. Many people must show a driver’s license to buy alcohol at a store, flash an ID card to security guards at work, enter passwords and passcodes to retrieve email and other private information, and answer security validation questions when calling banks or credit card companies for customer service. Authentication is also getting easier for people: Take the iPhone, for example. Unlocking the early versions required a multi-digit passcode. Then Apple introduced Touch ID, which would unlock the phone with a fingerprint reader. The latest version, just out, is the iPhone X, which can use its camera to perform facial recognition to authenticate a user.

involved can tell the difference between people. Using two or more methods together can improve security and is called two-factor, or multi-factor, authentication. The consequences of digital authentication This increasing dependence on digital authentication may actually result in less security. While cameras, sensors and other devices can make authentication easier for people to accomplish, they carry their own weaknesses.

When a system seeks to authenticate an individual, it must compare the information the person is presenting – what they know, what they have or who they are – against a previously As a software security researcher looking at authentication stored database of authorized users. As the Equifax security technologies for hand-held devices, I am fully aware that the breach makes clear, those databases are themselves technologies change, but the challenge remains the same: How vulnerable to attack. Information stolen from there could be can a digital system authenticate an analog human’s identity? used somewhere else – for instance, to identify which bank a particular person uses and answer security questions when Three factors of identity calling to transfer money. Or the database itself could be There are three main ways of proving an identity. One involves corrupted, altering information so an attacker would be able to something you know – like a password or your mother’s fake his way into a physical space or system. maiden name. This method assumes the authorized user will have information no unauthorized user does. But that’s not Another potential security threat inherent in biometrics in always the case: For 145.5 million Americans affected by particular is that criminals don’t need to guess a password, or the Equifax security breach revealed in September 2017, reams force someone to reveal it: The simple presence of the victim – of previously private information may now be known to even at gunpoint – can supply the fingerprint or face to criminals. authenticate and unlock a system. A second method of authentication is with something you have – such as a key to your home’s front door or a smart card to swipe at work. This assumes a limited number of people – possibly as few as one, but it could be a small group of users, like a family or co-workers – are allowed to enter a physical space or use a digital service. A third way is by authenticating the individual human being – who you are – with some aspect of your biology. There are various type of these biometrics, such as fingerprints, facial recognition, iris scanning and voiceprints. This strategy, of course, assumes that the bodily feature is unique to the particular individual – and, crucially, that the digital system

Future complications As authentication becomes more complicated, using multiple factors and secure communications between sensors and databases, users become less willing to jump through all the hoops. So security managers try to make the process easier for them without weakening the protections. This commonly happens on websites that urge users to log in using their Facebook or Google accounts; those sites rely on the advanced security of the tech giants rather than creating their own authentication systems. In one futuristic scenario, authentication could occur without a user even noticing: When you walk into a store, facial recognition could identify and authenticate you. Then, at checkout, you’d need only to scan your purchases and leave – the store will automatically charge the credit card of your choice. This isn’t science fiction: Amazon has patented a system for doing exactly this in its Amazon Go cashier-less convenience stores. This is possible in part because of the increasingly common practice of computer systems authenticating each other – so the store’s system would recognize you, connect to the credit card company and authorize your purchase all on its own. It may be more convenient, and even more secure, than a magnetic strip on a plastic card in your wallet. But the potential dangers will require much higher security for private information, particularly biometric data. A real identity still comes down to flesh and blood.

4


7 Critical Tips to Learn Programming Faster 1. Learn by doing. Always play with the code while learning

With every new subject, the sooner you start playing with the code, the faster you will learn the given concepts. Even if you blaze through an entire chapter of reading and a topic like for loops seems straightforward – so straightforward even a monkey could do it – you’ll still be scratching your head when tasked to implement the code for the first time. You’ll think, “wait, what was that one piece of syntax again?” As the saying goes, you need to “use it or lose it”, because despite the evolution of technology, this ole’ proverb holds true when learning to code.

4. Ask for help. You’ll need it As awesome as it would be to become the next Steve Jobs on your own, the reality is that people learn faster with mentors and peer feedback. What may seem like an immovable bug or an unlearnable topic could be quickly alleviated by a fresh pair of eyes or a new interpretation of the subject. Whether it’s online or in-person, ignore the trolls and don’t be afraid to ask for help, because every programmer has been in your shoes before. Besides, most developers love to code, and if there’s one thing that passionate individuals enjoy, it’s to share their knowledge with others. 5. Seek out more online resources. There’s a wealth of content If a particular concept doesn’t make sense, be it on codecademy, in a textbook, or during class lecture, maintain your confidence and look for alternate online resources to learn the same content. Everyone learns differently, and just because one source doesn’t make sense, doesn’t mean there’s something wrong with you. It means that you’re not clicking with the delivery of the material. The online resources to learn computer programming are endless, and there’s always a reddit post, YouTube tutorial, or blog explanation that will make the material-at-hand crystal clear.

2. Grasp the fundamentals for long-term benefits As elementary as they may appear at first, programming fundamentals always need to come first: the better you understand them, the easier it is to learn more advanced 6. Don’t just read the sample code. Tinker with it! concepts. From our experience at Coding Dojo, students who rush through the beginning of our courses – where we focus most on web development fundamentals – are often the first to get stuck as we transition into more advanced material, such as back-end programming. So before you ditch the first class of computer science 101, or skip chapter one of an online tutorial, keep in mind that you are overlooking the most important step in your learning. 3. Code by hand. It sharpens proficiency and you’ll need it to get a job

Computer monitors become thinner, hard drives lighter, and programming languages more powerful, but coding-by-hand still remains one of the most effective methods to learn how to program. Be it on a whiteboard or notebook, coding-by-hand requires further caution, precision, and intent behind every line of code. Because unlike on a computer, you can’t run handwritten code midway through the sheet to check if the work is correct. Although more time consuming, this restriction will mold you into a more fundamentally sound developer, both in the classroom and the job market. For college exams and technical interviews – a critical component of the job interview process – you will have to code-by-hand, because not only is this good for learning, but it’s universally known to be the ultimate test for a programmer’s proficiency. So start early and get used to this old-school practice.

Reading sample code is not enough to understand how it works. To develop a true understanding, you need to actually run the code and tinker with it. With the additions of comments and instructions, sample code is packaged to be easily digestible by the reader; but in reality, it’s pretty difficult to replicate from scratch. Reading is not the same as understanding, and actually trying to write the code yourself, or at least running it, will facilitate the learning process much more. 7. Take breaks when debugging When debugging, it’s easy to go down the rabbit hole for hours, and there’s no guarantee that you will fix the problem. To avoid this, it’s best to step away from the bug for a few hours, and return with a fresh perspective. Not only is this a guaranteed way to help solve the problem, but you’ll also save yourself hours of headache. So if help isn’t available – to touch on our previous tip about seeking advice – consider taking a break to clear your mind and return later. In the meantime, the bug won’t be going anywhere, and you’ll at least restore some needed sanity to improve productivity. Source: Coding Dojo

5


User Interface Design Basics User Interface (UI) Design focuses on anticipating what users might need to do and ensuring that the interface has elements that are easy to access, understand, and use to facilitate those actions. UI brings together concepts from interaction design, visual design, and information architecture.

Choosing Interface Elements Users have become familiar with interface elements acting in a certain way, so try to be consistent and predictable in your choices and their layout. Doing so will help with task completion, efficiency, and satisfaction.  Interface elements include but are not limited to:  Input Controls: buttons, text fields, checkboxes, radio buttons, dropdown lists, list boxes, toggles, date field  Navigational Components: breadcrumb, slider, search field, pagination, slider, tags, icons  Informational Components: tooltips, icons, progress bar, notifications, message boxes, modal windows  Containers: accordion

 

There are times when multiple elements might be appropriate for displaying content. When this happens, it’s important to  consider the trade-offs. For example, sometimes elements that can help save you space, put more of a burden on the user mentally by forcing them to guess what is within the dropdown or what the element might be. Best Practices for Designing an Interface Everything stems from knowing your users, including understanding their goals, skills, preferences, and tendencies. Once you know about your user, make sure to consider the following when designing your interface:  Keep the interface simple. The best interfaces are almost invisible to the user. They avoid unnecessary elements and

are clear in the language they use on labels and in messaging. Create consistency and use common UI elements. By using common elements in your UI, users feel more comfortable and are able to get things done more quickly. It is also important to create patterns in language, layout and design throughout the site to help facilitate efficiency. Once a user learns how to do something, they should be able to transfer that skill to other parts of the site. Be purposeful in page layout. Consider the spatial relationships between items on the page and structure the page based on importance. Careful placement of items can help draw attention to the most important pieces of information and can aid scanning and readability. Strategically use color and texture. You can direct attention toward or redirect attention away from items using color, light, contrast, and texture to your advantage. Use typography to create hierarchy and clarity. Carefully consider how you use typeface. Different sizes, fonts, and arrangement of the text to help increase scanability, legibility and readability. Make sure that the system communicates what’s happening. Always inform your users of location, actions, changes in state, or errors. The use of various UI elements to communicate status and, if necessary, next steps can reduce frustration for your user. Think about the defaults. By carefully thinking about and anticipating the goals people bring to your site, you can create defaults that reduce the burden on the user. This becomes particularly important when it comes to form design where you might have an opportunity to have some fields pre-chosen or filled out.

Source: usability.gov

6


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.