Skip to main content

Home/ Coders/ Group items tagged making

Rss Feed Group items tagged

Matteo Spreafico

Joe Duffy's Weblog - OnBeingStateful - 0 views

  • The biggest question left unanswered in my mind is the role state will play in software of the future.
  • The biggest question left unanswered in my mind is the role state will play in software of the future. That seems like an absurd statement, or a naïve one at the very least.  State is everywhere: The values held in memory. Data locally on disk. Data in-flight that is being sent over a network. Data stored in the cloud, including on a database, remote filesystem, etc. Certainly all of these kinds of state will continue to exist far into the future.  Data is king, and is one major factor that will drive the shift to parallel computing.  The question then is how will concurrent programs interact with this state, read and mutate it, and what isolation and synchronization mechanisms are necessary to do so?
  • Many programs have ample gratuitous dependencies, simply because of the habits we’ve grown accustomed to over 30 odd years of imperative programming.  Our education, mental models, books, best-of-breed algorithms, libraries, and languages all push us in this direction.  We like to scribble intermediary state into shared variables because it’s simple to do so and because it maps to our von Neumann model of how the computer works.
  • ...3 more annotations...
  • We need to get rid of these gratuitous dependencies.  Merely papering over them with a transaction—making them “safe”—doesn’t do anything to improve the natural parallelism that a program contains.  It just ensures it doesn’t crash.  Sure, that’s plenty important, but providing programming models and patterns to eliminate the gratuitous dependencies also achieves the goal of not crashing but with the added benefit of actually improving scalability too.  Transactions have worked so well in enabling automatic parallelism in databases because the basic model itself (without transactions) already implies natural isolation among queries.  Transactions break down and scalability suffers for programs that aren’t architected in this way.  We should learn from the experience of the database community in this regard
  • There will always be hidden mutation of shared state inside lower level system components.  These are often called “benevolent side-effects,” thanks to Hoare, and apply to things like lazy initialization and memorization caches.  These will be done by concurrency ninjas who understand locks.  And their effects will be isolated by convention.
  • Even with all of this support, we’d be left with an ecosystem of libraries like the .NET Framework itself which have been built atop a fundamentally mutable and imperative system.  The path forward here is less clear to me, although having the ability to retain a mutable model within pockets of guaranteed isolation certainly makes me think the libraries are salvageable.  Thankfully, the shift will likely be very gradual, and the pieces that pose substantial problems can be rewritten in place incrementally over time.  But we need the fundamental language and type system support first.
Leandro Ardissone

Developer Color Picker - 0 views

  •  
    A custom color picker designed specifically for developers. Makes getting colors out of Photoshop/Acorn mock-ups quick and easy. Currently supports NSColor, UIColor, CGColorRef, CSS and HTML styles.
Joel Bennett

TestDisk - CGSecurity - 0 views

  •  
    TestDisk is powerful free data recovery software, designed to help recover lost partitions and/or make non-booting disks bootable again -- particularly when these symptoms are caused by faulty software, certain types of viruses or human error (such as accidentally deleting a Partition Table). Partition table recovery using TestDisk is really easy!
Joel Bennett

Installing Windows to a VHD - The Energized Tech - 0 views

  •  
    A walk through of how to install Windows to a virtual hard disk image (VHD) from scratch, instead of a full partition. No VPC was invoked in the making of this post ... just DISKPART a virtual disk into a file, and install.
Joel Bennett

xVal - CodePlex - 0 views

  •  
    xVal is a validation framework for ASP.NET MVC applications. It makes it easy to link up your choice of server-side validation mechanism with your choice of client-side validation library, neatly fitting both into ASP.NET MVC architecture and conventions.
David Corking

