May 11 2009

Apple freezes Snow Leopard APIs as software nears release

Apple this past weekend distributed a new beta of Mac OS X 10.6 Snow Leopard that altered the programming methods used to optimize code for multi-core Macs, telling developers they were the last programming-oriented changes planned ahead of the software’s release.


May 11 2009

Microsoft Releases New Concurrent Programming Language

zokier writes “Microsoft has released a new programming language called Axum, previously known as Maestro and based on the actor model. It’s meant to ease development of concurrent applications and thus making better use of multi-core processors. Axum does not have capabilities to define classes, but as it runs on the .NET platform, Axum can use classes made with C#. Microsoft has not committed to shipping Axum since it is still in an incubation phase of development so feedback from developers is certainly welcome.”

Read more of this story at Slashdot.


May 3 2009

The Problem With Cable Is Television

Saul Hansell writes in the NY Times about how various services offered by cable companies affect their spending and their revenue. As it turns out, a lot of the cost increases and investment needs are coming from television and video services rather than internet connectivity. The scramble for high-def and rising licensing fees for programming seem to be the biggest headaches for Comcast and Time Warner right now. Quoting: “By all accounts, Web video is not currently having any effect on the businesses of the cable companies. Market share is moving among cable, satellite and telephone companies, but the overall number of people subscribing to some sort of pay TV service is rising. (The government’s switch to digital over-the-air broadcasts is providing a small stimulus to cable companies.) However, if you remember, it took several years before music labels started to feel any pain from downloads. As the sour economy and the Web start putting more pressure on the cable companies, they may be forced to consider breaking up the big bundles of channels they now insist that consumers buy and instead offer individual channels or smaller groups of channels on an à la carte basis.”

Read more of this story at Slashdot.


May 2 2009

Apply CSS To Dojo Javascript for Profit with Cody Taylor

Cody Taylor writes:
My last dojo example wasn’t much for looking at and not very intuitive at all for the regular user. I highly doubt that anyone would pay me to integrate that into a custom web application. Most of the general public won’t think that a web page can include functionality like this. All the Dojo functionality was there for dragging and dropping but It didn’t really have the look and feel which is expected of Ajax web 2.0 applications so I decided to add a little CSS to pretty it all up and make it easier to use. First I’ll show the javascript for a basic list rearange application and then I’ll show the CSS that will make it look a lot more professional. For the impatient or rushed here is the example and code on one page.

So first the javascript :


var c1;

