Simplifying CSS with 960.gs

I recently did some web design work in collaboration with a graphic designer. She introduced me to what has become my latest favorite piece of CSS code: 960.gs.

960.gs is a CSS grid framework, similar in spirit to Blueprint CSS and YUI Grid. However, 960.gs is at once more minimalist than these approaches, and more thorough.

The author has a detailed blog post explaining his motivations for working on 960.gs, so I won’t rehash each of those. Instead, I’ll just dive into what I liked about it.

Continue reading Simplifying CSS with 960.gs

Parse.ly presentation at NYC Search & Discovery Meetup

I presented Parse.ly at the NYC Search & Discovery Meetup on Thurs, Oct. 29.  The meetup is organized by Otis Gospodnetic (blog), who is one of the authors of Lucene in Action and the author of the upcoming book, Solr in Action. We make heavy use of Lucene and Solr on Parse.ly, so it was exciting to get an opportunity to present to a community of fellow technologists building systems with these excellent technologies.

Continue reading Parse.ly presentation at NYC Search & Discovery Meetup

JPMorgan Chase, “valid” $39 overlimit fees, and humanity

In addition to running Parse.ly, I also run a small consulting business, Aleph Point, Inc. In the course of working on client jobs, I sometimes have to make business purchases, which I always pay in full at the end of every month. I have never carried a balance on my credit card and I never intend to.

When I signed up for a business checking account at Chase, the branch manager who I worked with (and who now no longer works there) encouraged me to sign up for a business credit card, as well. I thought, hey, why not — I’m just going to use it for small purchases like monthly hosting fees and the like.

Recently, I made a relatively large purchase at Best Buy for a client, which I was going to be reimbursed for. It was about $200. I already had a balance of $350 on my account, and a few days later my account was closing for the month.

When I looked over my account information a few days later, I found a strange charge. $39 OVERLIMIT FEE. What’s that, I thought?

Continue reading JPMorgan Chase, “valid” $39 overlimit fees, and humanity

Chase’s completely insecure and broken “secure” document exchange system (aka securedx, secure-dx)

A few days ago, I got a call from my girlfriend, Olivia. I was so deep in working on my startup, Parse.ly, that I hadn’t checked my bank account statements in several weeks. We just went into private beta last Thursday, after DreamIt Demo Day. She noticed some suspicious charges, and so I looked into them. Indeed, it looked like I had been a victim of fraud: there were three charges that clearly was not me.

I immediately called Chase Customer Service. In order to confirm the details about my account, the representative needed me to identify the fraudulent charges, but also identify charges that were actually valid. For this latter bit, I needed to identify the time/place of a specific transaction. This card was mostly used for online auto bill payments, so this turned out to be impossible for any of my last 20 valid payments. Yet the customer service rep insisted that I name a time and place. I told her, “The time and place was whenever the server for this system decided to automatically bill my account. I don’t know where their server is, I don’t know what time their cron jobs run.”

“Cron jobs?” she said.

Right, I had been hanging around techies at DreamIt Ventures for too long. “Listen, the transaction didn’t take place physically, it took place digitally. I can identify one transaction, which is about a month old, where I actually used the card in-person to buy something.” She finally understood and let me move on.

Burak from Trendsta said he felt bad for me, for how patient I had to be with this person. But that was the least of it. This little technical misunderstanding was nothing compared to what followed.

Continue reading Chase’s completely insecure and broken “secure” document exchange system (aka securedx, secure-dx)

For Linux/GNOME users: tired of nm-applet? Try wicd

This post is only intended for those who actually run GNOME and Linux, just a warning 🙂

I just replaced network-manager on my Ubuntu Jaunty desktop with wicd.  See wicd here:

What's so great about wicd?  I used to think nm-applet and NetworkManager were the best thing since sliced bread, but have grown increasingly frustrated with these tools over time.  Here's my short list of things I dislike about NM:

Continue reading For Linux/GNOME users: tired of nm-applet? Try wicd

Atul Gawande (MD/author) on the cost of health care in this excellent New Yorker piece

Will a new, national insurance plan solve the essential problem of the rising cost of health care?  According to Atul Gawande, it won't.  What is needed is nothing short of a complete cultural shift in the community of practicing medical doctors and the organizations/institutions that provide care.  From the article:

