C for Coding's Image
More about this blog
Latest Post
15 Feb 2010
Total Posts
45
Readers
484
Liked
0
Disliked
0
Views-Per-Post
10.76
vote up
0
vote down

Stackoverflow: Joel and Jeff want VC Money? Say What?

The big news today is that Stackoverflow—started by Joel Spolsky and Jeff Atwood as a programming Q&A site almost 18 months ago—is now looking for VC money. This is huge and deeply worrying. And it raises a whole raft of questions. Vertical Growth
 
William Shields
tags: opinion
Feb 16 2010 08:28 AM
vote up
0
vote down

Markdown, Inline Parsing and Badly Formed HTML

I haven’t had much time to work on my Markdown parser lately (sadly) but I thought it was worth posting an update on where I’m at. I have been digging deep into the dark depths of inline parsing. I have previously discussed the two modes of parsing
 
William Shields
tags: markdown
Feb 11 2010 01:53 PM
vote up
0
vote down

Standing on the Outside

This week I read Life outside .NET, or “How to check out your neighbours”. I really like posts like this. They’re instructive about the culture of a particular community. For over a decade I’ve been a Java developer (since JDK 1.0.2). Like most Java
 
William Shields
tags: java
Feb 05 2010 02:15 AM
vote up
0
vote down

Markdown, Block Parsing and the Road to Hell

I thought it times to update my status on this particular undertaking, which so far has ended up being far more massive than originally envisioned. The overall design of the Markdown parser is that there are two parsers… kinda. There is a parser to break
 
William Shields
tags: markdown
Feb 02 2010 09:58 AM
vote up
0
vote down

Java IDEs: the Blue Heeler, the Dachshund and the Labradoodle

I’ve had a frustrating week. I’m on a mission to find out why a piece of code I wrote had a “blowout” in execution time (“blowout” here means 60 microseconds instead of 15 in sustained usage just to keep things in perspective). I suspect it’s to do with
 
William Shields
tags: java
Jan 28 2010 08:35 PM
vote up
0
vote down

Markdown and an Introduction to Parsing Expression Grammars (PEG)

Writing an ANTLR LL(*) grammar for Markdown has been the itch I just can’t scratch this month. I keep going back to it as I have a new idea about how to approach the problem or how to solve a previous problem I’ve had. Each time I get further but I still
 
William Shields
tags: markdown
Jan 26 2010 10:12 AM
vote up
0
vote down

Markdown Headings, Grief and Unknown Elements to the Rescue

Well it’s not a day to be outside (unless you’re at the beach). It’s 41 degrees and that’s metric (none of this Imperial rubbish that only the US uses). That’s 106F in the old scale. So I’m tackling the problem of Markdown headings in my parser. Heading
 
William Shields
tags: markdown
Jan 17 2010 08:29 AM
vote up
0
vote down

Markdown Musings on Unintended Consequences

It may seem lately that Markdown is my white whale to which I respond thusly… call me Ahab. One of the problems with implementing something like this is that no one can quite agree on what exactly constitutes Markdown. It gets worse when you consider
 
William Shields
tags: markdown
Jan 14 2010 08:30 PM
vote up
0
vote down

More Details on JMD Markdown Parsing

I’ve reached an important milestone tonight. As previously mentioned I’m working on a non-regex Markdown library for Java (and other languages to follow). The goals of this project are: To be feature complete for standard Markdown as well as the
 
William Shields
tags: java
Jan 13 2010 08:13 PM
vote up
0
vote down

JMD, Markdown and a Brief Overview of Parsing and Compilers