function init(){
  c1 = new dojo.dnd.Source("container");
  c1.insertNodes(false, ["Item 1", "Item 2", "Item 3", "Item 4", "Item 5","Item 6"]);

In the above javascript, which should be put in script tags in the header, there are a few simple things going on.
First it tells the dojo framework to include the drag and drop elements Source and Manager. These are very case sensitive and apparently used to be lower case in an older version of dojo.
Next the script declares a variable ‘c1’ and then defines the init() function. This init() function is where you want every dojo configuration option.
So it assigns c1 to a new Dojo Source called container. Next we insert 6 nodes into c1 with the insertNodes() function. The last line attaches this init() function onto Dojo’s Load event.
These few lines create a Drag and Drop basis for rearranging the 6 items we defined which will ba available on load.

Next The HTML :

  <h1 class="cody_title">Cody Taylor's Dojo Example</h1>
  <div id="dojo_list">
    <div style="margin:5px; ">
      <h3>Dojo List</h3>
      <p id="container" class="container"></p>
    <div class="clear"></div>

3 divs, 2 titles and a paragraph element. Important here are the id’s and classes. The id and class of the container paragraph tells Dojo that this is the source for dragging and dropping.

This is functional and all but it looks like basic text and no one will have any indication that it is in fact a drag and drop dojo web application. They will just think that the whole thing is broken. Here is an image of the bare application that I just outlined:

Now the CSS to pretty it all up:

body {
  padding: 1em;
#container { width:400px; display:block; }
.clear { clear:both; }

To start with I put the background to black and the text to white and set a clear class to both left and right. Not really Dojo related but still relavent.

.dojoDndItemOver {
  background: #222222;

This sets the color of the DndItem when mousing over and changes the text select mouse cursor to a to indicate that you can move each element.

.dojoDndAvatar {
  border:2px solid #ccc;
  font-size: 75%;
  -moz-border-radius:8pt 8pt;

This is the visual specification for the image that is displayed while dragging. The corners of the border don’t seem to work well in most versions of Internet Explorer but they look great in firefox.

.dojoDndAvatarHeader {
        display: none;

This to remove that header on the avatar that always seems to be “1” for me. If you want to keep that header just specify that dojoDndAvatarHeader has a back-ground color and remove the “diplay: none;”.

.dojoDndAvatarItem {
  background: #222;
  border-bottom:1px solid #666;

Just to make sure that the dojo avatar always has a proper background.

.dojoDndItemBefore {
  border-top: 2px solid orange;

.dojoDndItemAfter {
  border-bottom: 2px solid orange;

These two definitions really make this application easier to use. They basically indicate where the item that the user is dragging will go when dropped. This is very useful for showing the user how to use this application.

.container {
  border:3px solid #ccc; 
  padding: 1em 3em; 
  cursor: default;
  -moz-border-radius:8pt 8pt;

This defines how the element containing the entire list will look.

Any suggestions on making this easier to use with visual cues would be greatly appreciated.
Cody Taylor.


Apr 30 2009

Old-School Coding Techniques You May Not Miss

CWmike writes “Despite its complexity, the software development process has gotten better over the years. “Mature” programmers remember manual intervention and hand-tuning. Today’s dev tools automatically perform complex functions that once had to be written explicitly. And most developers are glad of it. Yet, young whippersnappers may not even be aware that we old fogies had to do these things manually. Esther Schindler asked several longtime developers for their top old-school programming headaches and added many of her own to boot. Working with punch cards? Hungarian notation?”

Read more of this story at Slashdot.


Apr 26 2009

The Economist On Television Over Broadband

zxjio recommends a pair of articles in The Economist discussing television over broadband, and the effects of DVR use. “Cable-television companies make money by selling packages of channels. The average American household pays 0 a year for over 100 channels of cable television but watches no more than 15. Most would welcome the chance to buy only those channels they want to watch, rather than pay for expensive packages of programming they are largely not interested in. They would prefer greater variety, too — something the internet offers in abundance. A surprising amount of video is available free from websites like Hulu and YouTube, or for a modest fee from iTunes, Netflix Watch Instantly and Amazon Video on Demand. … Consumers’ new-found freedom to choose has struck fear into the hearts of the cable companies. They have been trying to slow internet televisions steady march into the living room by rolling out DOCSIS 3 at a snails pace and then stinging customers for its services. Another favorite trick has been to cap the amount of data that can be downloaded, or to charge extortionately by the megabyte. Yet the measures to suffocate internet television being taken by the cable companies may already be too late. A torrent of innovative start-ups, not seen since the dot-com mania of a decade ago, is flooding the market with technology for supplying internet television to the living room.” And from the second article on DVR usage patterns: “Families with DVRs seem to spend 15-20% of their viewing time watching pre-recorded shows, and skip only about half of all advertisements. This means only about 5% of television is time-shifted and less than 3% of all advertisements are skipped. Mitigating that loss, people with DVRs watch more television. … Early adopters of DVRs used them a lot — not surprisingly, since they paid so much for them. Later adopters use them much less (about two-thirds less, according to a recent study).”

Read more of this story at Slashdot.


Apr 19 2009

Why There’s No iTunes For Movies

theodp writes “Slate’s Farhad Manjoo would gladly pay a hefty monthly fee for immediate access to recent movies and TV shows — if someone would just take his money. In reality, he pays nothing because no company sells such a plan, and instead resorts to getting his programming from the friendly BitTorrent network.

Read more of this story at Slashdot.


Apr 17 2009

Philosophies and Programming Languages

evariste.galois writes “Wikipedia has a special section called, ‘Language Philosophy,’ in every article for a programming language. This section looks at the motivation and the basic principles of the language design. What if we investigate further than that? What deeper connections between philosophies and programming languages exist? By considering the most influential thinkers of all time (e.g. Plato, Descartes, Kant) we can figure out which programming language fits best with aspects of their philosophy (Did you know that Kant was the first Python programmer)? The list is not exhaustive, but this is a funny and educative start.”

Read more of this story at Slashdot.


Apr 15 2009

Subverting PIN Encryption For Bank Cards

An anonymous reader sends in a story at Wired about the increasingly popular methods criminals are using to bypass PIN encryption and rack up millions of dollars in fraudulent withdrawals. Quoting: “According to the payment-card industry … standards for credit card transaction security, [PINs] are supposed to be encrypted in transit, which should theoretically protect them if someone intercepts the data. The problem, however, is that a PIN must pass through multiple HSMs across multiple bank networks en route to the customer’s bank. These HSMs are configured and managed differently, some by contractors not directly related to the bank. At every switching point, the PIN must be decrypted, then re-encrypted with the proper key for the next leg in its journey, which is itself encrypted under a master key that is generally stored in the module or in the module’s application programming interface, or API. ‘Essentially, the thief tricks the HSM into providing the encryption key,’ says Sartin. ‘This is possible due to poor configuration of the HSM or vulnerabilities created from having bloated functions on the device.'”

Read more of this story at Slashdot.


Apr 13 2009

ISP Capping Is Becoming the New DRM

Crazzaper writes “There’s a lot of controversy over ISP capping with Time Warner leading the charge. Tom’s Hardware has an interesting article about how capping is the new form of DRM at the ISP level. The author draws some comparison to business practices by large cable operators and their efforts to protect cable TV programming. While this is understandable from the cable operator’s perspective, the article points out how capping will affect popular services such as Steam for game content publishing and distribution, cloud-computing and online media services. Apparently this is also an effective way of going after casual piracy.”

Read more of this story at Slashdot.