Dr. Dobb's | Smartphone Operating Systems: A Developer's Perspective | March 30, 2009 - 0 views

  • The industry stewards have countered Apple's move with their own application stores, so there's a huge opportunity to write the "killer app" for one of several smartphone platforms.
  • 40 MB to less than 4 MB of free RAM
  • one-app-at-a-time requirement complicates any implementation of a copy-and-paste mechanism.
  • ...45 more annotations...
  • As a security sandbox, the iPhone OS permits only one third-party application to run at a time, and not in the background.
  • adding some useful Bluetooth profiles that supported stereo headsets, data synchronization, or the ability to implement multiplayer games would be usefu
  • iPhone OS 3, that provides some of the missing features mentioned here, such as the A2DP profile for Bluetooth, voice recording, and copy-and-paste.
  • Have to learn Objective-C; is only smartphone platform that uses it.
  • Competitors will soon catch up on the UI.
  • embed navigation and GPS plotting into applications.
  • provide their own map content
  • The OS now supports the use of accessories connected to the iPhone either through its 30-pin docking connector or wirelessly via Bluetooth. Now that the device has been "opened", you can expect an entire ecosystem to build up around the device, much like the iPod has.
  • peer-to-peer connectivity using Bonjour
  • developers can now allow users, from within the application, to purchase and obtain new content
  • No voice dial.
  • A client-server mechanism provides access to low-level system resources, and in fact the kernel itself is a server that parcels out resources to those applications that need them. This transaction scheme allows applications to exchange data without requiring direct access to the OS space.
  • C/C++ for porting existing UNIX applications, and Java to port Java ME MIDlets. As mentioned previously, the software stack offers several run-times that offer application development using WRT widgets, Flash, and Python. The primary programming language for the platform is Symbian C++,
  • Handango has managed the wide-scale distribution of Nokia applications. In February, Nokia announced plans to launch its Ovi Store, which sells applications, videos, games, pod-casts and other content, similar to Apple's App Store. The store will be accessible by Nokia S60 smartphones in May.
  • Non-standard Symbian C++ has steep learning curve, with special idioms to master. Large number of Symbian APIs to learn, since it contains hundreds of classes and thousands of member functions.
  • BlackBerry Device Software executes multiple applications simultaneously
  • Manages multiple e-mail Exchange e-mail accounts, along with support for POP3 and SMTP, and e-mails can have file attachments
  • FIPS 140-2 compliant, and supports AES or Triple DES encryption sessions via BlackBerry Enterprise Servers
  • BlackBerry Device Software has enhanced the capabilities of the platform with its own Java virtual machine (JVM), along with new Java classes that offer multitasking capabilities and UI enhancements to go beyond the capabilities of Java ME.
  • You can also take existing Java ME code and add specific BlackBerry classes to make a hybrid Java ME application
  • don't intermix MIDP 2.0 and BlackBerry API calls that perform either screen drawing or application management.
  • The catch to writing an application that uses BlackBerry API extensions is that it ties the application this smartphone. However, this is no worse than using the unique Java classes found in Google's Android.
  • Apple promotes the design goal that applications should accomplish one purpose.
  • no Flash support, and you can't download files.
  • For non-Exchange users, Apple's MobileMe online service, after some fits and starts in 2008, now supports the push of e-mails and changes to the calendar and contacts.
  • The iPhone 3G can work in tandem with Microsoft Exhange Server 2003 and 2007 to support enterprise operations.
  • Cocoa Touch is a subset of Apple's Cocoa,
  • Cocoa Touch components manage most of the writing to the screen and playing media, yet there are APIs exposed that let you access the accelerometer and camera.
  • Quartz engine is identical to the one found in Mac OS X
  • Only a select few higher-level frameworks have access to the kernel and drivers. If necessary, an application can indirectly access some of these services through C-based interfaces provided in a LibSystem library.
  • the SDK provides Dashcode, which is a framework based on a Web page composed of HTML and Javascript. You can use DashCode's simulator to write and test your web application. You can also use several other third-party frameworks to write web applications, and debug these with Aptanna Studio's tools.
  • Made by HTC, the G1 is the first smartphone using the Android platform.
  • e-mail program (which makes use of Google's Gmail), a mapping program (using the company's Google Maps), and a browser that uses WebKit, not Google's Chrome web browser
  • Android is not Java ME, nor does it support such applications
  • ability to both browse and manage multiple IM conversations. On the other hand, such heavy use of the smartphone's CPU shortens battery life significantly. Maybe Apple is on to something in limiting the number of applications that the platform can run.
  • On the positive side, the Android APIs support a touch interface (and the G1 has a capacitive touch screen), but not any multi-touch gestures.
  • copying text from the web pages is the browser isn't allowed
  • The advantage to Android's use of a different bytecode interpreter is that the DVM was designed so that multiple instances of it can run, each in their own protected memory space, and each executing an application. While this approach offers stability and a robust environment for running multiple applications, it does so at the expense of compatibility with Java ME applications.
  • Seasoned Java programmers will find the Android SDK an amalgam of Java SE and Java ME methods and classes, along with unique new ones
  • compile the Java code to generate Dalvik bytecode files, with an extension of .dex. These files, along with the manifest, graphics files, and XML files, are packaged into an .apk file that is similar to a Java JAR file.
  • The certificate that you use to generate the private key does not require a signing authority, and you can use self-signed certificates for this purpose.
  • The Developer Phone provides access to a shipping Android device without the cash outlay or contract contortions required when developing for the other platforms.
  • in February the site began supporting priced applications. Google allows developers to take seventy percent of the proceeds.
  • it's possible that you might pick up a malicious application before it is detected by the user community.
  • Open source, open platform: if you hate the mail program, some third-party is writing a better one.
  •  
    Lengthy developer's overview of Symbian, Mac OS X iPhone, Blackberry, Android. This talks about the leading app platforms except Java ME and Windows Mobile, though it does explain how Blackberry and Symbian support Java ME.
