23 posts found

Clojure - cross platform, fast, concurrent, concise

I recently ran across this video on Clojure... Very compelling presentation.  I originally thought of lisp as being interpreted.. It's easy to build a simple lisp interpreter. Clojure, however, is compiled lisp - but still quite as dynamic, and it supports edit-and-continue.

Read more...

Use 'scripting' languages when possible

Are you guilty of subconsciously regarding 'scripting' languages as inferior? Do you think real programming means using C, C++, C#, or Java? Does your conscience accuse you of laziness when you feel tempted to use a truly high-level language for your app?

Read more...

Command chaining

Even if you're still stuck using a non-dynamic language (Java, C#, etc), you can steal a trick or two from the other side. Command chaining is an easy practice that can really simplify your code. It's easy.

Read more...

Regular expressions are mandatory

I admit that regular expressions (regexes) are intimidating. I avoided them like a disease for six years. I wasn't quite sure what they did, but seeing stuff like this was enough to make me lose interest quick: <(?[\\w:-]+)(?\\s+(?\\w[-\\w:]*) (\\s*=\\s*\"(?[^\"]*)\"| \\s*=\\s*'(?[^']*)'| \\s*=\\s*(?<%#.*?%>)| \\s*=\\s*(?[^\\s=/>]*)| (?\\s*?)))* \\s*(?)(?:(?/>)|> (?s:(?.*?) (?i:\\s*>))) Whenever I did string parsing, I usually ended up with masses of loops and indexOf calls.

Read more...

Types of ASP.NET paths

ASP.NET is primarily concerned with "virtual paths", the portion of the path following the hostname or port number. When working with ASP.NET, you must understand the following types of URIs thoroughly, and know how they are handled by ASP.NET and the browser.

Read more...

Using a custom VirtualPathProvider can cause OutOfMemoryExceptions

Virtual path providers are awesome - you can serve a site from a .zip file, perform XSLT transformations to generate .aspx files as the compiler reads them, and do all sorts of unusual things. However, using them can make the StaticFileHandler buffer entire downloads in memory before sending the data to the client.

Read more...