Like most comp sci students, I did a course on compilers in university. I also did some parsing and syntax trees in a data structures course. At the time I wrote a couple of parsers, including one for simplifying boolean expressions (de Morgen’s laws, a
 
William Shields
Jan 11 2010 03:50 AM
vote up
0
vote down

Announcing JMD: Java MarkDown (port of MarkdownSharp)

By a strange coincidence when I was looking for text editing options for another project, the Stackoverflow guys released MarkdownSharp last week, being a C# port and extension to what was originally written in Perl. A couple of days later I have JMD
 
William Shields
tags: java
Jan 04 2010 04:29 PM
vote up
0
vote down

Java: Why-oh-why still no multi-line strings?

Over the last year or two I’ve been doing a lot of PHP (which I really like).One of the things I use a lot is heredoc syntax eg: $query = <<<END SELECT * FROM tablename WHERE condition1 = $field AND condition2 = 345 END; This is much more
 
William Shields
tags: java
Jan 02 2010 04:44 AM
vote up
0
vote down

Mutability, Arrays and the Cost of Temporary Objects in Java

In his 2001 must-read book, Effective Java, Joshua Bloch said in one item "Favor immutability". Java theory and practice: To mutate or not to mutate? provides an excellent overview of what this means and why it matters. It states: An immutable object is
 
William Shields
tags: java
Dec 29 2009 06:18 PM
vote up
0
vote down

Hard Numbers on Stackoverflow Careers

This is a follow-up to Joel Inc., Stackoverflow Careers and Jumping Sharks, posted late last week. Joel posted Stack Stats this week in which he demonstrates the correlation between Stackoverflow reputation and Careers take-up. Now the exact meaning of
 
William Shields
tags: opinion
Dec 15 2009 08:09 PM
vote up
0
vote down

Joel Inc., Stackoverflow Careers and Jumping Sharks

Joel Spolsky is a legend in the programming world. His blog-Joel on Software-is the most popular and well-known programming blog. In mid-2008, Joel and Jeff Atwood-of Coding Horror fame-launched Stackoverflow, a free site for asking programming
 
William Shields
tags: opinion
Dec 10 2009 01:33 PM
vote up
0
vote down

Google Wave Invites to Give Away

I've got a dozen or so of these I don't really need. Drop me a line and I'll send you one, first in first served until they run out.
 
William Shields
Dec 09 2009 06:29 AM
vote up
0
vote down

Programming Puzzles, Chess Positions and Huffman Coding

This week Andrew Rollings asked the question ProgrammerPuzzle: Encoding a chess board state throughout a game on StackOverflow. Now I'll admit that I love this kind of question. I'm not really such a big fan of Code Golf as that's an exercise in writing
 
William Shields
Dec 07 2009 04:30 PM
vote up
0
vote down

Temporary Post Used For Theme Detection (2baccab1-47a4-4bd4-9b1b-6f0d34838a66 - 3bfe001a-32de-4114-a6b4-4005b770f6d7)

This is a temporary post that was not deleted. Please delete this manually. (065e2162-7904-402e-8a9d-471da20fb782 - 3bfe001a-32de-4114-a6b4-4005b770f6d7)
 
William Shields
Dec 07 2009 03:27 PM
vote up
0
vote down

Programming Puzzle: Storing a Chess Position

This week Andrew Rollings asked the question Programmer Puzzle: Encoding a chess board state throughout a game on StackOverflow. Now I'll admit that I love this kind of question. I'm not really such a big fan of Code Golf as that's an exercise in writing
 
William Shields
Dec 07 2009 03:00 PM
vote up
1
vote down

Reviewing Project Lombok or the Right Way to Write a Library

You could consider this a parody of my own Spring Batch or How Not to Design an API. Credit where credit is due however and this brings me to Project Lombok. What is Project Lombok? Every Java developer knows that Java involves writing a lot of
 
William Shields
tags: review
Nov 24 2009 08:00 PM
vote up
0
vote down

Lost in Translation or Why GWT Isn't the Future of Web Development

I recently read Is GWT the future of web development? The post postulates that GWT ("Google Web Toolkit") is the future because it introduces type safety, leverages the existing base of Java programmers and it has some widgets. Google has recently put
 
William Shields
tags: web
Nov 07 2009 11:11 AM
vote up
0
vote down

Microsoft, Marketing Insanity and Windows Piracy

Thursday marks Microsoft's release of the Windows 7 operating system. This is an opportune moment to reflect on Microsoft's marketing strategy because its like they want me to pirate Windows. And I feel the need to rant. A Brief History of Windows
 
William Shields
tags: windows
Oct 22 2009 09:02 PM
vote up
0
vote down

Stackoverflow, Advertising and the Ethics of a Free Lunch

If the Internet has taught us nothing else, it has taught us that: Advertising pays for otherwise free services; People don't like advertising; and Advertising works. These conflicting forces always cause consternation and Stackoverflow is by no means
 
William Shields
tags: opinion
Oct 02 2009 05:15 AM
vote up
0
vote down

Anyone Interested in a PHP Fluent Interface for Generating HTML?

For the past few days I've been toying with a set of classes in PHP that is basically a fluent interface for generating HTML. A basic usage example is: echo p(b('This'), ' is a ', i('test'))->addClass('foo')->html(); or alternatively: echo new
 
William Shields
tags: html
Sep 16 2009 10:01 PM
vote up
0
vote down

PHP Smarty Tutorial: Caching and Versioning Static Content

I am a nascent advocate of using Smarty as a view templating engine in PHP. Some-including myself until recently-might ask "Why use a templating engine for PHP, which is a templating engine?" In this post I hope to give you one example of how Smarty can
 
William Shields
tags: smarty
Sep 16 2009 07:17 PM
vote up
0
vote down

Test-Driven Development: I Finally Get It

I've never been a big fan of TDD ("Test-Driven Development"). Some things are just plain hard to test. Some people end up doing end-to-end tests with tear-down temporary databases and calling them "unit tests". Recently I've seen the light and realized
 
William Shields
tags: tdd
Sep 08 2009 09:40 PM
vote up
0
vote down

Windows Git Tutorial: Cygwin, SSH and Projectlocker

Recently I've switched from using Subversion to using Git for version control on personal projects. Now as much as Windows annoys me-and believe it me when I say it does annoy me-I still prefer to use it as a development environment (for PHP or Java)
 
William Shields
tags: hosting
Sep 08 2009 09:27 PM
vote up
0
vote down

PHP and Smarty: What IDE?

This week I've decided to use Smarty for a personal project. I've previously been leery of using a template engine with PHP because PHP is a template engine. You can embed code in what are otherwise HTML documents. Why Smarty? But this week I've come
 
William Shields
tags: smarty
Sep 04 2009 01:36 PM
vote up
0
vote down

Is StackOverflow Losing Its Way?

I find myself rather surprised to be writing this post. I've long been a supporter of StackOverflow as a far more effective means of getting answers to programming questions than the extremely low signal-to-noise ratio you get get on the more traditional
 
William Shields
tags: opinion
Aug 28 2009 07:09 AM
vote up
0
vote down

My CSS3 Wish List

Whether you frame the argument as "divs vs tables", "tables vs pure CSS" or whatever there are some strong opinions out there. I'm all for the idea of semantic markup. The problem? There are some things you can do (sometimes trivially) with tables that
 
William Shields
tags: css
Aug 13 2009 05:51 AM
vote up
0
vote down

It's Time We Stopped Rewarding Projects with Crappy Documentation: Open Source is No Excuse

In the last month, I shared my experiences with Spring Batch-not all positive-which led me to ponder the political correctness of criticizing open source software. Time to move on. This week I've been writing unit tests for Java. In the past I've always
 
William Shields
tags: opinion
Aug 05 2009 08:07 PM
vote up
0
vote down

Is it Politically Incorrect to Criticize Open-Source Software?

Political correctness is one of the most virulent and pervasive social diseases of the modern era, one for which I have no time whatsoever. Take, for example, the self-evident phenomenon that programming is a male-dominated industry with one study
 
William Shields
tags: spring
Jul 29 2009 03:52 AM
vote up
0
vote down

Spring Batch or How Not to Design an API

Let me start out by saying I'm a huge fan of the Spring framework. It revolutionized enterprise Java development, supplanted J2EE and is probably the single most important Java development in its turgid history. One of the great things about Spring is
 
William Shields
tags: review
Jul 25 2009 12:02 AM
vote up
0
vote down

Starting a Programming Blog, Part 2

It has now been two months since I started this blog and a month since that post. Since it seemed to be well-received I thought I'd follow it up after another month. Firstly though I want to stress something I said from the previous post: more than
 
William Shields
tags: blog
Jul 13 2009 05:01 PM
vote up
0
vote down

Starting a Programming Blog

It is one month ago today that I decided to start a programming blog. I wasn't sure what to expect but I get questions both here and in the real world so I thought I'd jot down some my experiences. Why Start a Blog? Fellow StackOverflow user, Brent Ozar
 
William Shields
tags: blog
Jul 13 2009 05:01 PM
vote up
0
vote down

Plain English Explanation of Big O Notation

I recently read A Beginners' Guide to Big O Notation and while I appreciate such efforts I don't think it went far enough. I'm a huge fan of "plain English" explanations to, well, anything. Just look at the formal definition of Big O. The only people who
 
William Shields
Jul 09 2009 08:19 PM
vote up
0
vote down

StackOverflow for... marketing questions?!

Yesterday I saw this question and got to thinking... what would a Q&A site for marketing questions look like? What would people ask? I then got to thinking about how tech products get marketed and this post is the result. It's my take on
 
William Shields
Jul 09 2009 05:02 AM
vote up
0
vote down

Oracle vs MySQL vs SQL Server: Aggregation vs Joins

#results { border-collapse: collapse; } #results th, #results td { border: 1px solid black; height: 1.5em; vertical-align: center; } #results td { text-align: center; } I'm having a bad week for writing blog posts. I've so far started posts on two
 
William Shields
tags: database
Jul 03 2009 08:42 PM
vote up
0
vote down

Aggregation vs Joins: Methodology

I promised to outline my methodology for Oracle vs MySQL vs SQL Server: Aggregation vs Joins so here it is. Oracle Version: Oracle 10g Express Edition ("XE") running on Windows XP SP3 CREATE TABLE Emp ( ID NUMBER(19,0) PRIMARY KEY, PersonID NUMBER(19,0),
 
William Shields
tags: database
Jul 03 2009 08:36 PM
vote up
0
vote down

Why Writing a Blogging Engine is a Waste of Time

Cal Henderson (of Flickr fame) gave a keynnote address at DjangoCon 2008 titled "Why I Hate Django" that is worth watching for many reasons. At one point during the talk he asks the audience to put up their hands if they were building a
 
William Shields
tags: blog
Jun 30 2009 08:43 PM