Skip to main content

David Ing

David Ing's Public Library

  • Christopher Davis
23 Mar 14

"GWT is what Google used to build the visible parts of its Web applications such as Gmail, Google Docs, and other elements of its cloud computing service. Google developed its technology in a way that makes the client machine do a lot of the heavy lifting, thus helping Google serve more visitors to its cloud systems with less server power. That's a big issue when you work in front of an audience of millions.

Google makes its concept pretty clear when it explains how its toolkit works: Developers build elements of a Web page (or a whole page) with Java. Then they test it as Java, which, compared to testing in JavaScript, makes it easy for software to identify many mistakes. This is because Java is a tightly specified language with strongly typed data elements and a strict grammar. By comparison JavaScript, which may start with the same four letters but is otherwise quite distinct, is made for scripting and for many reasons is tolerant compared to Java. This can be useful for script writers but it's murder when it comes to debugging. A lot of JavaScript software is tiny, so even when it has an error the programmer can spot the problem with a quick inspection. But that is not the case with AJAX systems. The JavaScript is big and complicated and there are no debugging tools that work as well as the ones associated with Java, not because programmers are indifferent but because JavaScript, once it gets bulky, is a nightmare to analyze.

Anyway, once a developer likes the way an element or Web page behaves with its GWT Java, Google's software compiles the Java into JavaScript. The compiler seems to be pretty good. If the Java works so will the JavaScript. There are blogs and newsgroups where developers talk about their problems and the level of user satisfaction with GWT, at least as far as the compilation accuracy is concerned, seems very high."

18 Mar 14

"To know exactly how many bytes a voice conversation consumes, you need to know which codec your VoIP service is using. [....]

Here are approximate values for data consumption of the most common codecs used for VoIP:

G.711 - 87Kbps
G.729 - 32 Kbps
G.723.1 - 22 Kbps
G.723.1 - 21 Kbps
G.726 – 55 Kbps
G.726 – 47 Kbps
G.728 - 32 Kbps

The G.729 codec is one of the best performing voice codecs and most good VoIP services use it.

So, if you plan an hour of conversation, it will be roughly 45 MB."

17 Mar 14

"Secure alternative to: Skype, Google Talk/Chat
This guide will show how to set up encrypted off-the-record (OTR) chat and VoIP using ZRTP encryption in the following three sections:
Section 1 will show how to register with an XMPP service, here
Section 2 will show how to set up XMPP with Jitsi.
Section 3 will show how to find friends and initiate chat using end-to-end OTR encryption and secure VoIP calls using ZRTP, so no one but you and the receiver can read your messages or hear your conversations (and not a government or private company)."

15 Mar 14

"The only downside to Mailvelope is that your attachments aren't encrypted along with your message, which is a bit of a bummer."

15 Mar 14

"Stefan Sundin has created an Ubuntu PPA for TrueCrypt which has been patched to use an Ubuntu AppIndicator instead of a tray icon."

13 Mar 14

"Microsoft Office installation has completed, but it ain’t ready yet. Well, if you possess clear bright eyes and happy with the current state of Office, the underneath stuff is redundant. Otherwise, proceed. Being a perfectionist myself, I can’t stand blurry font, retro Windows classic look and the dodgy performance, those teeny-tiny issues drive me nuts. I won’t rest till I overcome them.

The first thing to do is upgrading Wine. Remember the script installed Wine 1.5.16. Select Tools – > Manage Wine Version. Install version 1.5.28 instead. The reason behind this, is Wine 1.5.17 has fixed font aliasing bug."

  • R. Lusch, USA, and B. Edvardsson, Sweden
08 Feb 14

"About once a year, the Linux Foundation analyzes the online repository that holds the source code of the kernel, or core, of the Linux operating system. As well as tracking the increasing complexity of the ever-evolving kernel over a series of releases from versions 3.0 to 3.10, the report also reveals who is contributing code, and the dominant role corporations now play in what began as an all-volunteer project in 1991."

12 Jan 14

Some questions to get us started:
1. Are Agile practices applicable to product and systems engineering in any form?
What are the high-priority areas? Are there no-go areas – if so where and why?
Can Agile apply to non-software engineering disciplines such as mechanical and electrical/electronic engineering?
What are the key challenges? Are they industry-specific, project structure or technology challenges?

