Credits: Siliconrepublic

Credits: Siliconrepublic

A snazzy spot

We meet in Etsy’s pretty snazzy Dublin office, with Lerdorf working as an engineer for the company for a few years now after his role as adviser started reaching a bit beyond the title.

“Etsy grew large enough to afford me,” he jokes, but really his history at Yahoo – where he spent seven years – with Etsy’s creators meant he’s had his fingers in the company pie since very early on.

He notes that computer science purists love the art of coding, “if the algorithm is cool, if the integration is pretty, they’re happy,” he says. “For me, it’s all about the end product, not how I got there.”

Programming is a process towards creating a good online service, much like flying is a process to get him from San Francisco to Dublin. “I hate flying,” he says, “but I’m here.”

Etsy Rasmus Lerdorf

Taking the scenic route

So how did he get here, into a Dublin office that seems remarkably, well, American? Born in Greenland, Lerdorf left for Denmark at just three years of age.

From there he moved to Toronto at 13, attending the University of Waterloo before spending three years in Brazil, a sojourn into North Carolina and his current residency in San Francisco.

He calls himself “the only Latino Eskimo in California,” a title he claims on the back of ticking a box on an official form when he entered the state many years ago.

All in all, Lerdorf has resided in many a home, learning many a language, but it’s his computer tongue that is most notable. PHP is a programming language that dragged the internet world across the laborious desert of C and helped form what today is a wildly intuitive online community.

The ’90s, eh?

Back in the mid-90s, Lerdorf was pretty underwhelmed at the options available to web design. C and Perl were far too time-consuming for what the internet was itching to become: fast, responsive and immensely editable.

When the web began hitting the mainstream, companies were in a frenzy, they wanted to embrace it and their best idea, at first, was to put their documentation up online.

Rasmus Lerdorf PHP

“With this they went to their technical writers and got them to put stuff out there,” he says, only for the process to kickstart a low point in programming, with technical writers becoming web designers by default.

“They went to Microsoft Word, saved documents as HTML, then put them online via FTP. Fine,” he says, “until companies wanted these documents, or other pages, to be more dynamic.”

Dynamism, on the clock

The problem that faced Lerdorf was something many had noticed. He wanted to find a way to produce things like different iterations of a company contact page that worked at different times. Often just minor tweaks, like phone numbers alternates, required recoding an entire page. A ton of C or Mod CGI, primarily.

Lerdorf needed a solution. Working in CGI (not the special effects), he created some libraries and gradually created PHP, which is part of the backend of up to 80pc of all websites nowadays.

PHP 7 was released at the end of last year, far removed from the original, “but some of the original code would still work” he enthuses. Some say the improvements in PHP 7 are actually quite remarkable, reports of 100pc speed increases, for example, have surfaced. But compatibility was the key driver.

“One of the things we wanted to do is make sure we didn’t create a Python 2 to Python 3-type of issue. If you have decently written PHP 5 code it should work perfectly in 7,” he says, citing Dmitry Stogov, Xinchen Hui and Nikita Popov as the key drivers of the new language.

PHP: we are hugely reliant on it

The likes of Facebook, CurrencyFair, Wikipedia, Tumblr, Mailchimp, Flickr, Yahoo and Etsy are just some of the plethora of major online websites that rely largely on PHP. The latter two are companies Lerdorf is quick to comment on.

“I worked with Yahoo for seven years, but it can get demoralising when you work in an ad-centric web company. You are essentially fighting your users. You try to push advertising onto them, they try to avoid it.”

I tell him that he has just described the vast majority of the online world and he stops me: “I know, it’s very hard, but at Etsy I’m happy. We are providing a hell of a lot more to our customers than we are extracting. And we’re not tricking customers either.”

Etsy Rasmus Lerdorf PHP

Crafty thinking

With around 800 employees overall, and 46 in Dublin, Lerdorf tells me any new engineer starting in Etsy (of which there will be more, soon) must produce some new package on their first day.

Not a place to drag your heels, but then again he doesn’t expect to work with any two-bit programmers. And he’s quick to point out PHP isn’t the be-all and end-all. “Like the spoken word, different languages are created in different areas, there will never be one.” So Python, Ruby or whatever, have at it.

There is one requirement he puts on future colleagues, though, and it’s something we’ve heard a few people discuss in recent years: an understanding of C.

Despite its laborious nature, C underpins pretty much everything online, with Lerdorf “a little sceptical” of any programmer without an understanding of it.

But then he has to run off to catch a dreaded flight, a bit more process before the next end project, so. His flying visit, which took in a PHP meet-up in Dublin, is over.

