Code it
2.4K views | +0 today
Scooped by nrip
onto Code it!

Sublime Text 2 for Ruby

Sublime Text 2 for Ruby | Code it |

Why Sublime Text 2?

Speed. It’s got the responsiveness of Vim/Emacs but in a full GUI environment. It doesn’t freeze/beachball. No need to install a special plugin just to have a workable “Find In Project” solution.

Polish. Some examples: Quit with one keystroke and windows and unsaved buffers are retained when you restart. Searching for files by name includes fuzzy matching and directory names. Whitespace is trimmed and newlines are added at the end of files. Configuration changes are applied instantly.

Split screen. I never felt like I missed this that much with TextMate, but I really appreciate it now. It’s ideal for having a class and unit test side-by-side on a 27-inch monitor.

Extensibility. The Python API is great for easily building your own extensions. There’s lots of example code in the wild to learn from. (More about this later.) ST2 support TextMate snippets and themes out-of-the-box.

Great for pair programming. TextMate people feel right at home. Vim users can use Vintage mode. When pairing with Vim users, they use command mode when they are driving. I just switch out of command mode and everything “just works”. (It also works on Linux, if that’s your thing.)

Updates. This is mainly just a knock on TextMate, but it’s comforting to see new dev builds pushed every couple weeks. The author also seems to be quite responsive in the user community. A build already shipped with support for retina displays, which I believe is scheduled for a TextMate release in 2014.

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...
Scooped by nrip!

How to root and hack your Android phone

How to root and hack your Android phone | Code 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

No comment yet.
Scooped by nrip!

Amazon Web Services Launches New Capabilities for Mobile Developers

Amazon Web Services Launches New Capabilities for Mobile Developers | Code 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 .
No comment yet.
Scooped by nrip!

7 coding tasks you should probably not write yourself

7 coding tasks you should probably not write yourself | Code 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
No comment yet.
Scooped by nrip!

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 |

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.

No comment yet.
Scooped by nrip!

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

