20 Subjects Every Software Engineer Should Know

Here are the most important subjects for software engineering, with brief explanations:

1.Object oriented analysis & design: For better maintainability, reusability and faster development,  the most well accepted approach, shortly OOAD and its SOLID principals are very important for software engineering.

2.Software quality factors: Software engineering depends on some very important quality factors. Understanding and applying them is crucial.

3.Data structures & algorithms: Basic data structures like array, list, stack, tree, map, set etc. and useful algorithms are vital for software development. Their logical structure should be known.

4Big-O notation: Big-O notation indicates the performance of an algorithm/code section. Understanding it is very important for comparing performances. 

5.UML notation: UML is the universal and complete language for software design & analysis. If there is lack of UML in a development process, it feels there is no engineering.

6.Software processes and metrics: Software enginnering is not a random process. It requires a high level of systematic and some numbers to monitor those techniques. So, processes and metrics are essential.

7.Design patterns: Design patterns are standard and most effective solutions for specific problems. If you don't want to reinvent the wheel, you should learn them.

8.Operating systems basics: Learning OS basics is very important because all applications runs on it. By learning it, we can have better vision, viewpoints and performance for our applications.

9.Computer organization basics: All applications including OS requires a hardware for physical interaction. So, learning computer organization basics is vital again for better vision, viewpoints and performance.

10.Network basics: Network is related with computer organization, OS and the whole information transfer process. In any case we will face it while software development. So, it is important to learn network basics.

11.Requirement analysis: Requirement analysis is the starting point and one of the most important parts of software engineering. Performing it correctly and practically needs experience but it is very essential.

12.Software testing: Testing is another important part of software engineering. Unit testing, its best practices and techniques like black box, white box, mocking, TDD, integration testing etc. are subjects which must be known.

13.Dependency management: Library (JAR, DLL etc.) management, and widely known tools (Maven, Ant,  Ivy etc.) are essential for large projects. Otherwise, antipatterns like Jar Hell are inevitable.

14.Continuous integration: Continuous integration brings easiness and automaticity for testing large modules, components and also performs auto-versioning. Its aim and tools (like Hudson etc.) should be known.

15.ORM (Object relational mapping): ORM and its widely known implementation Hibernate framework is an important technique for mapping objects into database tables. It reduces code length and maintenance time.

16.DI (Dependency Injection): DI or IoC (Inversion of Control) and its widely known implementation Spring framework makes life easy for object creation and lifetime management on big enterprise applications.

17.Version controlling systems: VCS tools (SVN, TFS, CVS etc.) are very important by saving so much time for collaborative works and versioning. Their logical viewpoint and standard cammands should be known. 

18.Internationalization (i18n): i18n by extracting strings into external files is the best way of supporting multiple languages in our applications. Its practices on different IDEs and technologies must be known.

19.Architectural patterns: Understanding architectural design patterns (like MVC, MVP, MVVM etc.) is essential for producing a maintainable, clean, extendable and testable source code.

20.Writing clean code: Working code is not enough, it must be readable and maintainable also. So, code formatting and readable code development techniques are needed to be known and applied.
Read More

Windows or Mac

10 Real Reasons to Switch to a Mac from Windows.

The Macalope recently trashed an eWeek article by Don Reisinger called Ditch Microsoft Windows In Favor of Mac OS X Lion: 10 Reasons Why. Since the article is so poor, I thought I’d write my own list, taken from over two-and-a-half decades of experience with computers, so here are …

10 Real Reasons to Switch to a Mac from Windows.

1. If you have an iPhone or iPad, you get an ecosystem that keeps all your critical things in sync easily.
Not to say that you can’t do this with Android, Google or 3rd party software, but Apple simply makes it too easy and adds music, apps photos as well, all wirelessly, via iCloud.

2. The hardware is excellent.
People may say “But it is just the same hardware in any other PC in a fancy case.” but do PC makers buy up all of a particular kind of laser just to drill microscopic holes in the case for a single light to indicate the camera is on? Can you find an Ultrabook as good as the MacBook air that doesn’t have serious compromises? Even if we’re not talking computers, just look how popular the iPhone 3GS is, still! Not only that, but …

 3. The hardware will last you 5 years.