Credits: Iamwire

Credits: Iamwire


We can hardly imagine our life without social networking websites like Facebook, Flickr, Pinterest, etc. Such websites have become much more than news portals or tools linking people from all over world – they are now sources of income not only for their owners, but also for businesses that use these networks to build their online presence.

With many businesses being interested in running their own social networking websites, development of such websites is gaining traction right now. There are many programming languages that can be used to develop social networks. We are going to discuss the most popular ones that are often chosen for websites development.


This programming language is very popular among social network developers: it is recognized as a very powerful tool enabling to make dynamic and interactive web pages. According to estimates by W3Techs, PHP is used by more than 80% of all the websites whose server-side programming language is known. Besides, PHP is made use of in most out-of-the-box social networking software.

Major social networks like Facebook and Pinterest use PHP. Facebook started off as a PHP website. Now Facebook uses HACK, its custom-tailored dialect of PHP. The Russian social networking giant, Vkontakte, also developed its own version of PHP – KPHP – to improve performance of the website. KPHP is believed to be much productive that HACK.

Websites written on PHP often face hacker attacks: many people know this language, and some of them turned to the “dark side of the Force” and started stealing valuable data that can be used by their bosses or sold to someone else. One more problem is the direct correlation between growth of a PHP website and a number of servers required to run it.

Notwithstanding this fact PHP remains a programming language that makes it possible to develop a social networking website in a very quick manner. Besides, a cost of such projects is not very high if compared to other languages.

Similar Read:  How to Build Technology that Feels Like a Friend


Java is often chosen by those developers who plan to create high-traffic websites which need room to grow. And the main reason for that is that websites built using this language outperform others in terms of speed. Another advantage of Java is that it is platform-independent due to availability of the Java Virtual Machine. Java does not requires a compiler to become readable on any platform – the Machine interprets compiled Java binary code for a computer’s processor.

One more factor making Java so attractive for social network developers is its great development ecosystem. This programming language also has a big community of developers and, consequently, can boast excellent documentation as well as support coming along with it. Java makes both sever-side and client-side programming possible. If you plan to develop a complex website (e.g. a social network) that will be reliable enough Java is the best choice in this case.

But there are some factors that should be considered before launching a Java project, and a high cost of such a project is the first one to take into account. A team of Java programmers costs much more than any other programming language team. Other factors are high server and client requirements and complex infrastructure that must be developed and supported.

So if you plan to develop a small social network or a community think twice before choosing Java for this purpose.


A high level language designed to be fast to write and fast to run, Perl was developed around three decades ago, but it became useful for web programming in the late/mid 1990-s when developers started to use it to create dynamic web pages. This language has been losing ground since PHP was designed as a language for web development.

However, those who think that Perl is not used any more for websites development are mistaken. Though there are many websites written on other languages, Perl is still made use of. A number of well-known websites were built using this programming language: Craigslist, IMDb, Amazon, and more.

Perl can boast a large and friendly community. That is why it is easy to find good code examples or get answers you need using online forums or discuss best practices with other Perl developers. This language is still live – a new version of Perl (Perl 6) was released last year.

But will Perl work for a social network? Those who love this language will give a positive answer. Indeed, Perl can be used for anything. However, you will need many man-hours to create a web framework that will work properly. Development of a complex social networking website in pure Perl will not only take much time, but also result in significant expenses.


Python is known as an easy, flexible and powerful general purpose programming language that is good for web development. This programming language is used by such online properties as Pinterest, Reddit, Youtube and Disqus, to name a few.

However, Python can handle only the back-end part of a social network. You will have to do the front-end part in different languages (e.g. HTML) since Python does not support them. There are many frameworks that can be used to make websites in Python. Developers can create their frameworks, as well.

That sounds promising, isn’t it? But is Python a good choice for custom social networks? Social networking websites have many users and many instances of all their pages run simultaneously, thus representing high-load environments. Generally recognized as an interpreted language, Python needs more time to process requests than compiled languages need. So compiled languages are preferable when it comes to social pages.

One more problem is that Python is not supported by many cheap web hosts, while PHP is supported by nearly all web hosts. A cost of Python projects is relatively high, while this language is believed to be a little bit outdated irrespective regular releases of new versions.


Though it is not a programming language, this framework is worth being included in this list. It has become very popular given support provided by Microsoft, its developer.

Some of the biggest social networking websites were created using it. Myspace is one of these websites.

Social giants like Facebook would choose .NET for their websites if they were developed today. This platform has many advantages. For instance, there are many developers working with this .Net. You can be sure that a website developed using .NET will have solid and quick performance.