Jungle Jar

JungleJar | Featured Web Application: PHPanywhere.net - 0 views

  •  
    This is an extremely cool and useful web application, and if it hasn't been thought of before, I'm absolutely shocked, because it makes so much sense. Essentially, PHPanywhere is a web based free Integrated Development Environment or IDE for the PHP language. In other words it is a web based application that provides PHP developers a PHP code editor that mocks a desktop application, and it does so very well.
David Corking

Squeak Bug/Fix Reporting on Vimeo by Ken Causey - 2008 - 0 views

  •  
    It is always important to know how to submit a bug report. It doesn't help that every community has different expectations, and every bug tracking system has a different layout. In Squeak, the learning curve is long but shallow. In this 23 minute screencast, Ken Causey starts with some bug hunting tips, and explains how to make a Smalltalk changeset file that is numbered, documented and compressed. He then shows how to submit this to the Mantis server on bugs.squeak.org.
Matteo Spreafico

Classical Inheritance in JavaScript - 0 views

  • function ZParenizor2(value) { var that = new Parenizor(value); that.toString = function () { if (this.getValue()) { return this.uber('toString'); } return "-0-" }; return that; }
    • Matteo Spreafico
       
      This constructors lies, wondeful!
  • Again, we augment Function. We make an instance of the parent class and use it as the new prototype. We also correct the constructor field, and we add the uber method to the prototype as well.
  • This adds a public method to the Function.prototype, so all functions get it by Class Augmentation. It takes a name and a function, and adds them to a function's prototype object.
  • ...3 more annotations...
  • To make the examples above work, I wrote four sugar methods. First, the method method, which adds an instance method to a class. Function.prototype.method = function (name, func) { this.prototype[name] = func; return this; };
  • JavaScript can be used like a classical language, but it also has a level of expressiveness which is quite unique. We have looked at Classical Inheritance, Swiss Inheritance, Parasitic Inheritance, Class Augmentation, and Object Augmentation. This large set of code reuse patterns comes from a language which is considered smaller and simpler than Java.
  • I have been writing JavaScript for 8 years now, and I have never once found need to use an uber function. The super idea is fairly important in the classical pattern, but it appears to be unnecessary in the prototypal and functional patterns. I now see my early attempts to support the classical model in JavaScript as a mistake.