Try getting parts for your HP or Dell in a few years. Good luck. Try getting up-to-date drivers for a PC notebook too. Good luck! With a Mac, you’ll be able to install the latest version of the operating system for at least 5 years, because, not only does Apple control both the hardware and software, but they have …

4. System software that is straight-forward.
No serial numbers, no activation. If you buy Mac OS X you can install it on all the computers you own and Apple doesn’t check. Un-intalling most apps simply means dragging them to the trash, as uninstallers aren’t needed. Even if you install, say, an internet plug-in, the files installed will all have meaningful names and you can easily uninstall most system add-ons by dragging their files to the trash. Even if you do buy a new Mac …

5. You can upgrade to a new computer or re-install the system and be up-and running quickly and easily.
You can re-install without wiping your critical data and all your apps will still work. Even if you erase the disk or are starting from a new machine, you have a number of options to import from an older Machine or hard disk via the Migration assistant. You do back up, don’t you? Regardless, on a Mac …

6. Time Machine will look after you.
Because not only does the system ask you if you want to use a disk for Time Machine, those backups can be used to migrate everything to a new install or Machine. You can be somewhat selective about what you want to import too. Of course, if you accidentally nuke an important file or files, you’ll be thankful you had hourly, daily or weekly backups, automatically taken care of in the background.
For iPhone or iPad users, backup is now done to iCloud as well, whenever you plug into the power, so you don’t have to worry about it.

7. Safety and security.
When you do need to re-install, it is usually because of a hardware upgrade of some kind. Rarely is it because of system problems, let alone malware, all of which definitively requires, like all programs, user permission to run.

8. You don’t get a computer not bogged down with OEM rubbish.
How often have you seen a brand-new PC loaded up by the manufacturer with loads of crap that you’ll almost certainly never use.  Then, even if you do put on a fresh copy of Windows, you don’t have much useful software, unlike Apple computers, which come with …

9. Most, if not all the software you need from the start.
With iLife and iWork free, you can do most of what you need to do right off the bat. Even if you do want or need mores software, you can get ..

10. Software that doesn’t suck.
Sure there is a huge ton of software for Windows, but how much of it doesn’t suck? Ever hunted for good software and had to bear bizzare and ugly user interfaces and ended up trashing the program anyway? This isn’t a problem in the Apple world, as if someone writes sucky software, because the user base is smaller, it doesn’t sell. Not to mention, with Apple’s App Store, all software is approved by Apple, so you know you’re not going to end up with rubbish, but instead, there are many apps out there written by people who love Apple and are deeply dedicated to designing the best software possible. Also, now that the iPhone and iPad have pushed software prices right down, even excellent software is quite cheap. Since use software is 100% of what you do with the machine, through the hardware, this is the most important thing.

Conclusion: "If you want to spend more money for the same result then get a Mac.  But unless you’ve got a business that heavily relies on graphics (Apple has historically made great design software and hardware) you should stick with Microsoft products."

Read More

FingerLink Turns Paper into Interactive Interface

FingerLink Turns Paper into Interactive Interface
How would you like to be able to digitally save an image or a block of text from a book or a magazine with just a touch? This is now possible, with the help of an innovative interactive interface technology from Fujitsu called the FingerLink Interaction System.
The technology consists of interactive touchscreen which is overlaid over real objects, such as paper, for instance. The Fingerlink prototype uses cameras, projectors and a scanner, reading the movement of your fingers on its interface. The camera and projector are linked by special image processing software from Fujutsu. With this tech, you are able to capture the information you want from a book or newspaper and import it as digital data, with just the swipe of a finger.

The system can detect your fingers’ movements with accuracy as you touch the printed material and it allows you to copy any images or text, which you can then project elsewhere. You can easily adjust the size of the projected image with the same finger motions.
Let’s say you want to quickly extract a picture or a block of text from a magazine. You just have to press with a fingertip in one corner of the image or the paragraph you are interested in, drag to the
Read More

