JORDAN.YELLOZ.me

Note: I actually started composing this entry on Saturday, the day of the visit.

I had a long-standing agreement with myself to not go there but I was bored enough to see what it is all about. As I walked in, there were a fair amount of people leaving and it was still somewhat crowded inside. I was in there for under 30 minutes and remained on the first floor of an unknown count of floors, so there’s no data to show if it gets better or worse with increased altitude.

My perception of the place was somewhat misplaced, though. Despite all of the negative prejudices I had, I did not anticipate the unsanitary and chaotic conditions inside. All of the politically- and humanitarian-inspired complaints against them are really not that interesting when everything you touch or breathe might land you in an infectious disease quarantine (which may exist on one of the other floors).

In addition to that, here’s some more notables:

  • There were no greeters at the entrance but there was a single receipt-checker at the exit.

  • They had an exaggerated artificial butter popcorn smell thickening the air. It was stronger and more overtly artificial than any known movie theater or microwave variety.

  • Most of the clothes seemed to be extra large (or even larger). In the undershirts aisles (where I do most of my clothes purchasing) there was only one row that contained small shirts and often the smallest size was medium. After that, there were several rows of XL and XXL.

  • When paying for my crap, the receipt printer didn’t work and the human attached to the receipt printer’s only course of action was a repeated opening and closing of the printer followed by multiple arrhythmic keypad presses. After a few minutes the receipt came out a bit crooked.

My overall characterization of the store is that it is just what you would get if you stacked multiple Target locations on each other and evenly spread the contents of a few of those special garbage cans you see at medical facilities throughout the interior.

Continue Reading…

Posted on

A few days ago at about 11 AM local time, my hard disk drive for my desktop computer seems to have suffered a mechanical failure. The logs were no longer written to disk afterward (and dmesg showed disk errors) and there was an unwelcoming clicking noise coming out of it when I attained physical access to my computer. When I was sshed into it during the daytime, lots of crazy stuff was happening because it couldn’t write to the disk.

I once claimed that I never had disk failures before but I realized that that is actually not a fact after digging though my life’s memory. The Postsario had one, a 14GB (or 1.4GB?) hard drive I had on my Performa 6400 felt a minor one which made it unable to recover from a spin down and having one crazy file that couldn’t be deleted.

In this case there was no actual data corruption. I did have initial difficulties in the recovery possibly due to random access issues related to the mechanical failure. I just used ddrescue (or dd_rescue ) to copy the entire partition and it went through with no errors. I just mounted the file as a loopback filesystem and copied everything I needed and it worked.

In the past I had used ReiserFS 3 due to its fast creation of small files which is good for building software and the fact that its creator killed his wife. This time, I decided to buy 2 1TB drives and combine them into a RAID 1 array using btrfs. I happened to spend some time trying it out a few weeks ago using some disk images to see how it works. I was reasonably satisfied although the behavior when the volume fills up is embarrassingly terrible. Fortunately, I don’t think I’ll approach the 1TB level before they fix that issue. Another issue I had was booting from a multi-device volume. I tried and tried things such as root=/dev/sda3 rootfstype=btrfs rootflags=device=/dev/sda3,device=/dev/sdb3 which were never successful.

Obviously there is the btrfsctl utility that you may need to automatically find btrfs volumes but that doesn’t get run until afterward. I had to do the ugly thing and use an initramfs with some statically compiled btrfsctl which does way more than I want because I have an almost monolithic kernel and can historically boot right into my disk. One place where Gentoo Linux lacks is the genkernel tool for making initramfs archives. It was an absolute mess to inject my stuff in there to get btrfs working. All I really needed was a busybox, btrfs-progs, and maybe my nouveau kernel module for the framebuffer console and instead I have all this needless “scanning” until I can switch into my real operating system. Ubuntu, (and I guess Debian) has (have) much better tools for this where users can make their own custom scripts and programs to insert into the initramfs or do some minor customizations to the resultant archive.

Update: I was actually able to just build busybox and btrfs-progs statically, copy in my few kernel modules, and just make an init script that sets up everything and I have my framebuffer console and everything before any output is presented or my root filesystem’s init gets started. That is definitely an improvement. It’s surprisingly not that hard to set up after a bit of reading and testing on QEMU.