Joel Bennett

WixEdit - SourceForge.net - 0 views

  •  
    WiXEdit is an editor for XML source files for the Windows Installer XML (WiX) toolset to build MSI and MSM setup packages. WixEdit tries to make the editing of WiX XML source files simple and comprehensible for everyone. Without any or little knowledge of WiX or even XML, you can create MSI installer packages for your software!
Joel Bennett

Microsoft U-Prove CTP - Microsoft Connect - 0 views

  •  
    U-Prove is an innovative cryptographic technology that enables the issuance and presentation of cryptographically protected claims in a manner that provides multi-party security: issuing organizations, users, and relying parties can protect themselves not just against outsider attacks but also against attacks originating from each other. At the same time, the U-Prove technology enables any desired degree of privacy (including authenticated anonymity and pseudonymity) without contravening multi-party security. These user-centric aspects make the U-Prove technology ideally suited to create the digital equivalent of paper-based credentials and the plastic cards in one's wallet.
yc c

JTidy - JTidy - 1 views

  •  
    JTidy is a Java port of HTML Tidy, a HTML syntax checker and pretty printer. Like its non-Java cousin, JTidy can be used as a tool for cleaning up malformed and faulty HTML. In addition, JTidy provides a DOM interface to the document that is being processed, which effectively makes you able to use JTidy as a DOM parser for real-world HTML.
Joel Bennett

AutoMapper - 1 views

  •  
    AutoMapper uses a fluent configuration API to define an object-object mapping strategy. AutoMapper uses a convention-based matching algorithm to match up source to destination values. It flattens as it maps to make it easy to use for converting your Model into a ViewModule or Data Transfer Object (DTO)..
Joel Bennett

NLog - Advanced .NET Logging - 3 views

  •  
    NLog is a free logging platform for .NET with rich log routing and management capabilities. It makes it easy to produce and manage high-quality logs for your application regardless of its size or complexity.
  •  
    This is a lot like Log4Net, but unlike Log4Net, it's been worked on this decade, and has Visual Studio integration and snippets...
Fabien Cadet

HTML Purifier - Filter your HTML the standards-compliant way! - 5 views

  •  
    HTML Purifier is a standards-compliant HTML filter library written in PHP. HTML Purifier will not only remove all malicious code (better known as XSS) with a thoroughly audited, secure yet permissive whitelist, it will also make sure your documents are standards compliant, something only achievable with a comprehensive knowledge of W3C's specifications. Tired of using BBCode due to the current landscape of deficient or insecure HTML filters? Have a WYSIWYG editor but never been able to use it? Looking for high-quality, standards-compliant, open-source components for that application you're building? HTML Purifier is for you!
ma rody candera

Babbling News: Avril Lavigne Has New Tatto - 0 views

  •  
    Canadian singer, Avril Lavigne Saturday (12 / 3) yesterday spontaneously with her ​​friends come to the Shamrock Social Club Tattoo in Hollywood. Avril decided his desire to make a tattoo on his neck.
ma rody candera

Babbling News: Youtube - Video Record of Super Moon in Yogyakarta, Indonesia - 0 views

  •  
    The results shown in the accounts up recording it. He said, "Actually this is unusual natural phenomenon. When viewed with the naked eye will not make any difference. It's a bit like distinguishing pants size 34 and 36, if not close to see it also not be visible."
Sylwia S

Daily Headlines Theme Demo | Just another ProudThemes.com Theme Demo - 0 views

  •  
    Daily Headlines is a premium WordPress theme developed by ProudThemes.com. It has an unique way of creating the structure of the homepage, something that is hard to describe with words. So make sure to take 2 minutes and watch this screencast of Daily Headlines widgetized homepage.
Zulkarnain K.

TreeBrowse - 3 views

  •  
    TreeBrowse is a simple tool that makes browsing directory indexes much easier. It shows a tree hierarchy of files and folders that can be navigated.
« First ‹ Previous 201 - 220 of 596 Next › Last »
Showing 20 items per page