Google Glass One Year Away From Public Release

Google Glass One Year Away From Public Release

Developers are playing around with the new Google Glass platform and that experimentation will last for at least the next year.
Google’s executive chairman Eric Schmidt revealed on Monday that Google Glass is “probably a year-ish away.”
With developers currently testing the Google Glass platform time is needed to create applications that will engage a new type of audience. To create those applications developers are using Google Glass “Explorer Edition” glasses. The developer sourced glasses are worth an estimated $1500.

When asked about privacy issues likely to arise because of Google Glass the Google chairman said customers should follow the same “social etiquette” expected from them when using other mobile devices. Schmidt acknowledges that users should understand when it is acceptable to record footage and use their Google Glass for other purposes.
While Eric Schmidt touts the importance of “social etiquette” the team at Google has been touting how Google Glass can be turned into an “always-on” piece of technology:

We recently revealed that the Google Glass OS is an offshoot of the Google Android OS. That compatibility with a familiar system should allow developers to create applications at a fast rate while easily observing best practices for Android app development.
The question that remains is whether or not Google Glass will be accepted by buyers. Wearable technology is still very much an emerging tech sector. With an Apple iWatch in the works, tech-based clothing already available for music lovers and travelers, and various other forms of wearable tech on the horizon we simply don’t know how far technology lovers are willing to take their use of always-on technology.
Google Glass’ first-gen technology will lose out on buyers who wear glasses but Google has promised a second-gen option that will allow for subscription based Google Glass technology.
Will you be running out to buy a pair of Google Glass in 2014?

Read More

Rumour : Start Button To Make A Return In Microsoft Windows 8.1

Microsoft, which is being berated for taking out the Start button from Windows 8, may put it back in the next major Windows update known as Windows Blue.
The classic Start menu which Windows users have come to know and love over the years, was missing in Windows 8, which was released in October 2012, resulting in an unprecedented backlash.
The Verge is also reporting that plans have been revealed to them to indeed bring back the Windows 8 start button together with the boot to desktop option also rumoured earlier this month.
According to another report by Microsoft insider Paul Thurrott, Microsoft’s Executives are the ones who are overruling objections from the Windows team about bringing back the Start button. “And I’ve separately confirmed that this is really happening, with the Start button, in particular, driven by upper management, which overruled objections from the Windows team,” Thurrott added.
It turns out, however, that Windows 8.1’s Start button will have a different behavior as compared to the traditional one, according to a report by The Verge. Microsoft is looking to bring us a Start button that would launch the Start Screen, instead of a Start Menu.
Microsoft hasn’t said a thing about such a feature, so more details will most likely be provided in June at the BUILD developer conference when the company is expected to unveil the public beta of the new OS.
Recent reports are that the global computer market fell 14% in the first quarter of 2013 with market analysts IDC putting the blame squarely on Microsoft’s shoulders with a lacklustre launch of Windows 8.
But if Microsoft brings the Start button back and adds in a few new tricks into Windows 8.1, combine that with the new Intel Haswell chips on the way and it could make for a very different second-half of the year for computer fans

Read More

Acer Ultra Thin

Source: Go here
Read More

Google Glass Won’t Have it’s Own OS

With Google Glass taking the tech world by storm over the last year you would think more details about the product would have leaked. As it turns out we weren’t even really sure what OS the Glasses would carry. Google CEO Larry Page put that question to rest during the company’s earnings call.
Page finally revealed that Google Glass does in fact run off a version of the super popular Google Android OS.

When asked about the type of engagement improvements people can expect to see while wearing Google Glass he said, “obviously, Glass runs on Android, so [Android] has been pretty transportable across devices, and I think that will continue.”

Google Glass Won't Have it's Own OS

Read More

Levitating wireless computer mouse

KIBARDIN presents a new product - levitating wireless computer mouse. The Bat is a set that consists of a base - mouse pad and floating mouse with magnet ring .

Read More

Best Internet Security Suites (April 2013)

Click on the image to enlarge!
Read More

New build of Windows 8.1 leaks, reveals Metro file explorer and touchpad improvements

