Code it
Follow
2.5K views | +0 today
Scooped by nrip
onto Code it
Scoop.it!

μJ, a Java virtual machine for microcontrollers - Hack a Day

μJ, a Java virtual machine for microcontrollers - Hack a Day | Code it | Scoop.it
[Dimitri] sent in a project he’s been working on that implements a Java Virtual Machine purely in C, and is easily portable between microcontrollers such as the AVRs and PICs we normally see, ARM devices, and even the lowly 386.

 

Before going into the ‘how’, [Dimitri] first covers why he wanted to run Java bytecode on a microcontroller. Basically, he found existing solutions like the Arduino environment too complex for people just wanting to program a chip. Arduino and PICAXE require C-like syntax and pointers; not the easiest thing when everyone and their mother can program in Java.

 

As for how [Dimitri] managed to pack a JVM into a microcontroller, that’s another story entirely. Everything in the JVM, from double, long, and float data types to exceptions, neat thread-related functions such as ‘synchronize’ and even methods such as String.charAt() and String.length() are completely optional. If your microcontroller is too small, just disable the functions you don’t need.

 

As for how well – and how fast – μJ is able to run, [Dimitri] threw up a demo of an ATMega644 and PIC24 running his JVM and a small Java app. You can check those videos out after the break, or just download the source for μJ on [Dimitri]‘s site.

more...
No comment yet.
Code it
This is a curated resource for programmers and software architects. It is regularly updated with Articles, Hacks, How Tos, Examples and Code.
Curated by nrip
Your new post is loading...
Your new post is loading...
Scooped by nrip
Scoop.it!

How to root and hack your Android phone

How to root and hack your Android phone | Code it | Scoop.it

When Google unveiled Android, it hoped it would make good quality, touchscreen smartphones accessible to everyone. To achieve this, it took the unprecedented step of making its new mobile OS open source, encouraging anyone to contribute - users and manufacturers alike

more...
No comment yet.
Scooped by nrip
Scoop.it!

Surprise! Microsoft wants its Android devices to run Windows Phone

Surprise! Microsoft wants its Android devices to run Windows Phone | Code it | Scoop.it


When Microsoft purchased Nokia it became a Android hardware manufacturer through the Nokia X line. But soon Microsoft will shift those devices to Windows Phone and the Lumia brand.



In the memos written by CEO Satyella Nadella and mobile device chief Stephen Elop announcing layoffs at Microsoft, both executives also announced a subtle change in strategy: Microsoft is planning to change the operating system of itsAndroid-powered Nokia X line to its own Windows Phone. Shocker.


According to Elop, Microsoft will continue “to sell and support existing Nokia X products” but plans to immediately shift “select future Nokia X designs and products to Windows Phone devices.” The Nokia X1, which was released earlier this year, was likely conceived and developed before Microsoft officially took over Nokia. The Nokia X2, its successor, was announced by Microsoft last month, and it will still run Nokia’s version of Android, but future low-cost devices most likely will not.

more at http://gigaom.com/2014/07/17/surprise-microsoft-wants-its-android-devices-to-run-windows-phone/



more...
No comment yet.
Scooped by nrip
Scoop.it!

It's Time To Bet Big On Node.js

It's Time To Bet Big On Node.js | Code it | Scoop.it

Here’s a sure indication that Node.js is getting big: more employers are marking the server-side framework with JavaScript as a required job skill.


The fact that demand for Node.js jobs has grown so starkly since 2011 indicates the framework’s potential to remake the programming landscape. As need for their talent grows, Node.js developers could be some of the most highly sought after in the future.


An increasingly mobile Web has paralleled the rise of Node.js. Mobile devices make up at least 30% of total Web traffic, and Node.js is a framework with a lot to offer mobile app developers.


Mobile apps are designed to serve Web pages to mobile users. Most of the heavy lifting goes on in the back end of a mobile app, where websites are made available and managed. That means back-end frameworks, like lightweight Node.js, are enjoying a moment in the spotlight.


Node.js makes a great back-end framework for mobile development because its core purpose is to respond to network requests. The way this works on mobile is that iOS, Android and other mobile web clients connect to NodeJS over HTTP to send requests through an API.


Since Node.js is an asynchronous framework, it is able to handle multiple HTTP requests in tandem, and therefore handle more traffic than many competing back-end frameworks. Combine it with Node.js’s ease of development (since it uses popular language JavaScript), and you’ve got the technical explanation for why developers refer to Node.js as fast or “responsive.”


Larger technology companies have already noticed the appeal. In 2011, LinkedIn swapped Ruby on Rails for an overhauled mobile app running Node.js. 


The spike in job listings is an indication that still more companies are hoping to adopt Node.js into their mobile plans. Developers, it’s time to list “Node.js” higher up on your resumes.


more at http://readwrite.com/2014/07/15/bet-big-node-js



more...
No comment yet.
Scooped by nrip
Scoop.it!