This framework continues to develop, and it has a large community which provides solid support to all its members and it is very friendly to newcomers.

But there are some cons, as well. One of them is that open source databases and messaging platforms that are commonly used by websites like Twitter often have little or even no support for Windows. .Net is also often associated with its early versions which lagged behind PHP to a great extent. If you plan to continue developing you social networking website you may face great expenses as a .NET project becomes more expensive per server.

All in all, there are many programming languages that can be used to develop a social networking website. A number of factors will impact the choice of a language: a complexity of the project, future development plans, a budget of a project, etc. The first step you need to take is to discuss your idea with a company having experience in social network development.

Credits: Hostreview

Credits: Hostreview

It is hard to recommend a specific framework in general. The decision of framework depends particularly on your preferences (and skills) as a developer and on how precisely you are attempting to finish.


Today internet has bunches of websites, each second developer makes another site and it is easy to build a website however with PHP frameworks. A few sorts of frameworks available in the market and all are famous frameworks yet Laravel is the best framework for components and for other numerous reasons.


Top PHP Frameworks which are most liked by PHP Developers:

1. Zend Framework is a decent establishment for everything and can be used additionally as only a library of different functions. It is likewise the nearest thing to be an “official” PHP framework so there are a great deal of developers who know how to utilize it. It is, in any case, not a framework you would use to model something rapidly.


2. Codeigniter is a free PHP framework by EllisLab. Codeigniter’s elements resemble no PHP  version conflict, perfect with standard hosting, very nearly zero installation, easy error handling, easy security, encryption steps and rich inherent libraries and helper. It accompanies clear documentation.


I’ve mentioned on here before that Codeigniter was the primary framework I ever utilized and helped me at long last understand the idea of Object Oriented programming. It’s absolutely well known, and has been around a similar amount of time as Cake.


3. A decent example is CakePHP, which is an extremely famous framework. Genuinely simple to learn. It has a great deal of sensible defaults and naming conventions that make your life much simpler, however which you can override.


Cake, in the event that I review effectively, was one of the principal PHP frameworks around back when spaghetti code was standard. The thought behind Cake was to make creating applications quick (ie, “convention over configuration”) by cutting down on how much code the developer expected to compose. Less time working means additional time money.


I was pretty skeptical about the viability of the CakePHP project since some of the core developers have left in 2009 to form the Lithium Framework.  However it got particular boost with the development release of CakePHP 2.0 which will address a number of issues developers had with the original CakePHP. Overall, this should be an interesting framework to watch.


4. Yii framework is used to build multi tenant, secure and effective caching applications. Yii is quick, steady, secure, high performing and gives MVC design pattern, rich featured caching scheme, role-based access and authentication, DAO (Database Access Objects), Ajax-enabled widgets and lots more.


Yii is a superior PHP Framework best to developing Web 2.0 applications. It comes with rich elements: MVC, DAO/ActiveRecord, I18N, caching, authentication and role-based access control, platform, testing, open source, high performing, object oriented, database access object, simple form validation, support for web services and some more. Yii Framework is perfect and ideal for developing social networking websites reduces development time significantly.


5. The Laravel framework will stay at the top, because of the huge interest from developers and customers worldwide (By 2016 overview). Laravel is growing so quickly in the PHP group in view of its unlimited quality and excessively included code base structure and its effective yet otherworldly ORM i.e Eloquent.

Image credit:

The advantages of utilizing Laravel framework can be outlined as follows:


  • Solid ORM features builds its similarity and simplicity of use with database relations
  • Laravel outsourcing makes the arrangement of creating programming that display high extensibility through ease of maintenance. It has the arrangement of developing application software through serious usage of organizer structure and direct its working according to the carefulness of developer.
  • Laravel’s Blade templating Engine builds proficiency of code composing process. In addition, the code that has been composed compiles at a quick pace and the resulting outputs are cached. In this way, it gets to be complete to include modules and extra elements without disturbing the center architectural software framework.
  • Laravel’s Artisan bundle gives much ease in the usage of CLI tools like migration and tasks
  • Scope of reverse routing and detailed documentation
  • Executing a verification module is much simpler in Laravel framework. Laravel’s authentication configuration file is situated in the auth.php file inside the config folder. It contains a few changes that could alter the conduct of authentication module.


Laravel helps to solve common software problems such as:


  • Building an Authentication and Authorization Systems
  • Integration with Mail Services
  • Integration with Tools for Making Web Applications Faster
  • Fixing the Most Common Technical Vulnerabilities
  • Configuration Error and Exception Handling
  • Automation Testing Work
  • URL Routing Configuration
  • Separation “Business Logic Code” from “Presentation Code”
  • Message Queue System (Delayed Delivery) Configuration
  • Scheduling Tasks Configuration and Management