Here’s a quick script that does what I need to stick the contents of a list of directories in a cpio archive and then add all of your current system’s kernel modules if they’re installed. This assumes your source directories will add up to a valid initramfs that boots correctly.

Continue Reading…

Posted on

Often on the Internet, when various entities want to introduce a new concept they are selling, there is a demonstration called “How It Works.” Many curious people that are interested in these products would like to know how these things work simply because it’s a potentially impressive creation or they’d like to replicate that concept with their own abilities.

What one will typically find when looking through a “how it works” document is instructions pertaining to where the consumer (purchaser) fits in to the use of the provided solution and contains nothing about the inner workings of the product.

For any producers of these false documents, I’d have to offer this grammatically-inspired rebuke. “How it works” is not the answer for “How can I get your thing to work?” or “How do I use it?” It’s the answer to “How does this work?”

While I fully respect and don’t oppose the right of entities to keep these kinds of secrets, I don’t see why they have to choose these words and mislead potential customers and innocent readers as to how much information on their product they’re willing to disclose.

To me, falsely promising information using completely incomprehensible grammar is an impious act. If only Euthyphro wasn’t so busy…

Continue Reading…

Posted on

Of course, I’m referring to a variety of Tortilla Chips.

In the past I’ve made similar remarks on the “white cheddar” version of CHEEZ-IT crackers. It’s fine in liquid form in citrus (and other) fruits at natural levels but when you use concentrated salts of it to claim “white cheddar” or “lime” flavor, it’s really disingenuous. I recently bought a small (85g) bag of the linked-to chips and tried to eat them, expecting a minor lime flavor with some “sea salt.” Instead, I got almost enough acid on my tongue to dissolve a Mexican drug war participant. I don’t know if anyone other than I actually tries to eat these things without a 32 oz. soda but they should have a slogan along the lines of “I bet you won’t want to eat more than 5.”

Continue Reading…

Posted on

Problem: I always had trouble maintaining coherence when editing things with vim, especially when I have the urge to look at a new file instantly. Over the months and years, I learned to use the buffer- (and tab-) switching commands to get back to my old work after I’m done looking at an unrelated file. When I’m trying to work on an actual project, I would often like to type stuff in one terminal and have it open the designated files in an existing vim in some other terminal window (whether screen, tmux, or terminator).

Solution: While vim has a server functionality, its command-line options are inconvenient and don’t behave the way I want. Luckily, I decided to make my own wrapper script to get it going the way I want.

This is what I had in mind:

  • If there’s a running server, use it for all the mentioned files.

  • If there are no running servers, start one in the current terminal.

  • If there are no specified files, always edit a new blank file in whatever vim is supposed to run.

A corollary to those three statements should be:

  • Always edit the specified file(s) in a shared vim.

I put some thought into those concepts and learned how to use vim’s server options in order to achieve the desired behavior. Here’s what came out:

#!/bin/bash

# You can put a custom name in here per project.
servername=VIM

switches=( )
files=( )
servers=( )

for arg in "${@}"; do
    if [[ $arg == "-R" ]] ; then
        switches+=( "$arg" )
    else
        files+=( "$arg" )
    fi
done

servers=( $(vim --serverlist | grep -i "$servername" ) )

command="vim ${switches[@]} --servername $servername"