What Makes a Good Check-in?

What Makes a Good Check-in? | Code it | Scoop.it
Few organizations have strong opinions and articulated policies on what a check-in should consist of. As long as the check-in is more or less usable in a code review, it's generally considered good enough. We can do better than this by making the contents of check-ins truly useful additions to the development process.

The central unit of work within any version-control system (VCS) is the check-in: committing one or more files into a repository. This records the current state of the files and preserves a record of their history. In this article, I examine the wide range of check-ins — from the minimal to the overly large — and identify the elements of a useful check-in and the costs of doing check-ins wrong.


 A check-in is an atomic operation that makes previously isolated changes visible to other users. A check-in can affect several files to keep the project consistent, just as a transaction can update multiple records and tables at once.  (To be accurate, some legacy VCSs such as CVS or Visual Source Safe only allow check-ins of single files. However, all modern VCSs support atomic commits across several files.)


Ideally, every check-in should move the project from one consistent buildable and tested state to the next. The VCS ensures that the history of these changes is stored durably.


A check-in differs from a database transaction in that it preserves the history of changes, including the author, and usually some documentation (a comment or link to a change request).

Similarity to Storytelling

Together, all check-ins tell the story of how a project has developed. The best stories have a strong theme, a fascinating plot, a fitting structure, unforgettable characters, a well-chosen setting, and an appealing style.


A good check-in is like a sub-plot with its own theme; it makes it easy and interesting for others to read and understand the purpose and execution of each change.


more at http://www.drdobbs.com/architecture-and-design/what-makes-a-good-check-in/240168601


more...
No comment yet.
Scooped by nrip
Scoop.it!

Amazon Web Services Launches New Capabilities for Mobile Developers

Amazon Web Services Launches New Capabilities for Mobile Developers | Code it | Scoop.it

Amazon Web Services  today announced several new capabilities to make it easier for developers to build, deploy, and scale mobile applications. Amazon Cognito is a new service that provides simple user identity and data synchronization that lets developers create apps that authenticate users through popular public login providers, and then keep app data such as user preferences and game state synced between devices.


The new Amazon Mobile Analytics service allows developers to easily collect and analyze app usage data, up to billions of events per day from millions of users, and delivers usage reports within an hour of data being sent by the app. AWS is also introducing a new unified Mobile Software Development Kit (SDK) that makes it easy for iOS, Android, and Fire OS developers to access the new Amazon Cognito and Amazon Mobile Analytics services as well as popular AWS services like Amazon S3 and Amazon DynamoDB.


Today, many app developers around the world use the AWS Cloud as infrastructure building blocks for the back-end services that power their mobile applications. Still, these mobile app developers have had to spend valuable time on undifferentiated heavy lifting like connecting apps to storage and database services and integrating core functionality such as authentication, user management, notifications, and usage data analytics. With Amazon Cognito, Amazon Mobile Analytics, and the AWS Mobile SDK, developers are now able to focus more of their energy on what matters, the differentiated functionality of their app that attracts and retains end users.


With AWS Mobile Services, developers can:


  • Securely store, manage, and sync user identities and data (Amazon Cognito)

  • Quickly access and understand app usage data (Amazon Mobile Analytics)

  • Easily connect apps to AWS services (AWS Mobile SDK)

  • Send notifications, updates, and promotions across platforms (Amazon SNS)



To get started with AWS Mobile Services, visit http://aws.amazon.com/mobile .
more...
No comment yet.
Scooped by nrip
Scoop.it!

7 coding tasks you should probably not write yourself

7 coding tasks you should probably not write yourself | Code it | Scoop.it

When writing code, these 7 coding tasks are ones you should probably not write yourself


As programmers, we like to solve problems. We like to get ideas to spring from our heads, channel through our fingertips, and create magical solutions.


But sometimes we are too quick to jump in and start cranking out code to solve the problem without considering all the implications of the issues we’re trying to solve. We don’t consider that someone else might have already solved this problem, with code available for our use that has already been written, tested, and debugged. Sometimes we just need to stop and think before we start typing.

1. Parsing HTML or XML
2. Parsing CSV and JSON
3. Email address validation
4. Processing URLs
5. Date/time manipulation
6. Templating systems
more...
No comment yet.
Scooped by nrip
Scoop.it!

Intel and other gadget makers create a standards body for the Internet of things

Intel and other gadget makers create a standards body for the Internet of things | Code it | Scoop.it

An alliance of big tech companies has formed to create standards for communications related to the Internet of things and all electronic devices.


The Open Interconnect Consortium wants to deliver an open-source specification for wirelessly connecting devices. The members include Atmel, Broadcom, Dell, Intel, Samsung, and Intel’s Wind River embedded-software division. The group seeks to accelerate the development of the Internet of things.


The Open Interconnect Consortium’s first open-source code will target smart homes and office solutions.