One can securely say that Laravel is the most popular PHP framework at this moment. Laravel developers to make web development simple and quick with splendid and perfect sentence structure. It empowered developers to work easily by rearranging every common tasks with the help of its built-in tools. Routing, authentication, queuing and caching are to give some examples.


As per this article published in Techninasia (best trending PHP frameworks for 2016), searches for word “Laravel” is trending the most while compared with other PHP frameworks. This is only one way for confirming that Laravel is in reality a standout among the most inclining and the best PHP frameworks in 2016.


Credits: Rit

Credits: Rit


RIT is launching a Video Game Design XSeries program with edX, the leading nonprofit online learning destination founded by Harvard and MIT. XSeries programs are designed to provide learners with a rich understanding of an area of study through a series of offerings grouped under one subject. XSeries programs also include an opportunity to earn an XSeries verified certificate to demonstrate competency and knowledge in a specific field.

Enrollment for the five offerings in the Video Game Design XSeries program is now open. The first offering begins Oct. 31.

The series will teach learners about the skills they would need to become a successful video game designer and explore what job opportunities they could pursue in the industry. Offerings are taught by faculty in RIT’s School of Interactive Games and Media.

“You’ll learn how game history influences design, how designers and programmers think, the various roles within the video game design discipline and how all the pieces come together,” said Stephen Jacobs, professor of interactive games and media at RIT and an instructor in the XSeries. “We want to help people develop a deeper understanding of the field, the discipline and explore the related career paths as well.”

The XSeries consists of five, five-week offerings:

  • Video Game Design History (starts Oct. 31)
  • Video Game Design and Balance (starts Jan. 2, 2017)
  • Video Game Asset Creation and Process (starts March 6, 2017)
  • Video Game Design: Teamwork & Collaboration (starts July 24, 2017)
  • Gameplay Programming for Video Game Designers (starts Sept. 11, 2017)

Within each offering, learners will have access to several videos from the instructors each week, readings, discussion boards with other participants and multiple-choice quizzes. Each weekly unit takes about three hours to complete.

The series will explore everything from how to create simple elements of running game code to how different industry roles collaborate to produce, market and ship a video game.

The first offering will explore the history of the video game design industry, with insights from the International Center for the History of Electronic Games (ICHEG) at The Strong National Museum of Play, the largest and most comprehensive public assemblage of video games and related materials in the world.

“Just as writers learn their craft by reading and studying great works of the past, video game designers need to know how game design has developed and evolved over the years,” said Jon-Paul C. Dyson, director of ICHEG and vice president for exhibits at The Strong, who is co-instructor for the Video Game Design History offering. “Participants will have a unique learning opportunity in this course to see prototypes, designer notes, rare games and other iconic artifacts from The Strong’s unparalleled collection that showcase the history of game design.”

RIT’s game design and development graduate and undergraduate programs have been ranked among the Princeton Review’s list of top schools for video game design for more than five years. Graduates of RIT’s game design and development programs have gone on to work at some of the industry’s top employers, including Amazon Games, Apple, Bungie Studios, Blizzard Entertainment, EA Games, Epic Games, Google, Konami Gaming Inc., Microsoft, Rockstar Games, Sony Interactive Entertainment, Valve Corporation and Walt Disney Interactive.

RIT’s game design and development program is housed within the School of Interactive Games and Media, in RIT’s B. Thomas Golisano College of Computing and Information Sciences. The RIT XSeries is made possible with help from RIT’s Innovative Learning Institute.

“As a world-renowned leader in the field of video game design, RIT is an ideal partner to offer this XSeries program to the edX global community of more than 9 million learners,” said Anant Agarwal, edX CEO and MIT professor. “We are proud to work with RIT to launch this program that provides learners with a rich understanding of the history and design of video games and teaches the skills and competencies necessary to excel in this exciting, fast-growing industry.”

Credits: Eurekalert

Credits: Eurekalert


Dynamic programming is a technique that can yield relatively efficient solutions to computational problems in economics, genomic analysis, and other fields. But adapting it to computer chips with multiple “cores,” or processing units, requires a level of programming expertise that few economists and biologists have.

Researchers from MIT’s Computer Science and Artificial Intelligence Laboratory (CSAIL) and Stony Brook University aim to change that, with a new system that allows users to describe what they want their programs to do in very general terms. It then automatically produces versions of those programs that are optimized to run on multicore chips. It also guarantees that the new versions will yield exactly the same results that the single-core versions would, albeit much faster.