2. Can our traditional methods link up ‘around the edges’ of Agile systems engineering practices?
Even if it were possible, organizations can’t move everything to Agile processes overnight. So the reality of doing Agile for complex product development means agile processes will have to join up with non-agile processes ‘at the edges’.
Where should those edges be? Are there successful patterns that can be applied to achieve success? Are there ‘toxic’ interface scenarios to avoid?

3. Can we apply the Agile principles to existing process to improve what we have?
Many aspects of complex product development have constraints that make a ‘pure’ Agile approach impossible. For example hardware iterations typically take much longer than software iterations. Contracts might define ‘non Agile’ deliverables. But can Agile principles be adapted and applied around these constraints to yield benefits? What are the key principles to apply? Are there adaptation patterns that can be reused in different projects and contexts?

12 Jan 14

We recently presented a proposal for a version of the Agile manifesto for systems engineering.  This was presented at INCOSE UK ASEC conference on 12 November 2012

07 Jan 14

"Our research, conducted in collaboration with the University of Oxford, suggests that half of all large IT projects—defined as those with initial price tags exceeding $15 million—massively blow their budgets. On average, large IT projects run 45 percent over budget and 7 percent over time, while delivering 56 percent less value than predicted. Software projects run the highest risk of cost and schedule overruns1 (Exhibit 1)."

20 Dec 13

The theme of this issue was triggered by a discussion with Daniel Curto-Millet (a doctoral student and one of the authors in this issue), who is particularly interested in Elinor Ostrom’s work in relation to sustainability and how it is applicable to open source software. My own research more recently has made me very curious about the dimensions and conditions necessary to sustain an open source community, project, and ecosystem.

The idea of sustainability, though borrowed from natural resource management, is surprisingly applicable to open source ecosystem sustainability. The definition of sustainability that resonated the most with my understanding of open source was provided by Repetto (1986), and I have amended it slightly to make it sensible for open source:

Open source sustainability is the recognition and drive to manage all assets, and resources related to open source development, including the broader financial and physical assets in order to increase the long-term vibrancy and well-being of a project (and ecosystem). Sustainable development of open source, as a goal, rejects policies and practices that support current adoption and development in the short-term without regard for how this may deplete the productive base, including all resources, and that leaves future communities with poorer prospects.

As this definition implies, time is a dimension that causes fluctuations in what is sustainable and desirable in open source.

- See more at:

25 Apr 13

"Commons In A Box (CBOX) is a free software project aimed at turning the infrastructure that successfully powers the CUNY Academic Commons into a free, distributable, easy-to-install package. Commons In A Box is a project of the City University of New York and the Graduate Center, CUNY and is made possible by a generous grant from the Alfred P. Sloan Foundation.

CBOX takes the complexity out of creating a Commons site, helping organizations create a space where their members can discuss issues, collaborate on projects, and share their work. CBOX also provides:

Out-of-the-box functionality with an intuitive set-up that guides site administrators through each step of installation.
A powerful, responsive, highly customizable theme developed for community engagement, based on PressCrew’s Infinity Theming Engine.
Responsive design for easy viewing on many devices, including tablets and smartphones.
Collaborative document creation and file sharing.
Reply-By-Email functionality for quick, on-the-go communication.
Compatibility with many other WordPress and BuddyPress themes and plug-ins.
Expansive wiki options.
CBOX will be useful to any organization that is looking for a shared space in which to build an engaged community of users and developers."

24 Apr 13

The good news is the flagship open source office suite LibreOffice can open and edit PDF documents. Don’t expect to create interactive forms and the like in LibreOffice, but you can take a basic PDF document and make simple edits, thanks to LibreOffice’s built-in Draw feature. In Draw, your PDF documents temporarily become images that can be edited. When you’re finished, the document simply needs to be exported back into PDF format. This feature works the same on all platforms, which means you can edit PDF documents on Windows, Mac, and Linux in the same way.

  • The good news is the flagship open source office suite LibreOffice can open and edit PDF documents. Don’t expect to create interactive forms and the like in LibreOffice, but you can take a basic PDF document and make simple edits, thanks to LibreOffice’s built-in Draw feature. In Draw, your PDF documents temporarily become images that can be edited. When you’re finished, the document simply needs to be exported back into PDF format. This feature works the same on all platforms, which means you can edit PDF documents on Windows, Mac, and Linux in the same way.

  • If you can figure out how to use ITA’s Fare Matrix search engine, I think you’ll be a lot happier with the tools at your disposal to find the flights you want. You’ll have to actually go to the airline’s site to enter the information again when it’s time to book, but that’s the price to be paid.
