“This utility converts NIB files (or XIB ones) into Objective-C code, including all the properties of each instance, the documented constructor calls, and also the view hierarchy. It uses the output of the ibtool utility bundled with the Xcode tools. For more information about ibtool, please check the ibtool man page.”
“How did we get from a platform that began without 3rd party apps, multitasking, or even copy / paste support to where we are today? Read on to see exactly how Apple evolved its mobile platform over the years, in our history of iOS.”
Posted Saturday, December 17, 2011
under ios, iphone
Nikhil Kothari discusses a solution to programmatically initialize and attach IHtttpModule implementations to an application at run-time using the PreApplicationStartMethodAttribute and an HttpApplication subclass.
“Saying that LINQ is a monad isn't quite right, because the LINQ syntax can be used for encoding other types of computations too. In this article, [Tomas demonstrates] how to use it for writing code using idioms. Idioms are weaker than monads - in the object oriented terms, this means that the "monad interface" inherits from "idiom interface". As a result, some computation types can implement the "idiom interface", but cannot be written as monads. [Tomas looks ]at ZipList, which is one example of such computation type.”
“PageDown is the version of Attacklab's Showdown and WMD as used on Stack Overflow and the other Stack Exchange sites. It includes a converter that turns Markdown into HTML, a Markdown editor with realtime preview of the generated HTML.”
“FTP is a TCP based service exclusively. There is no UDP component to FTP. FTP is an unusual service in that it utilizes two ports, a 'data' port and a 'command' port (also known as the control port). Traditionally these are port 21 for the command port and port 20 for the data port. The confusion begins however, when we find that depending on the mode, the data port is not always on port 20.” This article clears up that confusion, especially from a firewall configuration perspective.
“This report is an introduction to Artificial Neural Networks. The various types of neural networks are explained and demonstrated, applications of neural networks like ANNs in medicine are described, and a detailed historical background is provided. The connection between the artificial and the real thing is also investigated and explained. Finally, the mathematical models involved are presented and demonstrated.”
FCore is a .NET numerical library and has been specifically designed for those who want to use F# for their quantitative development on .NET platform. FCore features a dedicated F# API. It has been internally implemented in C++ for maximum performance and is multi-threading ready. FCore can also bypass .NET 2GB memory restriction and manipulate matrices of virtually unlimited sizes (64-bit version).
“If you allocate objects larger than 85000 bytes, they will be allocated in the Large Object Heap (LOH). The LOH is not compacted and collection only occurs after a full collection (so gen 2 must be collected in order to collect an object in the LOH). Short-lived and frequent LOH allocations will kill the performance of your application.”
“Debugger Canvas is a new user experience for the debugger in Visual Studio Ultimate. It pulls together the code you’re exploring onto a single pan-and-zoom display. As you hit breakpoints or step into code, Debugger Canvas shows just the methods that you’re debugging, with call lines and local variables, to help you see the bigger picture.”
“Architects look at thousands of buildings during their training, and study critiques of those buildings written by masters. In contrast, most software developers only ever get to know a handful of large programs well—usually programs they wrote themselves—and never study the great programs of history. As a result, they repeat one another's mistakes rather than building on one another's successes. This book's goal is to change that. In it, the authors of twenty-five open source applications explain how their software is structured, and why. What are each program's major components? How do they interact? And what did their builders learn during their development? In answering these questions, the contributors to this book provide unique insights into how they think.”
(1) Estimates require domain knowledge. (2) Tasks with a large size (or effort) are harder to estimate than smaller tasks. (3) Uncertainty decreases as we gain confidence and understand our abilities. (4) Uncertainty continually decreases as we get closer to the finish.
“HTML5Labs is where Microsoft prototypes early and unstable specifications from web standards bodies such as W3C. Sharing these prototypes helps us have informed discussions with developer communities, and enables us to provide better feedback on draft specifications based on this implementation experience.”
“Vista introduced two closely related features: Application Restart and Application Recovery…Application Recovery applies to applications that have a “document” or any other in-memory information that might be lost when the application closes unexpectedly. Application Restart applies to all applications, whether they might have unsaved data or not, and to more unexpected closes, including a DLL update or a system reboot.”
“In 2007, computer science lecturer Neil McBride argued that computer science was going the way of Latin languages…that a variety of factors might contribute to the death of this field, including robots, lack of interest and progress in computing itself. Three years later, computer science seems to be holding its own and expanding into fields such as physics and game theory. At the moment, it’s no more dead than history.”
To perform asynchronous, cancellable HTTP requests in Cocoa, there is NSURLConnection. It gives a great degree of control over the lifetime of the request and for managing the incoming response data. It also handles caching and system proxy settings and global request pooling and other useful things. Unfortunately, using it properly is a bit tedious. This is Nick Farina making it suck less.
“The browser can optimize concurrent animations together into a single reflow and repaint cycle, leading to higher fidelity animation. For example, JS-based animations synchronized with CSS transitions or SVG SMIL. Plus, if you're running the animation loop in a tab that's not visible, the browser won't keep it running, which means less CPU, GPU, and memory usage, leading to much longer battery life. OMG I can brag about having a site with battery-friendly animations? Yeah bro. Totes McGoats.”
Jeremy Skinner explains scripts he created for FluentValidation to automatically produce NuGet packages as well as provide the ability to automatically publish them to the newly available NuGet Gallery.
“Many data access strategies are available in the .NET development space—ADO.NET Entity Framework, ASP.NET Dynamic Data, XML, Hibernate, LINQ to SQL, and ObjectDataSource, to name a few. However, in many cases ADO.NET DataTables are still in use. This may be because your current architecture is based on DataTables or because they are simple to use. …You may simply have not had the time to explore these other data access approaches. Whatever the reason, it’s useful to know how to maximize the performance of the DataTable. We’ll look at two common scenarios: querying data and aggregating data.”
“I’m saying that the iPad is the new IE6 because we are expecting it to be something that it isn’t, the same way that we were expecting that IE6 would have the same features/performance/reliability than the latest versions of Firefox/Safari.”
“FileDB is a free, fast, lightweight C# (v3.5) DLL project to store, retrieve and delete files using a single archive file as a container on disk. It's ideal for storing files (all kind, all sizes) without databases and keeping them organized on a single disk file.”
The goal of the CassiniDev project is to provide an open platform for developing a robust ASP.Net web server implementation that addresses many of the limitations and difficulties encountered when using Cassini and/or Visual Studio Development Server. CassiniDev is packaged as a standalone WinForms GUI application, a console application and library assembly suitable for self hosting and in automated testing scenarios including continuous integration and as a 100% compatible drop-in replacement for the Visual Studio 2008/2010 development server.
Thomas Marquardt explains how MVC and ASP.NET routing impacts the performance of static requests (HTML, JPG, GIF, CSS, JS, etc), including how routing is implemented in the ASP.NET pipeline on IIS 6 and IIS 7. He also talks about the new extensionless URL routing feature in ASP.NET 4.0.