if [[ ${#files[@]} -gt 0 ]]; then
    command="${command} --remote-silent ${files[@]}"
else
    if [[ ${#servers[@]} -gt 0 ]]; then
        command="${command} --remote-send '<C-\><C-N>:enew<CR>'"
    fi
fi

eval "exec $command"

Basically, it re-arranges the command-line options so that common options are placed correctly and there’s a special case when there are no existing servers and another when no files are specified. All you have to do is alias vim="the name of the script file" or make a function. I don’t think the -R switch even works in cases where you re-use an existing server, though, which is unfortunate because it’s one of my favorite ways of opening vim. Either way, I think it might make things easier for me.

Continue Reading…

Posted on

Yeah so I recently got a new operating system for my Mac and it’s nothing special. The window listing by holding down on the Dock icon looks interesting, though. It’s the first time I ever paid for an OS upgrade and I guess it might end up being worth it. It was pretty annoying to have to rebuild my whole MacPorts installation but at least it’s 64-bit now and that’s to be expected. Too bad python won’t build so all the packages that depend on it are gone for now. I do already have a Gentoo prefixed environment on my Mac as well which was 64-bit since 10.5 but it’s not as well maintained as MacPorts and doesn’t provide the necessary launchd modules for running servers. Otherwise I would switch over. It’s pretty stupid how they changed the storage size units (MB, GB) to the base-10 versions.

I also upgraded my Gentoo Linux system to the new 10.0 profile. I was just looking around in the profiles folder and found it by chance. There was no advertisement or anything so I performed an Internet search for it and did some reading. It ended up causing a huge issue with libxcb-xlib so I just rebuilt my entire system (about 1500 packages) and eventually I got it working again. The script they provided for dealing with this issue didn’t work for me. Too bad I didn’t know about the graphite optimizations in gcc-4.4 when I installed it because my computer might have been a little faster now.

I also updated cherokee server on this server and now it has live graphs which are somewhat cool, but not very flattering with regard to the activity on this web site. Additionally, after all that switching over to this new web server setup I noticed some issues, mainly with AJAX interactions. Specifically, on the admin side of this site, the tree view of the articles is flat. Also, I have a redmine installation running somewhere on here and I can’t edit the workflows and there are occasionally some crazy display issues such as an entire new page replacing a single content area when I switch some views. I don’t think any of these things happen when I use a plain mongrel instance. I don’t know if it’s happening on the cherokee side or on the application server side. I should really look into these things, as well as running these services on a more reliable runtime.

Update: I have switched over to lighttpd because all those weird issues were a defect in cherokee. My configuration file is actually pretty short (~75 lines) but it is actually much more clear than cherokee although I still had to employ some sneaky constructs to get things working the way I want. I am slightly disappointed by the inflexibility when specifying the MIME Types for the compression module. There may be some differences but this is probably the best way to go since there are no known failures. Redirection and forced promotion to https are also much easier with this.

Continue Reading…

Posted on

Here are some thoughts:

Peanuts are far better than cashews.

It took me a long time to get there after so many years of bad or boring peanuts and noticing cashews as an interesting alternative. Obviously, nut companies and non-specialist outfits have used this idea to produce peanut-free mixed nut products by replacing the 49.9999% peanuts with a similar proportion of cashews. But the fact remains that cashews are too sweet and boring while peanuts – when properly roasted and seasoned – have a flavor that can keep one interested. This is not an attempt at all drupe-based nuts. Almonds and pistachios have the respect of this entry. That being said, mixed nuts would be better without cashews and with about 40% of the salt they currently put in there. It also doesn’t mean that I like peanut butter. It often looks appealing and can be used as an ingredient in good food but it never tastes good by itself or with bread and adds a terrible aftertaste to preserves.

I’m a consumer?

For the vast majority of my life, I’ve been too powerless and impoverished to accumulate any worthwhile possessions. I also avoided spending any unnecessary money because I wasn’t that interested in anything in what was my price range. Now that my price range has been extended (upward), I feel a slight obligation to contribute economically. The act generally provides for the passing of time and occasionally some purchase-related satisfaction. I now own more pairs of shoes than one can count on a single hand. Of those pairs, one is simultaneously blue and suede. I even acquired some gray market sports memorabilia that did not seem worthwhile in the past. I have increased my technical book possessions by a fair sum.

One area in which I have not adjusted is with non-zapatist wearables but that is due to the fact that I can’t find anything I’m willing to put on. The stuff they sell these days either says the stupidest shit, has the stupidest shit depicted on it, or has fringes coming out of the sides. Then there’s the whole phenomenon of unheralded cuts and high-visibility colors being re-imagined into hyper-insulting urban wear.

Additionally, there seem to be odd sizing issues with clothes these days, namely shoes and shirts. Over the past few years I moved from a size XL in shirts to a size M and occasionally to S. While recently getting a sense of how big my size M shirt was, I estimated that the bottom opening was about 20″ larger in girth than me. I even have a size L shirt from about 3 years ago that is smaller than a size M shirt from last year and about the same size as a size S shirt from last year. What’s possibly even worse is that I bought a size S shirt from another country and it is somewhat too big for me. With regard to shoes, I wore items as large as US size 10.5 in the past but over the last few years I’ve gone down to US size 8.5.

Unspecified

A month or so ago, I was disappointed at the lack of low-cost, premium-quality shortbread in local stores. I looked around for some recipes by people who at least put on a Scottish accent. The first couple times they didn’t come out that good for a few reasons. First, the recipes were for rounds and I made fingers. Fingers require at least twice as long baking time at about 60% of the heat. Second, none of the recipes called for salt. It really needs salt to taste right but maybe those people buy salted butter, which is unappetizing, artificially restricted in usability, and slimy. The last time I made them they were almost the way they needed to be but not sugary enough and not baked long enough.

End of thoughts.

Continue Reading…

Posted on

Earlier, I had to eat something so I went to a semi-local 24-hour doughnut dispensary to buy a single doughnut.

While waiting around for the food to completely fit in my mouth, I – as I often do – spotted a small camouflaged animal moving around in some dirty Panorama City concrete. Since the creature matched with a desaturated yellow oxide/ochre-ish background, I thought it would be a cricket (Arthropod) but it was pretty big for a cricket and walked funny. Part of the reason I thought it was a cricket was that it was mainly propelled by its rear appendages, but not the same as a cricket; small hops with noticeable deceleration upon landing were its style. Additionally, I’m not even sure that it had an exoskeleton. Although I didn’t get a close enough look, it may have had a dry and scaly skin. It was almost like a tiny, dry frog.

It was definitely a strange sight that I don’t know how to resolve. I tried searching for it on the so-called Internet but “bug that looks like frog” doesn’t seem to return any useful information. I guess I should have tried to photograph it.

Continue Reading…

Posted on

This site has undergone some minor technology changes for some reasons.

I liked Varnish as a caching proxy server but it did not offer SSL and my stunnel setup was suboptimal. There is no reliable way to insert a X-Forwarded-Proto header into the request so there were non-trivial issues with the portions of this site that require secure connections (bad redirects, URLs, …). HTTP proxying isn’t perfect in that regard. I didn’t want to run 2 HTTP servers in ruby (one for this site and one for some other application running on here).

I switched from varnish to cherokee server so that I can serve HTTP and HTTPS from the same server and learn how to use a new web server. It’s quite an interesting product and has a nice administrative interface. The most confusing part is the inheritance regarding document roots and how the document root applies when using a CGI-style handler (I still don’t know how that works). I tried out its FastCGI handler initially and there were lots of problems and weird behavior so I switched to SCGI which seems to work without any known problems. Obviously I miss out on the HTTP object caching of varnish but I get I/O caching and gzip compression for static files combined with easy administration.

Another thing I couldn’t figure out in cherokee is how to promote a user from plain HTTP to part of the site that requires HTTPS using redirects. I seem to only be able to restrict or generate a custom error. There are no back references to the hostname that I know of so I can’t generate a URL in an extensible fashion.

Returning to the back-end, I switched from Mongrel instances to rack with the SCGI handler which is a very interesting thing to do. I’ll see how well it works.

Continue Reading…

Posted on

Obviously due to market forces, the popularity of Mexican Coca-Cola has increased in recent years. Lately, though, other market forces seem to have decreased supply. My top two suppliers have gone dry over the past year and it’s a shame. I had to try out that “Natural” Pepsi (the one in the gay bottle) and it was a disappointment. Luckily, I have spotted two loser stores (on oppsite sides of my geographical region) that offer this necessary soft drink. Other differences I noticed were that west-ish valley loser stores offer Tijuana originated product and their eastern counterparts dispense it from Mexicali. Also, I have been surprised to find that the loser stores in “better” neighborhoods (where they still try to catch the rapists) give me a bottle at $1.50 US including tax and redemption which is about 20-40¢ better than the more low-down establishments.

Continue Reading…

Posted on