We're still about two and a half months away from BUILD 2013, but Microsoft continues to spill the goods early. A few weeks ago, the internet welcomed a leak of the Windows 8 'Blue' update with open arms. Since then we've learned a lot about the update, including its real name, and now a newer copy of the OS has leaked revealing even more goodies.

It's been about half a day since Windows 8.1 build 9369 surfaced online, and savvy members of the press have already picked out all of the new additions to the software. The big new addition is one of the most requested features since Windows 8 debuted — a Metro file explorer (seen above). Simply dubbed 'Files', the app finally lets you manage your files without having to leave the Metro experience, giving you the ability to cut/copy, rename, delete, and move files. The app also integrates with SkyDrive, allowing you to switch between your local and cloud storage easily.

Two more noteworthy changes come in the Settings area. For those with a laptop, there are new trackpad settings which allow you to turn on or off edge gestures and change the scroll direction (for you Mac converts) at your leisure. Then there's the new Search features, which reveals its ability off suggestions from the web and filter results based on Bing's SafeSearch properties. You can also of course disable web results.

Lets the Beta Preview Below:

Read More

Windows 8.1 said to include boot-to-desktop option for Start screen haters

Microsoft plans to include the option to boot to the desktop instead of to the Start screen in the next version of Windows

One of the biggest complaints about Windows 8 since its launch last October is how the OS pushes you to use the Start screen. Many PC users simply want to use the desktop. The ability to boot to the desktop and bypass the Start screen entirely will likely be included in Windows 8.1 a.k.a. Windows Blue.

Some recent rumors also suggest Microsoft is considering bringing back the Start button, another thing users have been clamoring for. (That said, I find these rumors a lot less convincing than the boot-to-desktop option because the Start screen is so important for touch-enabled devices.)
What’s mildly funny about all this is that there are already apps for Windows 8 that let you boot directly to the desktop, including Pokki, Start8, and Classic Shell. Those apps also give users a Start button replacement that let you open apps and find files through an interface similar to what was found in Windows 7.

But even with those apps available, it’s important for Microsoft to make these types of changes in the OS itself because this is what many core Windows users want (especially mouse-and-keyboard stalwarts). It seems fair to give these users more choices in Windows.
Read More

Samsung And Mozilla Creating Servo – New Android Browser

SharSamsung and Mozilla are not exactly a pair that comes to mind immediately, but they have come together for a new project. Something that will, in all likelihood, only fuel the browser wars. Early this month, Mozilla made an announcement that serves to support their mission to advance the Web as a platform for all. And with that announcement came the revelation that they have partnered up with Samsung to create a new Android browser.
Samsung And Mozilla Creating Servo - New Android Browser

Meet Servo
Servo is the name of the advanced technology Web browser engine that the project revolves around. From the blog post:
"We are now pleased to announce with Samsung that together we are bringing both the Rust programming language and Servo, the experimental web browser engine, to Android and ARM. This is an exciting step in the evolution of both projects that will allow us to start deeper research with Servo on mobile. Samsung has already contributed an ARM backend to Rust and the build infrastructure necessary to cross-compile to Android, along with many other improvements."
If you’re a programmer, you can find out more about Rust and
Read More

What is Microsoft Office ‘Gemini’?

With many of Microsoft’s latest software updates being given the code name ‘Blue’ such as Windows Server Blue, Windows Blue and Windows Phone Blue etc, the next thing that has been added to this series is surprisingly called ‘Gemini.’ Despite the lack of the word Blue anywhere in the name, Gemini is definitely meant to join the Blue ranks. With all the media abuzz with its expected release many Microsoft fans are eagerly craning their necks trying to see what Gemini is all about.

What is Microsoft Office ‘Gemini’?

Well all the hubbub surrounding Gemini boils down to the fact that it is a new release of MS Office, a Blue version of Office if you will and works in conjunction with Windows Blue. Rumored to be released in waves within the next two years, Wave One of Gemini consists of an updated version of Excel, PowerPoint, Word and the One Note which will all be released in this year. Other components of Office will also be updated and
Read More