In experiments, the researchers used the system to “parallelize” several algorithms that used dynamic programming, splitting them up so that they would run on multicore chips. The resulting programs were between three and 11 times as fast as those produced by earlier techniques for automatic parallelization, and they were generally as efficient as those that were hand-parallelized by computer scientists.

The researchers presented their new system last week at the Association for Computing Machinery’s conference on Systems, Programming, Languages and Applications: Software for Humanity.

Dynamic programming offers exponential speedups on a certain class of problems because it stores and reuses the results of computations, rather than recomputing them every time they’re required.

“But you need more memory, because you store the results of intermediate computations,” says Shachar Itzhaky, first author on the new paper and a postdoc in the group of Armando Solar-Lezama, an associate professor of electrical engineering and computer science at MIT. “When you come to implement it, you realize that you don’t get as much speedup as you thought you would, because the memory is slow. When you store and fetch, of course, it’s still faster than redoing the computation, but it’s not as fast as it could have been.”

Outsourcing complexity

Computer scientists avoid this problem by reordering computations so that those requiring a particular stored value are executed in sequence, minimizing the number of times that the value has to be recalled from memory. That’s relatively easy to do with a single-core computer, but with multicore computers, when multiple cores are sharing data stored at multiple locations, memory management become much more complex. A hand-optimized, parallel version of a dynamic-programming algorithm is typically 10 times as long as the single-core version, and the individual lines of code are more complex, to boot.

The CSAIL researchers’ new system — dubbed Bellmania, after Richard Bellman, the applied mathematician who pioneered dynamic programming — adopts a parallelization strategy called recursive divide-and-conquer. Suppose that the task of a parallel algorithm is to perform a sequence of computations on a grid of numbers, known as a matrix. Its first task might be to divide the grid into four parts, each to be processed separately.

But then it might divide each of those four parts into four parts, and each of those into another four parts, and so on. Because this approach — recursion — involves breaking a problem into smaller subproblems, it naturally lends itself to parallelization.

Joining Itzhaky on the new paper are Solar-Lezama; Charles Leiserson, the Edwin Sibley Webster Professor of Electrical Engineering and Computer Science; Rohit Singh and Kuat Yessenov, who were MIT both graduate students in electrical engineering and computer science when the work was done; Yongquan Lu, an MIT undergraduate who participated in the project through MIT’s Undergraduate Research Opportunities Program; and Rezaul Chowdhury, an assistant professor of computer science at Stony Brook, who was formerly a research affiliate in Leiserson’s group.

Leiserson’s group specializes in divide-and-conquer parallelization techniques; Solar-Lezama’s specializes in program synthesis, or automatically generating code from high-level specifications. With Bellmania, the user simply has to describe the first step of the process — the division of the matrix and the procedures to be applied to the resulting segments. Bellmania then determines how to continue subdividing the problem so as to use memory efficiently.

Rapid search

At each level of recursion — with each successively smaller subdivision of the matrix — a program generated by Bellmania will typically perform some operation on some segment of the matrix and farm the rest out to subroutines, which can be performed in parallel. Each of those subroutines, in turn, will perform some operation on some segment of the data and farm the rest out to further subroutines, and so on.

Bellmania determines how much data should be processed at each level and which subroutines should handle the rest. “The goal is to arrange the memory accesses such that when you read a cell [of the matrix], you do as much computation as you can with it, so that you will not have to read it again later,” Itzhaky says.

Finding the optimal division of tasks requires canvassing a wide range of possibilities. Solar-Lezama’s group has developed a suite of tools to make that type of search more efficient; even so, Bellmania takes about 15 minutes to parallelize a typical dynamic-programming algorithm. That’s still much faster than a human programmer could perform the same task, however. And the result is guaranteed to be correct; hand-optimized code is so complex that it’s easy for errors to creep in.

Credits: Gamefromscratch

Credits: Gamefromscratch


A conversation just happened on /r/gamedev with the confusing title “What don’t new game developers know that they don’t know?”.  Essentially it was a question asking what important advice new developers don’t know (for lack of experience) but should.  My answer seems to have been extremely well received and the question is quite good, so I figure I would replicate the answer here for those of you that don’t frequent reddit.