The Internet of things is expected to consist of 212 billion devices by the year 2020, including PCs, smartphones, tablets, wearables, and a variety of home and industrial appliances, according to market researcher International Data Corp. But to achieve that, chip makers and others in the electronics food chain must agree upon how to connect wireless devices together.


The companies want to create a communications framework based on industry standard technologies to wirelessly connect and manage the flow of data among devices. They want the communications to work regardless of form factor, operating system, or service provider.

more...
No comment yet.
Scooped by nrip
Scoop.it!

5 reasons you should forget the coding bootcamp & study online instead

5 reasons you should forget the coding bootcamp & study online instead | Code it | Scoop.it

Teaching coding languages and skills is a critical need in today’s technology-infused society, but we’re falling behind in the talent wars.

Even though programming jobs are some of the best paying in the world, the gap of qualified developers and programmers is only projected to increase in the next several years. In fact, it’s estimated that there will be 1 million jobs left vacant by 2020 because of this alarming lack of qualified developers.


The lack of qualified talent in the computer science field has created fertile ground for the growing number of coding boot camps popping up across the nation. In fact, a recent study found that this year, the number of boot camp graduates is expected to triple from last year’s numbers, yielding nearly 6,000 graduates.


These intensive, multi-week full-time courses claim that they provide students with the necessary skills they need to join the world of developers.