20 Dec 12

"With the slew of Drupal modules in existence today, you can “socialize” your site with minimal hard coding."

12 Dec 12

"a Nexus device is about openness first and foremost. That does not mean Google won’t make compromises with the Nexus program. It simply means that Google will only make compromises when it comes to increasing openness. Why? Because Google benefits from open devices as much, or more than you do."  [....]  

Google is pushing the idea of openness with the Nexus devices, but it’s not an entirely altruistic endeavor. By giving us cheap and open devices, Google is making sure it’s in control — not the carriers. That’s better for the consumers, but it’s also better for Google. The only reason Google can afford to eat the profits on devices like the Nexus 4 is that it has a thriving ad business.

09 Dec 12

... the Open Handset Alliance, announced the same day Google formally unveiled Android back in 2007. At its core, the Open Handset Alliance is a consortium — or club, if you prefer — of mobile device makers, chipmakers, software developers, and even a handful of mobile carriers who have all pledged not to produce mobile devices that run incompatible versions of Android. The Open Handset Alliance launched with 34 members (including Motorola, Samsung, HTC, Intel, Qualcomm, eBay, and even China Mobile). Today it’s up to nearly 90 members, including the likes of Sony, Sprint, Lenovo, and Dell. So while anyone can grab Android source code and fiddle with it, they can only call the results “Android” by joining the Open Handset Alliance and passing Google’s validation tests.  

Acer joined the Open Handset Alliance in mid-2009. Notably, neither Amazon, Barnes & Noble, nor RIM are not members of the Open Handset Alliance.  

What’s Google’s problem?

According to Google, Acer’s CloudPhone 800 represents exactly the type of incompatible device members of the Open Handset Alliance of pledged not to make. Andy Rubin, the head of Google’s Android efforts, has taken both to the official Android blog and his own Google+ profile to outline Google’s position.
Rubin asserts that the pieces of Android that allow Aliyun devices to run some Android apps make it an incompatible fork of Android. So by making Aliyun devices, Acer is violating terms of its membership in the Open Handset Alliance. And it’s not just under-the-hood components that Rubin argues make Aliyun based on the Android platform: He also notes that Aliyun’s app store explicitly offers Android apps to Aliyun users — including pirated versions of Google apps.  

Addressing Alibaba’s international affairs VP John Spelich directly, Rubin wrote:
“If you want to benefit from the Android ecosystem, then make the choice to be compatible. It’s easy, free, and we’ll even help you out. But if you don’t want to be compatible, then don’t expect help from OHA members that are all working to support and build a unified Android ecosystem.”  

Is Aliyun an Android fork?  

What makes a device an “Android” device? According to the Open Handset Alliance, it’s passing the Android compatibility test suite — and Aliyun does not. Android devices cannot operate in the Aliyun ecosystem. Nonetheless, Google (or at least Andy Rubin) is asserting that by using some of Android’s open source materials and supporting some Android apps, Aliyun has riding on the coattails of Android.

29 Aug 12

It’s not forking that’s the hard part, it’s merging. Hacking around in a codebase is a long, long way from a fork that’s in mergeable status, with good architecture, clean code, and helpful documentation.  

Merging code is a particularly egregious problem with corporate-driven open-source software, because the company behind it may have processes in place behind the firewall, lawyers complaining about copyrights, and so on.  

Therefore I submit that the true measure of an open-source project is the ability to merge code regularly — reviewing all of the open pull requests and acting on the ones that are ready to join the primary codebase.

1 - 20 of 245 Next › Last »
20 items/page

Highlighter, Sticky notes, Tagging, Groups and Network: integrated suite dramatically boosting research productivity. Learn more »

Join Diigo