Minimal FORTH compiler and tutorial
Rich Jones writes: I wanted to understand how FORTH is implemented, so I implemented it and wrote a step-by-step tutorial on what every bit does.
The tutorial is inside a (literate) code file you can download and run.
Lambda the Ultimate — Forth is one of those languages you really should know about. The discussion on LtU is good. Lots of stuff to see and do here.
(link to YouTube video)
Kevin Burton — Don’t do this :-)
Every month we take a look around and select some of the most interesting web-development-related web-sites. We read articles, check out tools, analyze the advantages of new resources. Below you’ll find useful references, tutorials, services, tools, techniques and articles we’ve found over the last 30 days - an overview of web-sites you shouldn’t have missed in August 2007.
Smashing Magazine
Out of 18 choices, why does one piece of content get 49 percent of the vote while another gets 0 percent? … Over the last six years, I have tested a range of headings and summaries. The tests were carried out in 14 countries with almost 3,000 people. People were asked to scan 31 headings and 18 summaries about a particular subject and then quickly choose the one that stood out for them.
CMS Wire
A tour of git: the basicsCarl Worth — might help
Clarifying the Fundamentals of HTTP
The simplicity of HTTP was a major factor in the success of the Web. However, as both the protocol and its uses have evolved, HTTP has grown complex. This complexity results in numerous problems, including confused implementors, interoperability failures, difficulty in extending the protocol, and a long specification without much documented rationale.
Many of the problems with HTTP can be traced to unfortunate choices about fundamental definitions and models. This paper analyzes the current (HTTP/1.1) protocol design, showing how it fails in certain cases, and how to improve these fundamentals. Some problems with HTTP can be fixed simply by adopting new models and terminology, allowing us to think more clearly about implementations and extensions. Other problems require explicit (but compatible) protocol changes.
Jeffrey C. Mogul
We don’t have a name, we don’t have a UI design, no programming has been written, no server infrastructure has been set up, but somehow by October 24 we plan on launching a brand new web application. One Month App is the brainchild of Clear Function in which we intend to design, develop and launch a web application in one month.
Clear Function
Ext JS - JavaScript LibraryThis seems pretty nice.
Fast content-aware image resizing
Seam carving is a recently presented method to resize images “intelligently”, by removing pixels of the image that carry little information. It can do things like turning this image into this one
eigenclass — The article is interesting, but really, the technique is the thing. The followup post is really interesting. A policeman is removed from what looks to me like an airport scene. Wow! And scary! Looks like maybe we’d better start getting used to looking for shadows.
I believe in paying it forward, so sometimes I take a look at amateur manuscripts. I imagine I’ll keep doing it until some ballsack Balzac sues me for having a character named Tom when they also had a character named Tom.
It’s amazing how many of the same mistakes you see over and over again. Different authors, same flaws.
Anyway, here’s a list of errors I (and some editors I know) see over, and over, and over again, ad desperandum. Plus a few that maybe just bug me.
Bohemian Word Werks
Don't forget the value of hyperlinking
Online journalism educators pay much appropriate attention to innovations such as wikis, blogs and crowdsourcing. But let’s not forget the journalism value of might have been the original Web innovation – the hyperlink.
Online Journalism Review — How to correct news articles. Pretty obvious, but it isn’t done.
… allowed me a page to rant about what was important to me – namely the tendency for software development to dig too quickly into building software before being clear about the context their software will be used in, the goals it should reach, and the problems it should solve. I tried to compare too fast software to fast food, and better software to slow food.
Agile Product Design
Dead Paradigms in Applications
You know what I am talking about, and you have to admit that it is getting a little sad: they are some of the most ridiculous design patterns in software that are no longer required by physical or operating system demands, but they are still around. Lazy developers and designers are opting to copy old patterns rather than creatively make use of new opportunities.
And that is what it is, laziness. Plain and simple. Welcome to Dead Paradigms, cousin and glasses-wearing cohort of Dead Media.
socialwrite.com
Valuing Outcomes over Features
In a recent series of conversations, Dan North, Martin Fowler, and Marc McNeill explore what is possibly the fifth Agile principle: valuing outcomes over features. They also discuss the differences between use-cases, user journeys, and features.
Artima — November 2006, still worth a read
Caching Tutorial for Web Authors and Webmasters
A Web cache sits between one or more Web servers (also known as origin servers) and a client or many clients, and watches requests come by, saving copies of the responses — like HTML pages, images and files (collectively known as representations) — for itself. Then, if there is another request for the same URL, it can use the response that it has, instead of asking the origin server for it again.
mnot — handy discussion of etags and modified-since, and a whole lot of other possibly more useful information.
I really got started with this whole Web mess with the ArsDigita Prize where I learned how to build database-backed websites by building one myself. However, it was always assumed that these sites would be built by having a bunch of code on the server which generated pages for the user on demand by calling the database. That was simply how such sites were built, I never questioned it.
Aaron Swartz — Oh, I’m biased for sure, but I like this.
On HTTP Last-Modified and ETag
Anne van Kesteren has a tendency to dive into some of the details of basic web technologies such as HTTP, HTML and CSS. Yesterdays´ post is about HTTP cache revalidation with conditional methods, using the headers Last-Modified and ETag, and the status code 304 Not Modified:
about:cmlenz — also useful
Ten Tips for a (Slightly) Less Awful Resume
Today’s scientific question is: why are the resumes of programmers so uniformly awful? And how do we fix them? The resumes, that is.
Stevey's Blog Rants
7 reasons I switched back to PHP after 2 years on Rails
I spent two years trying to make Rails do something it wasn’t meant to do, then realized my old abandoned language (PHP, in my case) would do just fine if approached with my new Rails-gained wisdom.
Derek Sivers - O'Reilly Ruby — This is a useful contribution, and worth reading. A lot of boring drama around it, read the article and think about what Derek is actually saying.
As discussed in the Book Design thread of Edward Tufte’s Ask E.T Forum, this is beginning of a Tufte-inspired LaTeX layout to produce handouts and scientific notes
Looks like a worthwhile effort.
WebRunner is a simple XULRunner based browser that hosts web applications without the normal web browser user interface. WebRunner is based on a concept called Site Specific Browsers (SSB). An SSB is an application with an embedded browser designed to work exclusively with a single web application. It doesn’t have the menus, toolbars and accoutrement’s of a normal web browser. Some people have called it a “distraction free browser” because none of the typical browser chrome is used. An SSB also has a tighter integration with the OS and desktop than a typical web application running through a web browser.
MozillaWiki
At any rate, the term “continuous tax” to describe dynamically typed languages is dead-on accurate because it captures very precisely the trade-off you are making when you choose to use a language that is not statically typed.
Otaku, Cedric's weblog — Right. Completely backwards if you ask me.
I was checking out a graphic design blog called FFFFound! and saw these great ads for Lego. They just capture everything that’s great about them lego blocks, no?
Russell Beattie — Brilliant!
You don’t have to write the same CSS-code or (X)HTML-Markup over and over again. Whatever project you’re starting to work with, at some point you have to define classes and IDs you’ve already defined in your previous web-projects. To avoid unnecessary mistakes you might want to start not from a blank file, but from an almost “perfect” scratch. The latter might contain some basic definitions you’d write in your code anyway. However, once you’ve decided to create such a scratch, you need to make sure it is really bulletproof — besides, if the stylesheet also sets up optimal typographic rules and basic form styling you manage to kill two birds with one stone.
Smashing Magazine
I created Nu because I believe that we can do better at writing software. I also believe that the language we use makes a difference.
Programming Nu — A lisp like language for building Cocoa based applications on Mac OS X. Looks interesting.
Techmeme LeaderboardTechmeme — Well, if you are into top 100 lists.
Financial Models for Underachievers: Two Years of the Real Numbers of a Startup
My buddy at Redfin, Glenn Kelman, decided he wanted to bare his financial soul so that other entrepreneurs could get greater insight into the witchcraft called financial modeling. In this two-part posting, he reveals his numbers and his lessons. They are eye-opening for most entrepreneurs.
Guy Kawasaki, How to Change the World
This blessay, while entirely different in other respects, is also unaccountably and inexcusably prolix. Sorry about that, I don’t seem to be able to keep things brief. So my advice is that you read it in bits. Or print it out and save it for a rainy day or a recalcitrant motion.
I will try to produce more traditional ‘dear diary’ style down-and-dirty blogs if that’s what you would prefer, but I advise you to be prepared to expect a mixture of the long and the short.
My subject this week is Fame….
Stephen Fry — Nice to see Stephen Fry blogging… a really good writer.
Ovid is wondering about rewrite projects. It’s a frequent topic in software, and there’s no one answer that fits all situations.
Notes on Haskell
Rewriting Software, Part 2Notes on Haskell
For many of the companies I take a look at, there is an overwhelming amount of super/highly technical people in the room. They tend to parse words exactly, view things in a very literal sense, and can sometimes miss the boat when it comes to the business objectives of the company. No indictment by any means just simply a matter of focus.
Last week, I got caught in that trap myself. I wanted to share this story with you because I hope to provide you some observations help your own business efforts. The story is a bit long but the set up to the point is important so stay with me.
The Post Money Value
This sounds strangely familiar.
Erlang can’t possibly be implemented efficiently, just like Java couldn’t be implemented efficiently, just like… An old story.
The Top 5 Reasons to Be a Jack of All Trades
Specialization isn’t always a good thing.
Email Print Comment Are the days of Da Vinci dead? Is it possible to, at once, be a world-class painter, engineer, scientist, and more?
“No way. Those times are long gone. Nothing was discovered then. Now the best you can do is pick your field and master it.”
The devout specialist is fond of labeling the impetuous learner – Da Vinci and Ben Franklin being just two forgotten examples – a “jack of all trades, master of none.” The chorus unites: In the modern world, it is he who specializes who survives and thrives. There is no place for Renaissance men or women. Starry-eyed amateurs.
Tim Ferriss, Huffington Post
Mailtrap is a mock SMTP server for use in Rails development.
Mailtrap waits on your choosen port for a client to connect and talks just enough SMTP protocol for ActionMailer to successfully deliver its message.
Mailtrap makes no attempt to actually deliver messages and, instead, writes them into sequentially numbered files on disk (hence the name Mailtrap).
Matt Mower, RubyForge — Oh, I needed this about a year ago.
There’s something interesting happening right now. Startups are undergoing the same transformation that technology does when it becomes cheaper.
Paul Graham
I believe that the following statement is an axiom of software development:
It is impossible, by examining any significant piece of completed code, to determine within a factor of two how many man-hours it took to produce that code.And the corollary:
If you can't tell how long a piece of code would take when you have the finished product available, what chance do you think you have before the first line of code is written?
True. Hmm. But what does it mean? On the face of it nothing good.
I find myself wanting to say to these people, “Stop worrying so much about SEO and just concentrate on creating a website that’s relevant to an audience.” Look, no amount of SEO is going to make something that’s crap good. It’s just not. Instead, focus your efforts into making something that’s good, that reaches an audience and that people will want to naturally share with others.
Golgotha, Search This
A way of thinking: PageRank is an SEO bi-product
PageRank (PR) is a word which will never disappear from the SEO/SEM arena. For some, it’s an obsession. For me, it’s one of the most pointless factors when considering an internet marketing campaign, mainly due to the following …
Andrew Faulkner, fadtastic
Suncor Puts the Lie to Energy Intensity Promises
President George Bush, Canadian Prime Minister Stephen Harper and now the Canadian Council of Chief Executives are all suggesting that voluntary targets to reduce energy intensity will be a sufficient short-term response to climate change.
DeSmogBlog — Nice example of why this ‘intensity’ based idea will not help solve the problem (global warming) most of us think needs solving. Of course, it is quite possible that some other problem is being addressed.
Charred chilli dip causes terror alert
Baffled chef Chalemchai Tangjariyapoon, who had been cooking a spicy dip, was amazed to find himself at the centre of the terror scare.
“We only cook it once a year - it’s a spicy dip with extra hot chillies that are deliberately burned,” he said.
The Guardian — Sounds tasty :-)
Distinguished Lectures at U of T
The Distinguished Lectures series in Computer Science at U of T has just been announced. It’s quite a list:
The Third Bit
Here’s what I want: a CMS that was truly developed from the API out. If an interface comes with it, great. I might use it, I might not.
Gadgetopia — Maybe, not sure.
Welcome to the List Universe, the number one source for top 10 lists on the net! To view a complete list of all articles, use the navigation tabs at the top of each page, or click here. Feel free to use the comments on the articles to discuss or expand on them.
This will consume hours of your time.
MailtrapMore on Mailtrap which I mentioned above.
jQuery UI: Widgets, Components, and InteractionsI’ll be investing some time in checking this out.
Which side is the gas cap on?Paul Gross's Blog — So easy?
But a response to what? “What is left?” That is, in the first instance, an empirical question. What do the people who collectively lable themselves ‘left’ believe, in the aggregate? But the result is not likely to be anything I believe, nor is it very likely to be anything a majority of left-leaning people believe, unless it is defined at such a level of vagueness as to be uninformative. Moreover, the answers from such a survey will vary with the questions asked, as Burmeister’s post shows. Is ‘left’ the party of change? Looked at from one perspective, perhaps. Looked at from another, perhaps not.
Stephen Downes, Half an Hour — Something to think about.
The Deep: The Extraordinary Creatures of the Abyss
This extraterrestrial spacecraft Benthocodon jellyfish was spotted near undersea mountains. The photo is in a new book titled The Deep that features more than 200 photos of the insanely strange and beautiful denizen of our oceans. It was edited by Claire Nouvian, a French documentary filmmaker. Smithsonian has a feature on the book and a sampling of remarkable photos from it.
Boing Boing — Look at the slide show.
[On] Tim Bray on future information politics
So. Let me be so bold, and add a “fearless prediction” to Tim’s: it will not just be about who (or what) you read (or follow, or whatever) – it will also be about who you don’t.
Process Perfection — Indeed.
Here’s the thing: the Net’s killer app has always been other people. There are side benefits, like access to all the world’s information. But the links that matter aren’t between pages but people, and they’re strong and rich and subtle. Multiply the infinite flavors in human relationships by a thickening bundle of means-to-connect; that product is what’s new and what’s good and what’s exciting.
Tim Bray, ongoing
The Internet First Breeds Diversity Then Conformity: Punctuated Equilibrium
How do we ride the punctuated equilibrium? I use Google Blog Search, and I really try to dig in on new ideas. I sift through a lot of pages of search results even when it seems like an idea has hit equilibrium in the results. I try to arrange my blog reader list with original thinkers, and not just endless newsy blogs that all say the same thing. When one of the original thinkers I like starts musing about something, I try to think beyond the edges of their radar. With few exceptions, these great thinkers are off the edge of the 100 lists. I prefer search searches that let me drill down to any level. Services that offer structure will often make it easier to sail away from the known conformist ideas and towards things you hadn’t thought of before. Use bookmarking services of various kinds to see what new lands others may have discovered that you missed out on. Search del.icio.us, stumble around on StumbleUpon, or try Reddit every so often to see what’s happening.
SmoothSpan Blog
When was the last time TechMeme included a post by Werner Vogels, Steve Vinoski, or myself? Those are the top three topics of discussion amongst my circle of friends. Clearly the third in this list is a consequence of the fact that this is my circle of friends, but I would argue that so too are the first two.
This is a great idea!
Occasionally, someone will brag about their progress in such a way that not only do you realize they’re actually far behind, but that they have absolutely no idea how far behind they are or how much lies ahead. … It’s not quite the same, but that sort of thing was going through my mind when I read how Microsoft had announced improvements for their search engine.
Web 3.0 is defined as the intercalation of user-driven cross-bulterized falwettons, when traized with sufficient lenterains over extend periods of reticurotation.
Open Thinking & Digital Pedagogy � Loading Up My New Mac
I’ve recently purchased a new Mac Pro, and now I’m looking to my other two Macs (iMac, Macbook Pro) for the essential software that I need on this new machine. I feel that my other two machines are way too bloated, so I’m looking to install only my most relevant apps. Through this process, I’m realizing that I use many apps on a daily/weekly basis.
Nice list. Some stuff I haven’t paid a lot of attention to, maybe I should.
Bubble WrapIt’s funny but Is it satisfying?
SOA in a Nutshell is 7,351 pages spread over 10 volumes.
Kohonen Self Organising Feature Maps, or SOMs as I shall be referring to them from now on, are fascinating beasts. They were invented by a man named Teuvo Kohonen, a professor of the Academy of Finland, and they provide a way of representing multidimensional data in much lower dimensional spaces - usually one or two dimensions. This process, of reducing the dimensionality of vectors, is essentially a data compression technique known as vector quantisation. In addition, the Kohonen technique creates a network that stores information in such a way that any topological relationships within the training set are maintained.
SOMs are really very interesting. Nice tutorial.