Providing health care is like building a house. The task requires experts, expensive equipment and materials, and a huge amount of coördination. Imagine that, instead of paying a contractor to pull a team together and keep them on track, you paid an electrician for every outlet he recommends, a plumber for every faucet, and a carpenter for every cabinet. Would you be surprised if you got a house with a thousand outlets, faucets, and cabinets, at three times the cost you expected, and the whole thing fell apart a couple of years later? Getting the country’s best electrician on the job (he trained at Harvard, somebody tells you) isn’t going to solve this problem. Nor will changing the person who writes him the check.

<div><br /></div><div>Check it out. </div>      

Trouble connecting to GTalk with Pidgin?

After my recent upgrade to Pidgin 2.5.5 (on Ubuntu Jaunty), GTalk mysteriously stopped working.  Check out the FAQ entry on the Pidgin developer website for an explanation.  The workaround, not listed there, is to change your "Connect Server" to "talk.google.com".  Pidgin will then prompt you once for a certificate, and after that, it will connect fine.

A developer in #pidgin on irc.freenode.org told me to "fix my router" since my "router was broken".  This even though the problem has now occurred on three separate LANs, two of which I don't own/control.  Routers that are used as DNS servers are very common, and the fact they are broken in this regard is a reality.  Wake up — realities trump ideal every time.  Pidgin should automatically work around this problem, IMO.

Ubuntu Jaunty installation process

Today, I decided to finally sit down and upgrade my Ubuntu Intrepid installation to Ubuntu Jaunty. I torrented the live DVD last night (causing my roommates to complain of major Internet hoggage — it was downloading at 1.2MB/sec!). I then performed a full system backup to a remote hard drive, and then repartitioned my drives this morning using gparted, the graphical partition editor that comes with Jaunty’s live DVD.

The process took some time, which is why I saved it for a weekend. To backup my hard drive took about 2 hours, and doing the partitioning operations took about 3 hours. I went out in the nice weather and picked up groceries while it was loading.

When I got back and could kick off the installation process, I was pleasantly surprised by the installation wizard UI. It easily guided me through the partition setup process. Even though in my case I had to make use of the “Advanced” editor, it easily visualized what was going on in my hard drive, and even detected the operating systems I had on there (WinXP and Intrepid).

I set up my new ext3 partitions (after deciding ext4 too unstable for my taste), and got started. I was pleasantly surprised when instead of asking me to reboot my computer, it just started right up. I still had access to a functioning computer while it was installing! Nice. That allowed me to jump on my blog and start on this post 🙂 I even connected my MP3 player and have some tunes playing!

I was considering doing an upgrade of my system from Intrepid->Jaunty, but decided to give a clean installation a try. I get the feeling that there is some “drag” in my Linux installation which has been running on my machine for almost 3 years now. (Wow, has it been that long since I got this laptop?) I went through multiple releases of Ubuntu via upgrades, and I simply feel my requirements for my system have shrunk so significantly that a clean install was best to ensure my system is configured well and cleanly.

What do I mean by “shrunk” requirements? Well, when I profile the usage of my computer, nowadays 90% of what I do personally happens within Firefox. The remaining 10% are all handed by newer software. Among things that don’t include Firefox are browsing photos and listening to MP3s. Even some of these tasks are moving to the web platform.

For my work on Cog Tree, I really only have 3 development tools I lean on directly: vim, WingIDE (Python), and Eclipse IDE (Java). Javascript development and debugging happens inside a browser. I still lean on VMWare to give me some high-quality creative professional tools from the Windows world, e.g. Photoshop and Topstyle (for CSS). Aside from these, I don’t really need nor want much other software on my system. Any other development tools can be installed on-demand using Synaptic.

Jaunty’s installation percentage is about 50% right now. We’ll see how the system runs once it boots directly off the hard drive. I’m pleasantly surprised that most of my hardware seems to be working out of the box. Even my volume buttons, brightness buttons and media buttons on my laptop now work, which is a nice touch. My sound quality is still a little poor due to a chipset detection problem that still seems to be present in the snd_hda_intel driver. But I’m pretty sure by setting some options in /etc/modprobe.d/alsa-base I’ll be able to get it working better.

People who know me know that I’m very skeptical about my computer and about Linux. I regularly complain about all the little silly regressions that Linux has suffered over the years. I’m also particularly upset about how certain beautiful and essential pieces of software never end up making it into the Linux mainstream, e.g. TuxOnIce. But hopefully, Jaunty will capture my heart this time, and gain some love from this Linux cynic…