5 reasons you should forget the coding bootcamp & study online instead | Code 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:

    No comment yet.
    Scooped by nrip!

    How to Write an Add-on for Google Docs

    How to Write an Add-on for Google Docs | Code 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:

    No comment yet.
    Scooped by nrip!

    5 things you probably don’t know about Google Cloud

    5 things you probably don’t know about Google Cloud | Code 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
    No comment yet.
    Scooped by nrip!

    Programmers Without TDD Will be Unemployable by 2022

    Programmers Without TDD Will be Unemployable by 2022 | Code 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

    No comment yet.
    Scooped by nrip!

    Bot traffic is up to 61.5% of all website traffic

    Bot traffic is up to 61.5% of all website traffic | Code 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

    No comment yet.
    Scooped by nrip!

    Are your programmers working hard, or are they lazy?

    Are your programmers working hard, or are they lazy? | Code 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 :

    No comment yet.
    Scooped by nrip!

    Why Google Cloud Platform may give Amazon fits

    Why Google Cloud Platform may give Amazon fits | Code it |

    Amazon Web Services remains king of cloud but from all appearances, Google Compute Platform plans to dispute that title.

    It looks like GCP is not only here to stay but it’s giving Amazon Web Services a run for its money in a few key respects including per minute pricing(yay!), pre-warmed load balancinglive migration of virtual machines between regions and improved block storage. Gigaom Research analyst Janakiram MSV called the last of these a real game-changer in a post touting ten advantages of GCP over AWS.

    more at

    No comment yet.
    Scooped by nrip!

    Facebook's latest open source effort: a flash-powered database called RocksDB

    Facebook's latest open source effort: a flash-powered database called RocksDB | Code it |

    Facebook has open sourced a new embedded database called RocksDB that’s meant to take advantage of all the performance flash has to offer, from right on the application server. It might be a sign of best practices to come.

    Facebook is on an open source roll lately, and on Thursday announced its latest open source project — an embedded key-value store called RocksDB. The company uses it to power certain user-facing applications that would suffer too much from having to access an external database over the network and to eliminate the certain problems relating to non-fully utilized IO performance on flash storage devices.

    RocksDB was designed with these new hardware realities in mind, so it can take full advantage of the IOPS potential of flash memory as well as the computing power of many-core servers, Borthakur explains. Facebook has posted the results of a benchmark test running on a Fusion-io-powered server on the RocksDB GitHub page, and claims it’s significantly faster than Google’s LevelDB embedded key-value store.

    No comment yet.
    Scooped by nrip!

    Pebble To Developers: Get Ready To Rock With New Wearable Tech Tools

    Pebble To Developers: Get Ready To Rock With New Wearable Tech Tools | Code it |

    When the Pebble smartwatch hit the market earlier this year, it hewed to a "simple is best" philosophy, offering only a limited set of features. But the company also pledged to help others develop their own creative uses for the gadget, and it's now followed through with a more fully fledged set of developer tools and better iOS 7 integration.

    The latter should interest iPhone users who want Twitter, Facebook, Skype or other alerts on their Pebble watches with a minimum of fuss. But the new software development kit, or SDK, should pique the interest of Pebble developers, particularly those itching to explore niches such as health monitoring, remote home security, automation and a variety of other futuristic features.

    Sensors lie at the heart of "cool tech" innovations these days. Want to know what your heart rate is during that run? Flip the lights and TV on as soon as you come through the door? That's the work of sensors. And soon you may be able to monitor or control gadgets around you easily and conveniently from a watch strapped to your arm.

    Pebble's Kit And Kaboodle

    Pebble launched with little more than a basic—dare I say charming?—e-paper display and a handful of features. The device handled alarms, music controls, some watch faces and alerts for email, call and texts from iPhones and Android handsets. Likewise, Pebble's first SDK was also rather minimal, allowing developers to customize watch faces or to nix backlighting or vibrations and not much else.

    Subsequent updates, along with a snazzy new sports API, made things a bit more interesting, offering support for two-way Bluetooth communication between the smartwatch and the paired smartphone. And apps like Runkeeper and FreeCaddie joined the party, essentially turning the device into a wearable fitness gadget.

    Acc to Pebble's CEO, It’s an open platform, which means anyone and everyone can hack on top of Pebble.

    No comment yet.
    Scooped by nrip!

    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 |

    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?

    No comment yet.
    Scooped by nrip!

    What Makes a Good Programmer?

    What Makes a Good Programmer? | Code 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.


    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“.


    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

    No comment yet.
    Scooped by nrip!

    Introduction To Microdata and Google Rich Snippets

    Introduction To Microdata and Google Rich Snippets | Code 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:

    No comment yet.
    Scooped by nrip!

    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 |
    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:

    No comment yet.
    Scooped by nrip!

    Feds give Amazon cloud the nod for Obamacare application

    Feds give Amazon cloud the nod for Obamacare application | Code 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  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

    No comment yet.
    Scooped by nrip!

    How to set up your own personal home cloud storage system

    How to set up your own personal home cloud storage system | Code 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

    No comment yet.
    Scooped by nrip!

    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

    No comment yet.
    Scooped by nrip!

    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

    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. 

    No comment yet.
    Scooped by nrip!

    Motion Contol in Mobile Technology

    Motion Contol in Mobile Technology | Code 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

    No comment yet.
    Scooped by nrip!

    Setting up Sublime Text for Ruby development

    Setting up Sublime Text for Ruby development | Code 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" ~/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.

    No comment yet.
    Scooped by nrip!

    The power of location and IFTTT recipes combined: Say hello to LIFTTT

    The power of location and IFTTT recipes combined: Say hello to LIFTTT | Code it |

    Location + IFTTT = Some mighty addicting ways to harness the power of your favorite web apps.

    The online service IFTTT (if this, then that) has built up a loyal fanbase of people who enjoy mixing together their favorite web apps.

    For example, using IFTTT’s recipes you can have all of your photos uploaded to Facebook or Instagram saved on a private Dropbox folder. IFTTT allows you to “put the internet to work for you,” as its slogan says.

    Now LIFTTT, a new iPhone and Android app launching today from developerVisual Candy, is adding location to the mix. In short, the app lets you add location data to any IFTTT recipe — for example, you can send yourself an email reminder when you arrive at work, or turn on devices connected to a home automation gadget like the Belkin Wemo when you get home.

    LIFTTT lets you trigger recipes whenever you leave or enter a location, and you can also specify the time and distance from the location to enable the trigger. It’s all powered by Visual Candy’s experience with low-powered location API’s, which means LIFTTT shouldn’t hurt your battery life too much. The developer previously created Uber Checkin, an app that lets you automatically check-in to locations on Foursquare.

    more at

    No comment yet.
    Scooped by nrip!

    If you could change one fundamental thing about PHP, what would it be?

    If you could change one fundamental thing about PHP, what would it be? | Code it |

    PHP‘s creator Rasmus Lerdorf did not intend to create an entirely new programming language.

    Over 20 years ago, the Danish software engineer was looking for a better way to fix what he described as a “young problem.” The PHP project kicked off in 1995 and would eventually become a server-side scripting language and general-purpose programming language used by tech giants like Facebook, Yahoo, and Etsy.


    If you could change one fundamental thing about PHP, what would it be? 

    Lerdoff: Case sensitivity in PHP —  the question of whether it should be lower case or upper case. Back then [when I started PHP] there were huge arguments, and I didn’t want to take sides in this religious argument. It’s more painful to make changes now, as much as people criticize pieces of PHP. There were semi-intelligent reasons for doing this at the time though.

    What’s your favorite programming language? 

    Lerdoff: C. I’m more of a C developer than PHP.

    Why has Facebook so heavily invested in PHP? 

    Lerdoff: PHP was supposed to be a thin layer on top of a bunch of C++ code, which is what I did at Yahoo. Facebook rolled everything out in PHP instead of translating that to C++. They just write faster Gits for PHP — I wonder what will be the next engine? Google has done some work along these lines. Maybe we’ll have some Git competition in a few years.

    I’m new to PHP — but can code in Python. Will it be a challenge to learn? 

    Lerdoff: Just dive in and download some code. Start solving problems using PHP. I often joke that I can teach a moderately intelligent monkey to write PHP in a day. The learning curve is really shallow, so you’ll get up and running really fast.

    No comment yet.
    Scooped by nrip!

    How to Become a Computer Programmer

    How to Become a Computer Programmer | Code it |

    Today, computer programmers are responsible for creating everything from web platforms which support online schools to the little computer in the coffee maker that brews the morning cup of Joe. Here's a brief history of computer programming, as well as what modern day programmers can expect from this rewarding work.


    No comment yet.