So essentially what follows is my advice I would give my beginner self if I owned a time machine.

  • most people fail and fail hard. Perseverance is probably the most underrated but required skill of a successful game developer.
  • learning tasks in parallel is rarely productive. While I know you want to learn everything now… don’t. Learn one task/language/skill to a base level of competency before moving on to the next. It’s hard because everything is shiny and new, but it’s critical. Trying to learn too many things at once results in learning nothing at all.
  • when you are 90% done, you’re actually 50% done. Maybe… if you are lucky.
  • there is no ego in programming, or at least there shouldn’t be. A plumber or carpenter come into a job with a toolbox full of tools, and don’t limit themselves to a number three hex drive because “it’s cool”. They use the best tool for the job and sometimes that tool is a horrific hack and that’s ok too. Programmers… have often failed to learn this lesson. People invest themselves in “their language” and this frankly, is stupid. Working in C++, Java, Haskell, F#, Go, Rust or whatever other language doesn’t make you cool, just as working in GameMaker, Lua, JavaScript doesn’t make you uncool. Only exception, PHP. %#@k PHP. Moral of the story… use the right language or tool for the job. Sometimes that means performance, sometimes that means maintainability, sometimes that means quickness, sometimes that means designer friendly and sometimes it means using the tool the rest of your team is using. Be pragmatic, always be pragmatic. I personally would never hire a programmer who claimed there was a “best” language. If you have been programming for several years and don’t have several languages in your arsenal, you are probably doing it wrong.
  • if it feels wrong, it probably is. If you encounter such a code smell, even if you can’t fix it, comment on it and move on.
  • even if you work alone, comments are good. But comments for the sake of comments is worse than no comments at all. Take the time to write legible code, take the time to smartly comment what you’ve written. Six months or six years down the road, you will thank yourself.
  • version control or at least automatic backups. Do it. Now.
  • premature ejac…. er, optimization is the root of all evil. Yes, you need to be mindful of performance on a macro level, but don’t sweat the micro level until you have to. If you are just starting out, but your primary concern is performance, you are doing it wrong.
  • learn how to use a debugger. Early. It will be an invaluable skill and will help you understand how your code works better than any other single task you can perform. Also learn how to use a profiler and code linter, these will give you great insights into your code as well, but you can do this later. If you have learned the basics of a programming language but haven’t groked debugging yet, stop everything and dedicate yourself to that task. For a somewhat generic debugging tutorial start here. Seriously, learn it, now.
  • if you have access to a peer, TAKE IT. Peer reviewed coding, while at first annoying, is invaluable. Even if there is a large skill mismatch between the two people. Even just having someone go through your code and ask “why did you do this?” forces you to explain it… and often you realize… hey… why did I do that? Many programmers are solitary creatures, so the idea of peer code reviews or paired programming is anathema. Or people can be very shy about showing their code… it’s worth it to get over it. Of course not everyone has access to another programmer to use as a sounding board and not being in person makes it a lot harder and a lot less useful.
  • books are great, as is a gigantic collection of links to great articles on the web. That said unfortunately, you can’t just buy a book and learn via osmosis… you actually have to read the thing. More to the point, if you are following a tutorial or video, DO THE WORK. You will learn it a great deal more, develop muscle memory of sorts, if you actually do it. This means typing out the code and getting it to run, instead of just loading the project and pressing play. Trust me, you learn a lot more actually recreating the project.


Credits: Newindianexpress

Credits: Newindianexpress

A couple of software developed by the Indian Institute of Technology, Kharagpur will soon revolutionise the way in which the disabled persons can cope up with day-to-day activities. Buying vegetables from the market or composing poetry will just be a touch on the smartdevice away.

Softwares ‘Akash Baani’ and ‘Sanyog’ may help persons with disabilities, including those affected with cerebral, to express their feelings by touching icons on the screen, which will then create sentences, and further translate into voice messages.

A workshop was recently held in Kolkata to train NGOs on how these software can be used to help the disabled become more self-dependent. Professor Anupam Basu, the brainchild behind these software, while speaking to Express said, “In ‘Sanyog’, for creating a sentence like ‘I want to watch TV’, a user has to select an icon of himself, a TV and that of an eye, which will then form the sentence which will be then turn into a voice message from text to speech.

For buying vegetables, the user may select the vegetable he/she wants to buy and the quantity. The sentences will be blurted out to the shopkeeper.” Speaking about ‘Akash Baani’, Prof Basu says, “A large number of icons will be present in the software.

Each icon will have a message with it. Whenever a user selects an icon, the stored message will be spoken.” While ‘Akash Bani’ costs Rs 1,000, Sanyog’s is on the higher end priced Rs 8,000. When asked about those who can’t touch small icons on the smart devices, Prof Basu explained about an access switch that is more like a big red flat joystick with which the user may browse with whatever part of body that works — may browse the icons and select them,” Professor Basu said.

The software that have been put on display in Rashtrapati Bhavan are being used in the Indian Institute of Cerebral Palsy and Action for Ability Development and Inclusion in the national capital. It has taken 2 years to develop ‘Akash Baani’ and 4 years to develop ‘Sanyog’.