While boot camps can assist with providing new skillsets and helping fill the talent gap, they are still somewhat limited in what they can offer. Here are a few reasons why e-learning is a better alternative:


    more...
    No comment yet.
    Scooped by nrip
    Scoop.it!

    How to Write an Add-on for Google Docs

    How to Write an Add-on for Google Docs | Code it | Scoop.it

    You have seen examples of some really useful add-ons for Google Docs but wouldn’t it be great if you could write your own add-on, one that adds new features to your Google Docs, one that makes you a rock star among the millions of Google Docs users.


    Well, it ain’t that difficult. If you know some HTML, CSS and JavaScript, you can create a Google Docs add-on.


    Create a Google Add-on for Docs & Sheets

    This step-by-step tutorial (download) will walk you through the process of creating your own add-on for Google Docs. The add-on used in the demo lets you insert a image of any address on Google Maps inside a Google Document without requiring any screen capture software.


    more at: http://www.labnol.org/internet/write-google-docs-addon/28446/




    more...
    No comment yet.
    Scooped by nrip
    Scoop.it!

    5 things you probably don’t know about Google Cloud

    5 things you probably don’t know about Google Cloud | Code it | Scoop.it
    Not all cloud infrastructure is the same, as David Mytton discovered when he started looking into Google Cloud. The service differs markedly from AWS and SoftLayer in these five key ways.


    Amazon has set the standard for how we expect cloud infrastructure to behave, but Google doesn’t conform to these standards in some surprising ways. So, if you’re looking at Google Cloud, here are some things you need to be aware of.

    1. Google Compute Engine Zones are probably in Ireland and Oklahoma2. Google’s Compute Zones may be isolated, but they’re surprisingly close together3. Scheduled maintenance takes zones offline for up to two weeks
    4. You cannot guarantee where your data will be located
    5. Connectivity across regions isn’t fast
    more...
    No comment yet.
    Scooped by nrip
    Scoop.it!

    Programmers Without TDD Will be Unemployable by 2022

    Programmers Without TDD Will be Unemployable by 2022 | Code it | Scoop.it

    I’m not making any predictions about the quality of the TDD undertaken. Like programming in general I expect the best will be truly excellent, while the bulk will be at best medicare.

    What I am claiming is: 

    • It will not be acceptable to question TDD in an interview. It will be so accepted that anyone doesn’t know what TDD is, who can’t use TDD in an exercise or who claims “I don’t do TDD because its a waste of time” or “TDD is unproven” will not get the job. (I already know companies where this is the case, I expect it to be universal by 2022.)
    • Programmers will once again be expected to write unit tests for their work. (Before the home computer revolution I believe most professional programmers actually did this. My generation didn’t.)
    • Unit testing will be overwhelmingly automated. Manual testing is a sin. Manual unit testing doubly so.

    And I believe, in general, software will be better (fewer bugs, more maintainable) as a result of these changes, and as a result programmer productivity will be generally higher (even if they write less code they will have fewer bugs to fix.)


    read the whole article at http://css.dzone.com/articles/programmers-without-tdd-will

    more...
    No comment yet.
    Scooped by nrip
    Scoop.it!

    Bot traffic is up to 61.5% of all website traffic

    Bot traffic is up to 61.5% of all website traffic | Code it | Scoop.it
    Bot traffic is up to 61.5% of all website traffic. Is Google winning the war on spam?


    Report HighlightsBot Traffic is up by 21%

    Compared to the previous report from 2012, we see a 21% growth in total bot traffic, which now represents 61.5% of website visitors. The bulk of that growth is attributed to increased visits by good bots (i.e., certified agents of legitimate software, such as search engines) whose presence increased from 20% to 31% in 2013. Looking at user-agent data we can provide two plausible explanations of this growth:

    • Evolution of Web Based Services: Emergence of new online services introduces new bot types into the pool. For instance, we see newly established SEO oriented services that crawl a site at a rate of 30-50 daily visits or more.
    • Increased activity of existing bots: Visitation patterns of some good bots (e.g., search engine type crawlers) consist of re-occurring cycles. In some cases we see that these cycles are getting shorter and shorter to allow higher sampling rates, which also results in additional bot traffic.
    31% of Bots Are Still Malicious, but with Much Fewer Spammers

    While the relative percentage of malicious bots remains unchanged, there is a noticeable reduction in Spam Bot activity, which decreased from 2% in 2012 to 0.5% in 2013. The most plausible explanation for this steep decrease is Google’s anti-spam campaign, which includes the recent Penguin 2.0 and 2.1 updates.

    SEO link building was always a major motivation for automated link spamming. With its latest Penguin updates Google managed to increase the perceivable risk for comment spamming SEO techniques, while also driving down their actual effectiveness.

    Based on our figures, it looks like Google was able to discourage link spamming practices, causing a 75% decrease in automated link spamming activity.

    Evidence of More Sophisticated Hacker Activity

    Another point of interest is the 8% increase in the activity of “Other Impersonators” - a group which consists of unclassified bots with hostile intentions.

    The common denominator for this group is that all of its members are trying to assume someone else’s identity. For example, some of these bots use browser user-agents while others try to pass themselves as search engine bots or agents of other legitimate services. The goal is always the same - to infiltrate their way through the website’s security measures.


    The generalized definition of such non-human agents also reflects on these bots’ origins. Where other malicious bots are agents of known malware with a dedicated developer, GUI, “brand” name and patch history, these “Impersonators” are custom-made bots, usually crafted for a very specific malicious activity.


    more at http://www.incapsula.com/the-incapsula-blog/item/820-bot-traffic-report-2013

    more...
    No comment yet.
    Scooped by nrip
    Scoop.it!

    Are your programmers working hard, or are they lazy?

    Are your programmers working hard, or are they lazy? | Code it | Scoop.it

    When people are doing a physical task, it’s easy to assess how hard they are working. You can see the physical movement, the sweat. You also see the result of their work: the brick wall rising, the hole in the ground getting bigger. Recognizing and rewarding hard work is a pretty fundamental human instinct, it is one of the reasons we find endurance sports so fascinating. This instinctive appreciation of physical hard work is a problem when it comes to managing creative-technical employees. Effective knowledge workers often don’t look like they are working very hard.


    It’s very hard to tell if that guy sweating away, working late nights and weekends, constantly fire-fighting, is showing great commitment to making a really really complex system work, or is just failing.


    Unless you can afford to have two or more competing teams solving the same problem, and c’mon, who would do that, you will never know. Conversely, what about the guy sitting in the corner who works 9 to 5, and seems to spend a lot of time reading the internet? Is he just very proficient at writing stable reliable code, or is his job just easier than everyone else’s? To the casual observer, the first chap is working really hard, the second one isn’t. Hard work is good, laziness is bad, surely?


    I would submit that the appearance of hard work is often an indication of failure. Software development often isn’t done well in a pressurised, interrupt driven, environment. It’s often not a good idea to work long hours. Sometimes the best way of solving a difficult problem is to stop thinking about it, go for a walk, or even better, get a good night’s sleep and let your subconscious solve it. One of my favourite books is A Mathematician’s Apology by G. H. Hardy, one of the leading British mathematicians of the 20th century. In it he describes his daily routine: four hours work in the morning followed by an afternoon of watching cricket. He says that it’s pointless and unproductive to do hard mental work for more than four hours a day.


    more at : http://server.dzone.com/articles/are-your-programmers-working

    more...
    No comment yet.
    Scooped by nrip
    Scoop.it!

    Adding captions and subtitles to HTML5 video

    Adding captions and subtitles to HTML5 video | Code it | Scoop.it
    In other articles we looked at how to build a cross browser video player using the HTMLMediaElement and Window.fullScreen APIs, and also at how to style the player. This article will take the same player and show how to add captions and subtitles to it, using Web_Video_Text_Tracks_Format and the track element.


    HTML5 and Video Captions


    Before diving into how to add captions to the video player, there are a number of things that we will first mention, which you should be aware of before we start.


    Captions versus subtitles


    Captions and subtitles are not the same thing: they have significantly different audiences, and convey different information, and it is recommended that you read up on the differences if you are not sure what they are. They are however implemented in the same way technically, so the material in this article will apply to both.

    For this article we will refer to the text tracks displayed as captions, as their content is aimed at hearing people who have difficulty understanding the language of the film, rather than deaf or hard-of-hearing people.


    more...
    No comment yet.
    Scooped by nrip
    Scoop.it!

    PredictionIO raises $2.5M and wants to be MySQL for machine learning

    PredictionIO raises $2.5M and wants to be MySQL for machine learning | Code it | Scoop.it

    A startup called PredictionIO has raised $2.5 million in seed capital to help it try and make a business out of open source machine learning software. Unlike previous open source projects, though, PredictionIO is designed to be easy to get started with and use, even by developers who aren’t data scientists.


    PredictionIO claims developers can be writing predictive models for their applications in minutes, primarily it seems around things such as recommendation and personalization. The software is available as a download or as cloud instance on Amazon Web Services. The company itself is part of three startup accelerators – MozillaWebFWD, 500Startups and StartX.


    Machine learning is a potentially lucrative software market, and PredictionIO is tackling it by trying to split the difference between open-source and proprietary tools. Open source software is popular — in machine learning that includes projects such as Mahout, scikit-learn and, at some point, Oryx — but often hard to deploy and use. Commercial software is getting much better — with the release of products likeGraphLab Create and Microsoft’s new Azure machine learning service — but can be too much like a black box, PredictionIO contends.

    more...
    No comment yet.
    Scooped by nrip
    Scoop.it!

    AWS customers can now use Nginx for media streaming

    AWS customers can now use Nginx for media streaming | Code it | Scoop.it

    After a year-long “pilot program,” server software maker Nginx is officially launching several paid services on Amazon Web Services (AWS) today. While Nginx Plus has been available (if not promoted) for the whole pilot program, there are two new additions to Nginx’s cloud product lineup: support for its streaming media server and annual subscriptions for all its services.


    Now sites and applications using Amazon’s Elastic Compute Cloud (EC2) can use Nginx’s streaming media server as a video streaming solution. A module extension to Nginx’s web server product, Nginx streaming supports “all common video formats” — from MP4 and FLV to Apple HLS and Adobe HDS — and can adjust the quality of a video on the fly based on the speed of a connection.


    Nginx Plus, Nginx’s other AWS product, is the commercial version of the popular open-source, Linux-based Nginx web server technology.


    Essentially, it’s web server and networking software that you can embed inside an app. The company touts features like application load balancing, advanced cache control, and monitoring tools as reasons why AWS customers should upgrade from the free version.


    “Building a great application is half the battle, delivering it is the other half … so our focus is all about application delivery,” Robertson said.


    Nginx has brought annual subscription prices to its AWS customers, offering an Nginx Plus instance for $1,500 annually rather than a $0.04 per hour base price (based on EC2 instance type), and streaming media server support for $700 annually versus a $0.10 per hour flat rate.


    Paying an annual subscription up front can be cheaper than paying for each service hourly, while customers who want to hedge their bets can use a combination of both annual and hourly services.

    more...
    No comment yet.
    Scooped by nrip
    Scoop.it!

    Python is Now the Most Popular Introductory Teaching Language at Top U.S. Universities

    Python is Now the Most Popular Introductory Teaching Language at Top U.S. Universities | Code it | Scoop.it

    At the time of writing (July 2014), Python is currently the most popular language for teaching introductory computer science courses at top-ranked U.S. departments.


    Specifically, eight of the top 10 CS departments (80%), and 27 of the top 39 (69%), teach Python in introductory CS0 or CS1 courses.


    Python is the most popular language in this list. It narrowly surpassed Java, which has been the dominant introductory teaching language over the past decade. Some schools have fully switched over to Python, while others take a hybrid approach, offering Python in CS0 and keeping Java in CS1. However, at the high school level, Java is still used in the AP (Advanced Placement) curriculum.


    The next most popular language is MATLAB, which is often used in CS0 courses to introduce scientists and engineers to programming. C++ is next on the list, but it's been firmly supplanted by Java over the past decade. The high school AP curriculum even replaced C++ with Java in 2003. C is just as popular as C++ in this list, but some introductory courses that use C (such as Harvard's CS50) teach it alongside other languages rather than having it be the sole language.


    Scheme-based languages are popular amongst a devoted subset of educators and programming language researchers. Most notably, two (somewhat rival) philosophical camps -- SICP and HtDP -- have created acclaimed textbooks and courses around the Scheme ecosystem. But in recent years, Scheme has been phased out in favor of Python at places such as MIT and UC Berkeley. It's being used in only 4 schools in this list.


    Scratch is the only visual, blocks-based language that made this list. It's one of the most popular languages of this genre, which include related projects such as Alice, App Inventor, Etoys, Kodu, StarLogo, andTouchDevelop. The creators of these sorts of languages focus mostly on K-12 education, which might explain why they haven't gotten as much adoption at the university level.


    Finally, note that three interesting sets of languages didn't make it on this chart because they were used in either zero or one university in our sample:

    • Statically-typed functional languages such as Haskell and OCaml, which are popular amongst PL researchers
    • Dynamically-typed languages such as JavaScript, Ruby, and PHP, which are popular amongst Web programmers
    • Widely-used industry languages that are commonly associated with specific proprietary platforms, such as Objective-C (Apple) and C#/Visual Basic (Microsoft)


    If we revisit this analysis in five, ten, or twenty years, which language will be in the lead then?

    more...
    No comment yet.
    Scooped by nrip
    Scoop.it!

    What Makes a Good Programmer?

    What Makes a Good Programmer? | Code it | Scoop.it

    What makes a good programmer? It’s an interesting question to ask yourself. It makes you reflect on the craft of software development. It is also a good question to ask your colleagues. It can trigger some interesting discussions on how you work together. Here are five skills I think are crucial to have in order to be a good programmer.

    1. PROBLEM DECOMPOSITION

    Programming is about solving problems. But before you write any code, you need to be clear on how to solve the problem. One skill good programmers have is the ability to break the problem down in smaller and smaller parts, until each part can be easily solved. But it is not enough simply to find a way to solve the problem. A good programmer finds a way to model the problem in such a way that the resulting program is easy to reason about, easy to implement and easy to test.

    Some of the most complicated programs I have worked on were complicated in part because the implementation did not fit the problem very well. This led to code that was hard to understand. When the problem is well modeled, I agree with Bernie Cosell (interviewed in the excellent  Coders at Work):


    …there are very few inherently hard programs. If you are looking at a piece of code and it looks very hard – if you can’t understand what this thing is supposed to be doing – that’s almost always an indication that it was poorly thought through. At that point you don’t roll up your sleeves and try to fix the code; you take a step back and think it through again. When you’ve thought it through enough, you’ll find out that it’s easy“.

    2. SCENARIO ANALYSIS

    Good developers have the ability to consider many different scenarios for the program. This applies both to the logic in the program, and to the internal and external events that can occur. To consider the different paths in the logic, they ask questions like: 


    What happens if this argument is null? What if none of these conditions are true? Is this method thread-safe? To discover what types of events the software needs to handle, they will ask questions like: What if this queue becomes full? What if there is no response to this request? What if the other server restarts while this server is restarting?


    The good programmers ask themselves: How can this break? In other words, they have the ability to think like testers. In contrast, inexperienced programmers mostly only consider the “happy path” – the normal flow of control when everything goes as expected (which it does most of the time). But of course, the unexpected inevitably happens, and the program needs to be able to cope with that.


    more at http://java.dzone.com/articles/what-makes-good-programmer


    more...
    No comment yet.
    Scooped by nrip
    Scoop.it!

    Introduction To Microdata and Google Rich Snippets

    Introduction To Microdata and Google Rich Snippets | Code it | Scoop.it

    HTML5 is taking web documents to a next level, by adding semantics. HTML5 contains several semantics elements but they are not enough to annotate your content. You can tag your content with Microdata to build a better web document which can be understood by machines. 


    Need for Semantics 

    • Machines cannot understand the content and the context.

    • Making sense out of the web content is too hard for machines.

    • If they have to understand everything, they have to be able to understand natural languages, every language.

    • So semantics were helpful to provide meaning to the web content and help understand the content by annotating them.


    Need for Microdata

    • HTML5 is not only about new presentational elements. It adds several semantic tags.

    • Everyone comes up with their need for new semantic elements. It’s not practical to put an element in specification to accommodate each and every semantics to provide relevant meaning.

    • New formats like Microdata, Microformats and RDFa for data markup were created to accommodate such needs.


    Read more: http://ksg91.com/2014/07/09/introduction-microdata-google-rich-snippets/#ixzz36xcVx8M2

    more...
    No comment yet.
    Scooped by nrip
    Scoop.it!

    Android apps rumored to run on Windows Phones: Crazy-sounding but possible

    Android apps rumored to run on Windows Phones: Crazy-sounding but possible | Code it | Scoop.it
    If Android apps were good enough for BlackBerry, might they appeal to Microsoft too? Yes, says one tipster, claiming that all Lumia phones will be able to run Android apps in the future. It’s certainly possible but is it worth it?


    As Microsoft continues to evolve Windows Phone in hopes of greater market share, its latest trick could be to support Android apps on its handsets. That’s the latest rumor, according to Eldar Murtzin, a long-time industry insider who has a few correct predictions to his name. Murtzin tweeted the information on Tuesday morning, sounding pretty certain:


    more...
    No comment yet.
    Scooped by nrip
    Scoop.it!

    Feds give Amazon cloud the nod for Obamacare application

    Feds give Amazon cloud the nod for Obamacare application | Code it | Scoop.it

    The cloud market is nothing if not fluid. Businesses must weigh concerns sparked by Edward Snowden’s disclosures of government scooping up customer data from cloud providers and the agility and flexibility that cloud computing offers. There is appeal in renting, not buying, compute and storage, especially for spiky workloads but … you have to worry about all that data.


    Given all that, it the move to cloud still seems inexorable.

    Last week,  the federal Centers for Medicare and Medicaid Services (CMS) told health insurers that they can use Amazon Web Services to store data they need to share with it, according to CNBC.com.  AWS storage costs would be between $6,000 and $24,000 annually per insurer.


    According to CNBC, Aaron Albright, CMS spokesman said:


    “Based on feedback from stakeholders, CMS is offering issuers a new option for data reporting under the risk adjustment and reinsurance program … Issuers may select the option that best works for them for reporting data that is expected to begin later this year.”


    This was probably welcome news to some, but not all, of the insurers since some had already bought the hardware they were told they’d need to handle their workloads.


    more at http://gigaom.com/2014/06/08/feds-give-amazon-cloud-the-nod-for-obamacare-application/


    more...
    No comment yet.
    Scooped by nrip
    Scoop.it!

    How to set up your own personal home cloud storage system

    How to set up your own personal home cloud storage system | Code it | Scoop.it

    Storing documents on file sharing services like Dropbox and Google Drive has become a common practice online in the last five years. In that time, as people create, edit and hoard older data files, they find they are running short of the free space included with an account.


    With more and more people opting for either a tablet-only existence or switching from a traditional desktop computer with multiple internal drives to a laptop with a much smaller SSD drive, finding an alternate storage system is important.


    At a cost of between $0.05 and $0.10 per gigabyte per month for additional online storage, you can spend anywhere from $500 to $600 per year for just 1 terabyte. As you will see, a more economical solution is to own your own personal cloud hosted on your home network.


    read the rest at http://gigaom.com/2014/03/01/how-to-set-up-your-own-personal-home-cloud-storage-system/


    more...
    No comment yet.
    Scooped by nrip
    Scoop.it!

    5 things everyone should know about Hadoop

    It wasn’t too long ago that Hadoop was a shiny new technology — familiar to large web companies but foreign (and fascinating) to everyone else. Things changed fast and Hadoop is now a billion-dollar IT market underpinning big data efforts by companies of all stripes. Mike Olson, co-founder and chief strategy officer (and former CEO) of Cloudera, came on the Structure Show podcast this week to tell us where Hadoop is now and where it’s headed.


    Big data is no place for the weak

    “If we had to identify the single defining characteristic of the [Hadoop] market this year and going forward, it’s that shift in the competitive dynamic,” Olson explained. “It’s no longer a band of hearty, wild-eyed visionaries, venture-backed companies battling for market share with one another, but really the entrance of large and well-capitalized companies with very large installed bases and very good field relations with those guys who are going to shape how we — Cloudera — does business and really are going to shape how the market develops over the coming seven years.”


    more at http://gigaom.com/2014/02/15/5-things-everyone-should-know-about-hadoop/


    more...
    No comment yet.
    Scooped by nrip
    Scoop.it!

    Is Good Code Impossible?

    When you hit your teenage years you decide you want to be a software developer. During your high school years, you learn how to write software using object-oriented principles. When you graduate to college, you apply all the principles you’ve learned to areas such as Artificial Intelligence or 3D graphics.


    And when you hit the professional circuit, you begin your never-ending quest to write commercial-quality, maintainable, and “perfect” code that will stand the test of time.


    Commercial-quality. Huh. That’s pretty funny.


    I consider myself lucky, I *love* design patterns. I like studying the theory of coding perfection. I have no problem starting up an hour-long discussion about why my XP partner’s choice of inheritance hierarchy is wrong — that HAS-A is better than IS-A in so many cases. But something has been bugging me lately and I am wondering something…

    …is good code impossible in modern software development?

    The Typical Project Proposal

    As a full-time contract developer (and part-time), I spend my days (and nights) developing mobile applications for clients. And what I’ve learned over the many years I’ve been doing this is that the demands of client work preclude me from writing the real quality apps that I’d like to be.

    Before I begin, let me just say it’s not for a lack of trying. I love the topic of clean code. I don’t know anyone who pursues that perfect software design like I do. It’s the execution that I find more elusive, and not for the reason you think.


    Here, let me tell you a story.


    Towards the end of last year, a pretty well-known company put out an RFP (Request for Proposol) to have an app built for them. They’re a huge retailer, but for the sake of anonymity let’s call them Gorilla Mart. They say they need to create an iPhone presence and would like an app produced for them by Black Friday. The catch? It’s already November 1st. That leaves just under 4 weeks to create the app. Oh, and at this time Apple is still taking two weeks to approve apps. (Ah, the good old days.) So, wait, this app has to be written in…TWO WEEKS?!?!


    Yes. We have two weeks to write this app. And unfortunately, we’ve won the bid. (In business, client importance matters.) This is going to happen.


    more at http://raptureinvenice.com/is-good-code-impossible/


    This is one of my favorite blog posts of the past few years. I have re read it to get a laugh so many times, I cant remember. 

    more...
    No comment yet.
    Scooped by nrip
    Scoop.it!

    Motion Contol in Mobile Technology

    Motion Contol in Mobile Technology | Code it | Scoop.it

    When the Samsung Galaxy S4 debuted, there was a lot of hoopla over its Air Gesture and Eye Scroll features. With Air Gesture, users can simply wave a hand over the phone and it will respond accordingly, by answering a call or skipping to the next track. Eye Scroll uses eye movement to move up or down a page.


    Many users ultimately found the features underwhelming, but it doesn’t really matter. These new features — still in their infant stages — mark another milestone for mobile.


    The problem with “smart” devices

    When we took computers and crammed them into tiny phones, we brought with us the way we had always done things. The problem — as any smartphone user knows — is that it’s hard to control an application’s interface when it’s centered on tiny buttons. There’s no tactile feedback, and visual feedback is often insufficient. Victims of autocorrect know what I’m talking about.


    If users get frustrated with these devices, they might give them up altogether. It’s imperative that user interface design becomes the core focus.

    The future in motion

    Some user interface interactions are slowly being taken over by voice. But with 85 percent of iOS7 users saying they haven’t used Siri, it’s clear that “silent interaction” is still an important factor in how people use smart devices.

    Some companies are already implementing gestures in their interface:

    • Dolphin browser: Dolphin is a Web browser that allows you to map gestures to specific websites. For instance, you can set it to go to Google when you draw a “G” or to your wife’s blog when you draw a heart. It’s much more efficient than typing full URLs.
    • Keyboard innovation: These keyboards replace buttons, like the space bar and backspace, with gestures. Want to delete that last word? Swipe once to the left. Need to type a name? A swipe up will temporarily disable autocorrect.
    • Aviate desktop: Aviate organizes my apps based on where I am and what time of day it is. When I wake up in the morning, one flick brings up my morning routine apps. Considering that U.S. smartphone users average 41 apps per phone, this makes navigating those apps extremely simple.

    Motion is everywhere

    It’s not just our smartphones that will soon be controlled by motion. Three years ago, Microsoft launched the Kinect gaming system, which uses an RGB camera, depth sensor, and microphone to allow users to control a video game without a controller. The Leap Motion device takes accuracy further — it plugs into a computer and lets users control the system using air gestures.

    With more device manufacturers including gesture controls in operating systems, users are becoming more accustomed to using them daily. Startups that want to build the best apps will have to include motion controls in their interfaces to compete.


    more at http://medcitynews.com/2013/12/future-mobile-technology-motion-control/

    more...
    No comment yet.
    Scooped by nrip
    Scoop.it!

    Setting up Sublime Text for Ruby development

    Setting up Sublime Text for Ruby development | Code it | Scoop.it

    Sublime Text 3 (ST3) is a lightweight, cross platform, blazing fast text editor with Chrome-like tabs and split window layouts. There is a relatively huge amount of support for it, because there are many who have fallen in love with it. At last count there were over 1,300 “packages” available for it to enhance its functionality, appearance, and general usability. Once you have a few settings tweaked and packages installed, which is a very simple process, you’ll really come to like Sublime Text. And you will need to set up some preferences, because out of the box it’s pretty standard. It’s so easy, I’ll just tell you quickly how to do that now.


    Getting Started

    Here are the steps I usually follow to take a new ST3 install from good to awesome:

    1. Install the subl command line tool. Assuming ~/bin is in your path:
      ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" ~/bin/subl

      On Ubuntu, I recommend installing ST3 from PPA, it will spare you from symlinking.

      Optionally, you can now make Sublime Text the default editor for git:
      git config --global core.editor "subl --new-window --wait"

    2. Install Package Control. Package Control makes it easy to install/remove/upgrade ST3 packages.

      Follow these instructions and reboot ST3 when done. (You only need to do this once. From now on you’ll use Package Control to manage ST3 packages.)

    3. Install the Soda theme and RailsCasts color scheme. This dramatically improves the look and feel of the editor.

      Use Package Control to install Soda:

      • Press ⌘⇧P to open the Command Palette.
      • Select “Package Control: Install Package” and hit Enter.
      • Type “Theme - Soda” and hit Enter to install the Soda package.

      Do the same for the package called “RailsCasts Colour Scheme”.

    4. Start with a basic Settings file. You can use mine, which will activate the Soda Light theme and RailsCasts color scheme. Reboot Sublime Text 3 so the Soda theme applies correctly. You can browse the default settings that ship with ST3 by choosing Sublime Text > Preferences > Settings - Default to learn what you can configure.

    5. Install more packages. My essentials are All AutocompleteBeautifyRubyChangeQuotesCoffeeScript,SideBarEnhancements and GitGutter. GitGutter shows whether each line has been added, modified, and where lines have been removed.

    more...
    No comment yet.