Posted by Daniel Lyons
Mon, 26 Nov 2007 18:16:00 GMT
Yesterday, I wrote a 250 line Lisp program to run my new tumblog. I have a few notes here I wanted to share about it. The next version will probably be open source; right now I can hardly stand to look at the code.
- Hunchentoot is very cool. The prefix and regex dispatcher functions are very handy. It was actually very easy to use, so easy it was almost counter-intuitive. I wonder why it took me so long to start actually building this program, since I’ve been thinking about it for so long.
However, it doesn’t help you build an abstraction atop it. That’s your problem. So my URL handling is very ad-hoc and slimy, which is one reason pagination doesn’t work right now.
- CL-WHO is a mixed bag. On the one hand, it seems to be very efficient. On the other hand, it’s a bit hard to figure out how to build a template with it. It also can’t handle XML namespaces, which means my Atom feeds won’t validate due to missing XML namespace declarations and whatnot. I also don’t know how to make it emit an XML DOCTYPE or the XML processing instruction which indicates the encoding. Once I figure out how to do a reasonable templating system with CL-WHO my line count will probably go down by 50 lines or so.
- cl-prevalence was a pretty serious win in the storage backend department. I just make a list of instances and as long as I go through the transaction mechanism they’re saved to disk and reappear when I restart the app. Very simple and elegant. I wish I hadn’t had to go by the really old documentation to figure it out though.
There is one bug with cl-prevalence though, which is that it doesn’t handle the clock—or at least it doesn’t seem to based on what I could find. This is a problem because my instances save their instantiation time as their creation time. I worked around it by making a snapshot immediately after adding an instance to the list. I have mixed feelings about that. In any case, it shouldn’t be very hard to fix this in the library by providing a special variable with the time when the transaction started and telling people to use that instead of (get-universal-time).
- I included the Parenscript library but never used it. So it’s Ajax-free for right now.
- Initially I was very worried about what format to put the date in. Then I decided, fuck it, nobody really cares what time you post something, they only care whether or not the site is abandoned or if they’ve missed something. So I put the last-updated date at the bottom and my design is even more minimal than Steve Dekorte’s. Top that! :) (There’s no way it could be related to my being a shitty designer.)
- Developing with Slime and sshfs was pretty good, but sshfs was definitely the worst part of it. I realized last night I could have just had the code checked out via Mercurial locally and be sending that to the remote Lisp, and then eventually check it in and back out on the server so that startup would work. Kind of a “duh” moment.
- There was a general lack of refactoring. I have a to do list with about 5 simple refactorings I should have done during development. Once a little bit of your code is scuzzy, it’s pretty easy to let the rest of it turn scuzzy apparently. I guess programming is no different than any other aspect of life.
- Weirdly, when I call
read-from-string in Slime, it comes back in the tumblog: namespace, but when my code for processing the form calls it, the atoms come back in the common-lisp-user: namespace. It’s moderately annoying because I’m having to use #'string-equal to compare atoms instead of #'eq.
So there you have it. A short feature review: I can post through the web (but not edit), it understands markdown for my commentary, you can filter by tag, it has Atom feeds overall and by tag, and that’s it. I will hopefully rewrite it soon to be less scuzzy, or perhaps to add pagination, after all I only have 4 more entries to post before I need it. I plan on using tags to point out items of particular interest to some of my friends and family, so if you see your name on an item, that’s why.
Tags lisp, programming | 2 comments
Posted by Daniel Lyons
Sun, 11 Nov 2007 01:35:00 GMT
One of the great pleasures of being a Haskell user is using hylomorphisms to accomplish all your work. To wit:
factorial x = foldr (*) 1 [2..x]
fibonacci = 1 : 1 : (zipWith (+) fibonacci (tail fibonacci))
Obviously this kind of obnoxious behavior would have to be ported to Lisp at some point. And it was, via the Series macro package. It’s Appendix A in CLtL.
In Lisp you’ll have to make a few concessions. You have to construct your series from other series. There are some handy ways of getting a series from a list or vector or another series. You’re limited to lazy lists using this functionality. Still, it’s fun.
To get started, install SERIES with (asdf-install:install 'series) and then import it with (require :series) and (use-package :series).
(defun fac (n)
(collect-product (scan-range :from 2 :upto n)))
This is a pretty straight across port: [x..y] becomes (scan-range :from x :upto y). You can omit the :from and it will start with 0, omit the :upto and it will go on forever. There’s also :by which defaults to 1 for replicating the [n,m..z] syntax in Haskell. You also have :length to ensure that you only get so many (very helpful during programming because of the “P” in REPL.) And misc predicates like :above and :below are useful in certain situations. You can also use :type to change the type to ‘float if you want to produce series of floats.
collect-product does what it sounds like it would, multiplying all of the numbers together. If we didn’t have it built-in, you could replicate the functionality with (collect-fn :integer (constantly 1) #'* (scan-range ...)).
Dealing with the Fibonacci numbers is a bit more complicated:
(defvar fibs
(scan-fn '(values :integer :integer)
(lambda () (values 1 1))
(lambda (x y) (values y (+ x y)))))
This works using Lisp’s multiple return values system. Basically, we’re returning two values with each function call; one of them is being passed out to be the item, and both are being fed back through the series generator. It’s not as beautiful as the Haskell but it captures the same concept, is as general (for lists) and performs some similar optimizations.
Tags haskell, lisp | 1 comment
Posted by Daniel Lyons
Fri, 09 Nov 2007 10:10:00 GMT
Whorf introduces a concept he calls cryptotypes in talking about
language. I don’t remember his exact examples, except that it has to
do with when you can use “up” to strengthen a verb. You can stir it up
but not swing it up or pour it up, etc. You can break it up or smack
it up but you can’t explode it up. What’s the rule? It’s a big hairy
complicated cryptotype.
I noticed a good one the other day. The official rules of a four way
stop have to do with when you arrive and taking turns clockwise. As
Jim Loy points out, in
reality, it’s a big cryptotype. There is this supposition that if the
oncoming driver is moving, you can go too. That doesn’t come from the
law (it seems to come from common sense). Turning left is complex,
because you have to enter the lane with your blinker on or you’ll fuck
everything up, but you have almost no room at many 4-way stops. If
you’re turning right, you have to stop and make sure you’re not going
to hit anyone, but often, you can stop and then keep going. This is
all messy and intimidating to the new driver, who is trying to adhere
to the law but instead confusing and screwing everything up for other
drivers.
A religious cryptotype I’ve been thinking about recently is the “G-d
will reveal everything to us in Heaven” motif. Where did that come
from? It’s a Jewish principle that anything which doesn’t affect
halacha not be settled in Talmud, so to some extent I’m welcome to
believe whatever I want, but where did this idea come from? I don’t
see any precedent for it in Torah. Maybe it’s there but it must be
fairly vague. None of the afterlife teachings are very firm in
Judaism. But I’m also unaware of a Christian source for this
belief. Yet most of my Christian friends take it for granted (as I do)
that G-d will show us his cards in the hereafter.
It’s important for philosophers like myself to believe that G-d wants
believers to be thinkers. As I said
before,
by voluntarily restricting his actions to those that can be reasoned
about effectively, G-d is giving us the gift of reason. G-d certainly
doesn’t need either to restrict his omnipotence or to use abstraction
to help deal with the magnitude of the universe as we do. Would G-d
would give us such a gift, especially with a corresponding hunger
which can never be sated? I don’t have the answer.
Tags philosophy, religion | 1 comment
Posted by Daniel Lyons
Wed, 07 Nov 2007 07:03:00 GMT
About a week ago I volunteered for the synagogue at Casino Night. I was basically a gopher bringing people coffee, moving ice and plasticware from point A to point B. It felt good though, the antithesis of my work.
I did take two breaks, one to play roulette for a few minutes. I like roulette because it’s very raw. There aren’t a lot of arbitrary rules to remember while you’re trying to compute the probability. In my opinion, one of the best bets in the whole casino can be found there, the color bet: red or black. Of course you can see with your eyes that you’re still a sucker; there are two uncolored slots. You know the odds are close to 50% but just not quite. You’re still a fool if you bet on it, and over time you’re probably going to go broke.
While I was playing and thinking about this I was thinking about what the curriculum for being a casino worker is. They have schools for this stuff; surely they have curricula. I supposed it would include all the rules, plus a bunch of social things like how to suppress your “tells,” how to encourage someone to keep betting, how to be cute or handsome and perhaps even politeness. The dealer (name another industry with this profession, quick) was certainly cute and polite. I lost a couple chips and she said “better luck next time.” I was betting on red, like any wannabe mathematician.
I wonder if they teach any probability? I wonder if they talk about luck. It seems to me if I wanted to hire a bunch of casino workers, I’d like them to know as little about probability as possible. If they know probability, they might admit something they shouldn’t, like discourage a sucker bet. Or they might not be able to pretend to be “fun” if that’s something they’re supposed to do. Do they teach how to spot, say, card counting? If they do, how can they avoid probability? Or is the whole luck thing a charade, false affect to induce irrational behavior by luring customers into safe-feeling but false frames of mind? Or do they even think this far into the game?
My friends think my bets are weird. I like to arrange negative bets, bets against myself, so that if something bad happens, someone will pay me. I recently made a bet that someone on Craigslist wouldn’t write me back after seeing my picture. The wager was that, if she wrote me, I would pay these friends $20; if she did not, they would pay me $1. So I’ve got $2 coming in and the assurance that I’m really good at making predictions. If I had lost, then I would have paid $40 out but presumably had the pleasure of going on a date. I don’t see what’s so hard to understand about using small wagers like these to smooth over the bumps in life. (Normally it would have been a meal for a meal kind of bet, but this was the only way to get Jenny to make a bet with me since she’s broke. Sucker bet!)
I could have wagered $100 against $5 and that probably would have been just as safe. At any rate, I lack the devotion to gambling to learn the correct terminology for these kinds of bets.
Tags gambling, probability, roulette | 3 comments
Posted by Daniel Lyons
Mon, 05 Nov 2007 01:04:00 GMT
Because I’m an idiot, I uninstalled and reinstalled everything I had in MacPorts thinking for some reason it would be better.
The following ports didn’t reinstall:
PostgreSQL (Workaround described below)
SBCL (Operational as of Nov. 7th)
- Bigloo
- Io
teTeX (Build it with +nox11 and you’re golden)
ghc (I’ve switched to a 6.8 binary install available here)
- SWI-Prolog (hangs during configure)
- Guile
Just a note to anyone thinking about doing this, Leopard doesn’t seem to build everything seamlessly yet.
Update Nov. 7th: sbcl now builds. Awesome! I notice postgresql82-server is different but it still stalls out building postgresql82. None of the other ports get any further.
Update Nov. 10th: There is a nice hack for making PostgreSQL install on the error report page. Do this:
sudo port clean postgresql82
sudo port configure postgresql82
pushd /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_databases_postgresql82/work/postgresql-8.2.5
sudo make
popd
sudo port install postgresql82
It seems to have worked for me and a few others.
Update Nov. 24th: Eli, type sudo port install teTeX +noX11 and read the manual or leave an email address next time if you want a faster answer. :P
Tags macports, osx | 5 comments
Posted by Daniel Lyons
Tue, 30 Oct 2007 06:14:00 GMT
The upgrade rocks, overall.
It took about an hour to install. My observations:
- Wow, everything is so translucent and pretty it’s so hard to remember two years ago when we all kissed Steve-o’s feet for removing this feature in Panther.
- Time Machine is really neat. But did we really need an absurd new button for it?

- Tell me this is usable, with a straight face:

- Help now comes with bonus shitlight:

Much has been made of the dock. It’s really ugly. I take that back. It’s really pretty. So pretty I keep on staring at it. Distractedly. Did you ever use a mirror for a desk? How about get a bunch of soft blue LED track lighting for it. I suppose I’ll get used to it eventually. It’s not like we get a choice. And the side dock is glitchy, if you can stand having it on the side in the first place.
I have been playing a lot with Emal. The todo function is nice enough I can probably give up on OmniOutliner with the horrendously ugly icon now (and I have been using org-mode with Emacs for everything more sophisticated anyway). The RSS functionality is nice but without folder hierarchies I may be stuck with NetNewsWire. I’m going to try and live without RSS for a few days and see how much I really care about it.
The new Safari is somewhat nicer. Nice enough for me to give it a shot, foregoing Firefox for a few days. The new iChat is a pleasant surprise. The new Terminal is slightly nicer.
Time Machine seems to be a bastion of weird UI considerations. I can’t take a screenshot within it. Clicking the close icon on the window you’re working with closes Time Machine but keeps the window around. Otherwise it seems to be pretty excellent; it has the kind of completely unobtrusive UI that would frighten and confuse developers of a certain obnoxious, intrusive and unreliable backup program. It looks like the best backup program ever.
You’re going to want a Firewire 2 drive. After a few hours of rearranging my files it’s re-backing up 4.6 GB of stuff, and it has to take a complete snapshot when you first get it running. Fortunately, it’s pretty smart about doing it in the background, but of course it slows things down a bit. Disconnected operation is going to be the key concept here, plugging in whenever you want a snapshot taken.
Apart from the usual BS about the usability and looks, it seems to be great. No troubles so far.
Tags apple, leopard, mac | 2 comments
Posted by Daniel Lyons
Sat, 27 Oct 2007 22:53:00 GMT
Jonathan Edwards refused to participate in the much-vaunted Beautiful Code essay collection, saying on his blog:
“Telling an inspiring story about a beautiful design feels disingenuous. Yes, we all strive for beautiful code. But that is not what a talented young programmer needs to hear. I wish someone had instead warned me that programming is a desperate losing battle against the unconquerable complexity of code, and the treachery of requirements.”
You’ve probably never heard of this guy, but he is responsible for the most interesting development in programming languages in the past thirty years, Subtext. Subtext seems destined to be whispered about for decades before emerging as a powerful yet obscure influence on some future technology.
All good programming languages are based on an interesting principle or theory of computation. The best are those that obliterate an unnecessary barrier, usually between the language and the compiler and the resulting code. In the middle of the second Subtext video, Edwards reveals that Subtext is actually about directly manipulating the run-time structure of the code.
This is quite a departure. In fact, isn’t this the problem most people have with recursion? Visualizing and understanding the run-time structure of the code, namely the call stack?
Of course there are a plethora of other interesting benefits to Subtext; editing a run-time graph enables a lot more code sharing and less duplication. In the second video, you can see incredible simplification of refactoring. I’m also surprised at the excellent details of the GUI and how it all hangs together so well. It has all the hallmarks of being created by a great programmer philosopher. An underground hit.
It will be interesting to see what comes of this in the coming years.
Tags programming, subtext | 4 comments
Posted by Daniel Lyons
Thu, 11 Oct 2007 01:41:00 GMT
I’ve been playing around with lighttpd on another project. This server is seriously fast. With PHP through FastCGI, it’s really astonishingly quick even on a rather bland VPS server.
For more performance I am tinkering around with eAccelerator for PHP bytecode caching. That should eliminate most of the PHP parsing/interpreting cost. Not that I can even notice it now.
But you can go even further with mod_magnet. They don’t yet have a great introduction or explanation of what mod_magnet is, but it seems to be compiled, limited Lua scripting inside the request handling. This apparently beats the socks off talking to PHP, especially since it can reassemble output from its own file caches or memcached. On the wiki above they managed to get a script that was capable of a not-to-shabby 100 requests/second and make the server serve pages at 4200 requests/second. Another script is made to serve 10,000 requests/second.
I have to wonder whether or not this could be used with Voltaire. It would certainly be pretty fast…
Tags development, lighttpd, web | 1 comment
Posted by Daniel Lyons
Tue, 09 Oct 2007 07:12:00 GMT
You know Cathy, I no longer delight in writing venomous personal diatribes like I used to but for you I’m just going to have to make an exception. I really am tired to death of your commentary on my blog; can you please knock it off? I know you have your own, and if you think carefully you’ll notice that it’s been years and years since I’ve read it or commented on it. I just don’t like talking to a brick wall that much. Imagine my discontent, for a minute, in having brick walls spontaneously appearing in front of me, trying to converse with me.
I know you think you’re doing the right thing, the helpful thing, trying to “reason” me back onto the right path of Marxism and pure materialism and whatnot, but let’s face it, I’m a goner. The sooner we both accept that, the happier we’ll be.
Consider your comment on my blithely indignant essay on the w4m craigslist postings. Without the meet-you-halfway mumbo jumbo it is totally transparent, I hope you realize:
If you’re looking for somebody who’d be OK dating a conservative religious guy, why are you looking through the personals on Craigslist? I don’t see how you can blame “the culture” when you’re the one looking in a place that emphatically does not have the kind of culture you’re looking for. Craigslist personals are not really for dating, they’re for hooking up! Conservative religious people tend to meet and marry through their house of worship, or through religious-appropriate events or dating services. Not through online personal ads.
It’s so charming getting a lecture from you about where religious people meet and marry. Can you say “Donny, you’re out of your element?” Let’s think for a minute about every Jew you’ve ever met. How many of them were religious? Oh yeah, just me. Have you been to a synagogue here? I love it, but it’s definitely a sausage fest. A really old, wrinkly sausage fest.
Just because I didn’t mention looking on JDate and the usual suspects doesn’t mean I don’t look there. I’ve been looking everywhere online. I was driven online by, shock and amazement, them religious folks at my synagogue! I have met and been set up on a total of two dates in the past 1.5 years through the synagogue. One of those was to a girl about as anti-semitic and as you and your Jewish boyfriend—and my friends met her online! The other one didn’t, as they say, work out. When you run out of food, sometimes you have to go to the grocery store, even if they do sell bacon alongside the pastrami.
I don’t know what you’re looking for on Craigslist when you go but there are, in fact, different sections. You’re right, there does seem to be a lot of confusion about the definition of highly contestable words and phrases like “misc romance” and “strictly platonic.” In a perfect world, the women posting hook-up advertisements wouldn’t do it in the w4m section when there is actually a hook-up advertisement section, but hey, I guess they’ve got more important things on their mind than reading (or spelling). But I also see plenty of women looking for Christian guys on there, so I think you’re more-or-less off-base.
Anyway, what you’re really getting at is that you’d like to have all religious people rounded up and thrown into cattle cars, but you’ll settle for merely rounding us all up and segregating us from the rest of society. Well, fuck you. I’m going to look for religious women under every rock I have to because, you know what, there aren’t any! Yay! What a proud day for Darwin’s military liberation front (I’m sure he’d be proud). Somehow, no woman my age wants a stable romantic relationship when she could just have a fuck buddy on the side while she furthers her career. Apparently it’s a documented phenomenon that guys like me are all going for 35 year old women who either missed the boat on this or have finally been burned by it enough to stop wanting it.
By the way, wanting a woman who is OK with a “conservative, religious” guy who isn’t precisely talking marriage yet, but is talking about how he won’t put up with abortion if “they” have sex without a condom (and by “they” you really mean “they and I”, since women do not impregnate themselves, yes?) It should be obvious that all of these things are, taken together, insane.
Oh, you’re so right! Or you would be, if I was looking for one of those hook-ups we were just talking about. Where did I say that, precisely? I think all I said was if I fucked up, I would own up to it. I didn’t, and I still don’t, understand how a woman could find that as bewildering as you do. It’s not like I have any power. Do you see me out there, campaigning against the supreme court? Are you picturing me chaining some woman up in a dungeon until she has my kid? All I have, and all I’m entitled to, is an opinion of zero value. And a whopping boatload of incredulity as to how women would prefer a guy whose first response to hearing “I’m pregnant!” is “Oh shit. I’m not having this! You have to get an abortion. We can go halfers.” That’s your idea of liberation? Doesn’t something seem to be missing from that equation? Like, I dunno, the sanctity of human life? Oh right, everything has a price tag and nothing has a soul in your philosophy. How very secularly humane.
Last time I checked, disapproval didn’t really accomplish much of anything in this country. Women have the right to murder their babies if they want to. I would even say there are a few extremely rare cases where it’s better to have an abortion, namely when the woman’s life is in danger. But Could I be merely suggesting that I think our disregard for responsibility and life is wrong, that this causes more pain for the woman in the long run, that perhaps people should, from time to time, act like the adults they pretend to be by fucking all the time?
Is it so much to ask that people not fuck people they dislike so intently? To suggest that, if you are going to be having sex with someone you at least like them enough to own up to your mistakes if you make them? To at least not have sex with someone you can’t imagine ever committing to? What a monstrous romantic I am! To suggest that human life might actually be an important enough principle to change the way I live! To suggest that love be a precondition to sex! How absurd!
Sorry, but speaking as a woman, I would require a guarantee of support (for example, marriage with a solid pre-nup agreement) before I touched a pro-life man with somebody else’s body, much less mine.
I think we all know that you find the concept of an emotional attachment to someone who is emotionally attached to the concept of life unthinkable. This kind of inhuman behavior is your hallmark. Have you ever loved anything, other than the concept of misanthropic hatred, or your own superiority? Do you ever think to yourself how absurd your life is, that all your beliefs and actions are directly contingent on something shitty that happened to you on a playground when you were a child? Do your pseudo-philosophical extrapolations really reassure you that you’ve made the right irrational decisions when you’re all alone with just your mind?
I suppose there should be nothing surprising about a self-avowed pure materialist bringing up money when everyone else was talking about life, love and sex. What’s Eric paying to be with you? Last time I checked he was somewhere between no tax bracket and the one where they acknowledge you exist but don’t make you send any in. Or are you retaining his services?
Condoms aren’t perfect, and if you’re not willing to commit ahead of time to 18 years of living with a kid, I don’t see why a woman should be expected to.
I think my whole point is that if I’m sleeping with a woman, I am willing to make that commitment. If I’m not, then I shouldn’t be sleeping with her. Is this reasoning so cloudy we should really go around murdering people rather than, I dunno, suggesting that people take responsibility for their own bodies? (I thought personal responsibility was one of those things you were really into.)
Valor is a two-way street, and the valorous way for a conservative, religious man in our culture does not include sex in “long-term relationships” that aren’t marriage, condom or no condom. It seems to me that your requirements are no less contradictory than those you’re complaining about… par for the course with personal ads, I suppose.
You know, you’d be so right, if only you weren’t so completely irrelevant. Do you read my posts before you reply? I thought maybe if I deleted the last one—your inexcusably lame non-contribution to my essay on G-d and reasoning, you would get the hint. I don’t know why you ceaselessly remind me of the useless dialog created by you and the other scumfucks who can’t seem to hit the link at the top of the RSS feed page on LiveJournal. There was a hint in that, but I guess maybe I should be more direct, more reasonable, more logical: I don’t care what you and your friends think about me, my blog, my beliefs, my actions, my words, or my life. I don’t care! I really don’t!
And this blog, believe it or not, isn’t a public forum for the discussion of my ideas, it’s my personal G-ddamn stomping grounds for ideas. I invite commentary pretty much for Justin, Michael, David, Bill and Pi. If they didn’t comment, I’d turn the fucking feature off because so many lice like you seem to take up residence in them. It looks like a big reasoned argument, but really it’s just filler leading up to that last snarky comment. I get it already! You’re an atheist! You like abortion! Well, fucking great! Can you fucking go home now?
Just for good measure, let’s throw in the rubbish you sent me before. The internet’s all about free speech you know.
The question of whether God is a logical being is close to the heart of my own atheism. To me, the Abrahamic view of an omnipotent, judgmental God leaves open two main options: either God is constrained by logic, in which case the literal and philosophical crimes outlined in the Bible and allowed to occur in God’s name in the Universe today suggest (to me) defiant non-compliance with God; or he is not constrained by logic, in which case there is nothing to suggest that compliance will generate a positive result. Taken together, these two scenarios partially explain why compliance with Judeo-Christianity is, for me, not an attractive option.
Blah blah blah… I get it! You’re an atheist! That’s great! You know, you’re in good company, with bright bulbs like Richard Dawkins. Will you leave me alone now? Seriously?
Here’s a bucket of possible explanations:
- Perhaps G-d voluntarily constrains himself to reason as part of his gift of reason to mankind, even though he doesn’t, strictly-speaking, have to? Maybe this evolved since the Biblical era?
- Maybe the atrocities documented in the Bible are actually part of a historical narrative rather than a how-to manual on things to do when you’re in power?
- Perhaps people were actually bad and G-d actually knew enough about them that when he ordered they be destroyed, it was for the best (Him being omniscient and all)?
- Perhaps there is a moral ulterior motive to the story, that, I dunno, atrocities are bad and this is what has been taught about the Biblical narrative for thousands of years by both Judaism and Christianity?
- Perhaps some cases of abject destruction are meant to illustrate that you shouldn’t profit from war?
- Perhaps in the Talmud there are a few thousand much better interpretations of the things that have turned all our stomachs for thousands of years?
- Maybe (your favorite possibility) there’s no scientific evidence that anything mentioned in the Tanach ever happened and it’s all a big metaphor?
- I’m sure with your startling command of the Bible you’ve noticed by now that G-d is angry a lot more often at the Jews in Tanach, not the Gentiles who are better at repenting (see Jonah, for example)? (Or, alternatively, is the Cliff’s Notes Exodus really the extent of your literacy?)
I could have responded so at the beginning, but I don’t like to get that worked up over marketing, so I just deleted your comment like the advertisement it is. Let me invite you to get worked up over that: no, wait, it’s my house, I can delete whatever I want. You have our own blog. Now go blog how small-minded and horrible I am. I’m sure all your rabid atheist friends and your hired boyfriend will all rush to burn me in effigy along with all other religious people. Have a real party! By the way, have you noticed I’m completely alone out here? You assholes have won! The religious right doesn’t exist, I’m the only religious Jew my age in the southwest. You’ve swallowed a bunch of propaganda engineered to keep the two-party machine going a little bit longer so your party and the party you hate can be just a bit more profitable, together!
Hope you’re all having a blast! Please never return! Thank you! Goodnight!
P.S.: Your taste in metal sucks.
P.P.S.: It sickens me that this is going to be the top thing on my blog for weeks, and it sickens me that this is undoubtedly the nail in the coffin of my friendship with Eric, which I really did treasure and whom I really do miss.
Tags diatribe, evil, hurtful, rant
Posted by Daniel Lyons
Sun, 07 Oct 2007 23:42:00 GMT
There are several mediums of artistic expression which are sorely underdeveloped. Blogging may be ubiquitous but really artistic blog entries are extremely rare. These two I think deserve special attention as an artistic expression:
I read a lot of blog entries and somehow, these two had the right combination of news, humor, and good writing. We should all aspire to write like that.
Tags blogging, humor | no comments