“The technologies are being transferred to Society for Natural Language Technology Research (SNLTR), under the IT department of West Bengal government,” Professor Basu said, adding that support from the state government and local NGOs are needed for expand the reach of these software into the rural areas.

Credits: Designnews

Credits: Designnews

Every time a new embedded software project starts, the air is electrified with energy, hope, and excitement. For engineers, there are few things on Earth as exciting as creating a new project and bringing together new and innovative ideas that have the potential to change the world. Unfortunately, shortly after project kick-off, engineers can quickly lose their passion as they are forced to dig into the nuts and bolts by once again writing microcontroller drivers, trying to integrate real-time operating systems (RTOSes) and third-party components. These repetitive project tasks can consume time, energy, and dampen product innovation. An interesting solution is beginning to arrive that could help developers — embedded system platforms.

An embedded system platform contains all the building blocks that a developer needs to quickly get a microcontroller up and running in a short time period and direct their focus on the product. Too much time and money is wasted just trying to get a microcontrollers software up and running. The idea behind the platform is that drivers, frameworks, libraries, schedulers, and sometimes even application code are already provided so that developers can focus on their product features rather than the mundane and repetitive software tasks.



ESC logo

HAL Design for MCUs. The speed at which a developer is expected to write software often results in device drivers that are difficult to understand, hard to maintain, and difficult to port. Join Jacob Beningo atESC Silicon Valley , Dec. 6-8, 2016 in San Jose, Calif., as he describes methods and techniques that can be used to develop a reusable hardware abstraction layer (HAL) that is easy to maintain and use across multiple projects and platforms.Register here for the event, hosted by Design News ’ parent company, UBM.

Embedded software platforms provide developers with an opportunity to shave months from the development cycle by leveraging existing HALs and APIs. Becoming a microcontroller expert in all the little nuances is no longer required. HALs and APIs abstract the lower level hardware and make development similar to writing software on a PC, although developers still need to keep in mind that they are working in a resource-constrained environment. Make a simple call to that UART HAL and serial data can be transmitting in minutes rather than weeks.

There are many advantages to platform development that developers should keep in mind:

  • Leveraging existing software to prevent reinventing the wheel
  • Faster time to market
  • Potential to decrease overall project costs
  • Increased firmware robustness


There are certainly a few potential issues that developers should be concerned with, as well:

  • Platform licensing models
  • Cost to change platforms if direction changes in the future
  • Becoming dependent upon a third-party platform
  • Having too much free time due to smoothly moving projects


The truth is that embedded system development has become increasing complex in the past decade as microcontrollers have increased exponentially in their capability. That capability has been driven by mobile technologies and the need for more connectivity in our devices. The typical development time line has stayed roughly the same. With more to do, smaller budgets, and

the same time to do it in, developers need to become smarter and find new methods and ways to develop their systems without compromising robustness, integrity, and features.

One possible solution is to use embedded platforms such as the Renesas Synergy Platform, Electric Imp, and Microchip Harmony, among others. (These are the platforms I’ve had the opportunity to explore with so far.) Platforms can vary from extending the traditional developers capabilities through radically transformational and different development techniques. In either case, given time, budget, and feature sets, it is very obvious that building embedded systems from the ground will very soon no longer be an option.


Credits: Htmlgoodies

Credits: Htmlgoodies


During the development of a website, developers must use a variety of tools. Software to create the site, edit graphics, transfer files, SSH or telnet into your server–this article will cover five of the best.


NoteTabPro is a text editor on steroids. It supports HTML, Perl, LaTeX, ASP, Java, Javascript, PHP, AutoLISP, SQL, COBOL, 4DOS, JCL, VHDL, ADO, VBScript, VRML and more. It features a tabbed interface, as well as “clipbook” libraries for HTML, JavaScript and CSS that make the task of editing a web page a lot easier. They have a “light” version that is free, a full “Pro” version that retails for$29.95, and a Standard version for $19.95.


Obviously you will need a tool that enables you to move files from your local machine to your web server. IPSwitch’s WS_FTP Pro is an industry standard that has been used by web developers for years, with over 40 million users worldwide. It allows you to transfer files over FTP, SSL, SSH and HTTP/S transfer protocols. It is also secure, with 256-bit AES encryption, FIPS 140-2 validated cryptography, OpenPGP file encryption, and file integrity validation up to SHA-512. This isn’t your father’s File Transfer Protocol (FTP) software. It retails for $54.95, or $89.95 with a one year support agreement, and also they have a free demo version available for download.


PuTTY is a free implementation of Telnet and SSH which can be used on Windows and Unix platforms, and it includes an xterm terminal emulator. It supports standard telnet sessions, SSH-2 and SSH-1, as well as local echo. The software isn’t as full featured as some commercial SSH tools, but it will get the job done–and well. If you need to telnet or SSH into your web server, this is the tool to use.


Adobe’s Dreamweaver CS5 is a full-featured WYSIWYG editor that allows developers to design visually as well as directly within the code. It supports PHP-based CMSes such as Drupal, WordPress and Joomla, and enables developers to create websites using HTML 5. It also features CSS Starter Layouts to get you started, and is integrated with Adobe BrowserLab, which allows developers to preview dynamic web pages and local content using multiple views and diagnostic and comparison tools. It retails for $399, and a demo version is available for download for free.

PaintShop Pro

Corel’s PaintShop Pro has been a web developer’s friend since Jasc Software owned it over six years ago. It allows you to import, edit and share your images. It enables those of us without graphic skills to make quick fixes to images via its Express Lab feature. Creating GIF images with transparent backgrounds is a snap. It also allows users to upload images directly to Facebook, YouTube and Flickr. PaintShop Pro retails for $99.99, and a free trial version is available for download. As you can see, the software you choose can make your life easier, and enhance the development process from start to finish. If you know of other tools that belong in every web developer’s toolbox, let us know so we can spread the word!

Credits: Cio-today

Credits: Cio-today

As Microsoft continues to roll out new preview builds of its next Windows 10 update, it is also working to make those releases easier and more efficient to download. The new Unified Update Platform (UUP) will become available for developers in stages, with the first version — for Windows Mobile — announced yesterday.

In addition to the Unified Update Platform, Microsoft yesterday also released an Insider Preview Build for the next major refresh of Windows 10. Set for general release in early 2017, the so-called “Creators Update” of Windows 10 will place a heavy emphasis on 3D imaging, painting and other creativity tools.

The new Windows Build 14959 for Mobile and PC gives developers in the Insider Fast ring a chance to take a number of new features for a test run, and also fixes known issues with how the previous build managed applications, displays and settings. Microsoft is encouraging developers to install the latest build ahead of a problem-finding “Bug Bash” set to start next Monday.

‘Differential Downloads’ for Efficiency

Up until now, when Microsoft released a major update of its Windows operating system, users have had to download the entire update package, which could be both time-consuming and resource-intensive. With UUP, however, the download size of updates will be reduced, with more of the heavy lifting handled on Microsoft’s cloud rather than on the side of the customer’s device.

“We have converged technologies in our build and publishing systems to enable differential downloads for all devices built on the Mobile and PC OS,” Bill Karagounis, director of program management for the Windows Insider Program and OS Fundamentals, wrote yesterday on the Windows blog. “A differential download package contains only the changes that have been made since the last time you updated your device, rather than a full build.”

With updates on PCs, for example, users can expect to see the download size for major Windows updates reduced by around 35 percent, Karagounis said. Users updating on mobile devices, meanwhile, will see more of the processing handled by the Windows Update service, which will help improve update speeds and device battery life.

The rollout of UUP will also streamline updates on Windows Mobile so users do not have to install more than one build at a time to get the latest version of the OS.

“On your phone, we would sometimes require you to install in two-hops (updates) to get current,” Karagounis noted. “With UUP, we now have logic in the client that can automatically fallback to what we call a ‘canonical’ build, allowing you to update your phone in one-hop, just like the PC.”

Developers Now Testing Paint 3D

With the latest Insider Preview build released yesterday, developers will be able to test such coming Windows features as Paint 3D, part of the Creators Update arriving next year. Build 14959 also adds new display scaling capabilities, fixes previous issues with automatic brightness settings and resolves a tap-to-pay problem on Windows Mobile.

More new features unveiled during a live-streamed Windows event last week will be rolled out to developers in additional builds over the coming weeks, according to Dona Sarkar, software engineer for the Windows and Device Group.

“As I mentioned last week, Windows is an iceberg, the features that people ‘see’ are quite a small percent of the engineering work that we do to enable new UI to be visible,” Sarkar wrote yesterday in a blog post. “We’re excited to get more of the new Creators Update features in the hands of Insiders in the next couple of months.”

Starting next Monday, Nov. 7, Microsoft will also kick off its Bug Bash for Windows engineers and Insiders on the same day, Sarkar said. In the past, in-house engineers could get started a day ahead of Insiders on Microsoft-issued “quests” for glitches and problems. The Bug Bash is scheduled to run through Nov. 13.