All posts by patorjk

Fired for Blogging

No, not me, don’t worry :-).

On Friday I dropped by the office of an old boss of mine. He had apparently heard I was back in the building and wanted me to come by and say hi. It was pretty cool seeing him again; he was a really good guy to work for. I interned under him 3 years ago, and I believe the job I did that summer was the reason I got hired by my current company. The internship was a VB / Access job. It’s not the kind of job I’d want to do as a career, but it was fun to be able to apply all the VB skills I had racked up as a teenager. I churned out something like 2,000-3,000 lines of code a week, it was ridiculous. During the meeting he actually told me that most of the stuff I had done was still being used and that people still talked about me (which I found kind of shocking). It was really cool to know that I had had such a positive effect.

I don’t always have such good experiences though. I’ve had some jobs where I’ve felt bored or like I didn’t really live up to what I could have done. I thought about writing an entry contrasting good and bad experiences and how one can avoid certain pitfalls, but then I decided against it. Blogging about work is almost always a bad idea. Unless all of your stories are positive feel good stories – and the best work stories usually aren’t – it’s a bad idea to have a work related blog (same goes for dating, but that’s another blog post all together).

Interestingly enough, as I was debating whether to write a such an entry, I stumbled upon a blog post about a 28 year old video clerk who had been fired for blogging that Tucker Carlson came into his store (link). He didn’t reveal any personal information about Tucker, but he did joke about sending items such as frozen urine cakes to his house, and he did call the guy a “Gigantic Cobagz”, which is obviously not giving the store he works for the best image, so it’s no wonder he got canned.

After this interesting find, I decided to see how many bloggers I could find who had been fired because of blog entries they had written. Below is a summary of what I found. Some of them are pretty interesting. If you can find more, feel free to post links in the comments.

2. A blogger who was fired for joking about goofing off at work (link). This guy was essentially called into his boss’ office one day and told he was fired and had to leave immediately. His boss watched him clean out his desk and then escorted him out of the building. This was the post that got him in so much hot water:

Getting to surf the web for 3 hours while being paid: Priceless.
Getting to blog for 3 hours while being paid: Priceless.
Sitting around doing nothing for 3 hours while being paid: Priceless.
Installing Windows 2000 Server on a P2 300: Bloody Freaking Priceless.

Everyone experiences down time at work, however, this wasn’t a wise post to make. I do feel sorry for him though. It’s a harsh punishment for something that was just intended as a light hearted joke.

3. A Google employee who was fired for saying too much about the company (link). Almost everyone loves Google, and if you have a blog that talks about what goes on inside of Google, people are going to read it (hell, it’s one of the reasons I read Steve Yegge’s blog). The problem is, Google doesn’t want you to do this, and divulging too much about them will get you fired (this is true for almost every company).

4. A Nintendo blogger who was fired for “Inexcusable Behaviour” (link). This blogger, who actually wrote under a different name to protect her identity, was fired for blogging negatively about her co-workers. Quote from her blog that most likely got her fired: “One plus about working with [a] hormonal, facial-hair-growing, frumpy [woman] is that I have found a new excuse to drink heavily… My gut tells me that this woman hasn’t been fucked in years”. Not a good thing to publically say about your boss.

5. A Microsoft employee who was fired for posting up certain pictures in his blog (link). Companies take their proprietary info very seriously.

6. A flight attendant who was fired for posting up risque pictures in her blog (link). This probably wouldn’t have been that big of a deal had these not been taken at work and then posted on the web, oh well.

7. Thailand teacher fired for writing about her personal life (link). From the blog entry:

Imagine my surprise when last night I received a rather cruel email (didn’t even bother with the courtesy of calling) from my employer terminating me from the school after a week of labor because of an article I wrote days before I got the teaching job. My lifestyle apparently does not conform to the acceptable teacher’s way of living (if there’s such a thing). They were afraid that at some point I’d start writing about the school and tarnish its precious and rather inexistent reputation, and I wasn’t a good enough teacher.

Oddly enough, since these people were among the first to get fired over blogging, most of them became minor celebs after they got fired. That probably won’t be the case as time goes on.

Edit: As a side note, this is kind of a weird entry to write, isn’t it? I should say that I don’t have any fear of being fired (hopefully it didn’t come off that way), I’m on good terms with everyone I work with. I’m just cautious about this kind of stuff and it’s interesting to see how small missteps can get you escorted out of a building.

Brain Dump

I’ve been feeling somewhat drained the past week. I’m not sure why. This past weekend I went to my cousin’s wedding down in North Carolina. I was looking forward to it because I wanted to get my wedding count up. I think I’m one of the few young people who’ve been to more funerals than weddings. It was a Jewish wedding too, so I figured it’d be interesting. In the end it was ok, I’m not much of a social butterfly so it was weird not knowing anyone except my cousin, his mom, and my mom. And though I think my cousin is making a good choice, I think a lot of people rush into marriage. I still remember a friend of mine lecturing me about how “when you know, you know”, and then later in the conversation confessing to me that they weren’t sure if they really loved their fiance. How can you be sure you’ve found the one, but not sure you love them? I think a decent number of people get worried about not finding someone and then end up making a poor choice (Also, Noah, if for some reason you ever happen to read this, no, this story is not about your fiancee). Anyways…

Radiohead – In Rainbows

I don’t normally tout new music releases, but this music is ONLINE and FREE and by my favorite band so I figured it’d make sense to mention it here. Radiohead are trying a new experiment where they’re putting their music online and you can pay whatever you want for it. I recommend downloading it for free to see if you like it, and then if you do, go back and buy it. It’s honestly their best record since OK Computer. The song that sticks out most to me is “Videotape”, it’s by far the most beautiful song I’ve heard this year.

WikiBooks

My thesis: Programming books are becoming obsolete. Nobody seems to learn languages via books anyway. Even the smartest programmers I talk to seem to pick up things from reading various articles or through reading documentation while chugging through a new programming project. I picked up a book on PHP a couple months back, and I found myself wishing I could jump around to different topics. I could easily look up each interesting idea in the book’s index, but that’s kind of a pain in the butt. Plus I’d like to be able to interactively test examples as I come to them. That’s when the idea hit me: Why not make wikibooks? Of course, like any good idea, I figured someone had to have already implemented it, and after some googling, here’s what I found:

Wikibooks: Programming Languages Bookshelf

That’s it?

There was more to “dump”, but it’s late and I need to get to bed.

Ping! (just checking in)

I feel like I should try and check in at least every week or every other week, just so I don’t let this site get away from me. Ideally I’d like to have 2-3 updates a week. However, because working on this site isn’t my full time job, updates sometimes happen in quick succession, and sometimes far apart.

I also feel like I’ve had a rather uneventful last two weeks. Programming wise that is. In real life I’ve done a bunch of a stuff, including changing jobs within my company, which is strange and exciting but also daunting because it means having to learn a whole new system and set of processes. I’m hoping this learning curve doesn’t interfere too much with the plans I have for this site.

It’s amazing how energized I can feel about a certain idea. I’ll have it in the back of my mind all day, but then when I get home, I’ll be exhausted and not feel like programming. I’ll end up doing something lazy like watching TV, or something slightly physical like going to the gym. It’s not until around 11 o’clock that my mind wakes up again and I feel like doing something that requires brain cells. In fact, it’s amazing how much of the work for this site gets done between the hours of 11pm and 2am (I usually don’t get into work until around 10am).

I think I also jump around to too many ideas. At one point last week I was reading tutorials on Ruby – I’d heard so much about it that I wanted to see what the fuss was about – but then, after about an hour of reading, I realized I didn’t really need to know this language. It looked cool, but there were other languages I was currently using/learning, and it wasn’t really something I needed on my plate. A similar distraction happened when I looked into developing Facebook apps. You know those annoying things people post up on their profile pages? Apparently there’s big money in it:

LA Times Article on Facebook Software Biz
Business Week Article on Facebook Money Making
Crazy Story About a 17 Year Old Who’s Making 70k a Month From Her MySpace Layouts Page

The idea of making it big is appealing, and it caused me to look further into Facebook development, however, I actually do find most of the Facebook apps annoying, so I don’t think I could bring myself to make one. The fact that people are making so much money off them actually blows my mind though. How can such a dinky little app pull in so much money?

A Quick Update

I’ve finally got around to putting some actual functionality into the slider puzzle interface:

http://www.patorjk.com/games/sliderpuzzles/

It should now function as a complete web app. There’s one last feature I’d like to add, but I may wait a while. I’m itching to start something new. I’ve got a couple of ideas floating around in my head for my next project, but I’m not sure which one to pick yet.

I wish I had more to say, but I’ve had a long weekend and I haven’t really had a chance to get my thoughts together… and now it’s 1am so I should probably get to bed. Oh well I suppose. Not every update can be full of wordy goodness.

What patorjk.com is

Is it a blog? Is it a software/programming site? Is it collection of random junk?

I’ve actually spent the last month wrestling with the idea of what I want this site to be. When I initially restarted this site I thought “ah ha! I’ll be a software site that releases kick ass tools!” But that’s not really what I want, and that’s not what I’ve been doing. Creating nice tools is part of what I want, but I like messing around and making other stuff too. So this site is really more of a creative programming outlet for me.

Looking back at the past few month’s posts, it was probably a mistake for me to write about certain things and to jump around so much (this mostly refers to July). I’m still trying to get a feel for what I should and should not post in this blog. There have been a couple of times where I mentally wrote a post in my head or even wrote a post in MSWord, and then later discarded it. This site’s theme is a little fuzzy, but after giving it some thought, it would destroy this site’s pseudo-focus if I started making posts on new CDs I bought, bad dates I’ve had, or even amusing stories about former co-workers. Topics like that really belong in a personal blog, something I don’t want this to be. Personal stories should spice certain entries up, but I don’t want this to be like livejournal. I’m sure none of you care about my trip to the renaissance festival.

I could make this a simple news blog for the site, but that would be a little boring. News about the site should play the most important role though. So in the end, I want to do a blog that focuses on news for the software I write but also deviates into topics I find interesting in the computer world with an occasional amusing personal anecdote. Probably not the best hook for obtaining a large audience, but I’d still blog here even if no one read it (it’d be kind of sad, but I’d still probably do it).

Another thing that’s been weighing on my mind is how unrelated all the software I’m producing is. Each new release feels like it becomes its own island within the site, with its own visitors who will probably only look at the blog every once in a while and then wonder why I don’t stay more on topic.

The same people who like my API spy don’t seem to be the same people who like TAAG or my color fader. I know because my visitor count temporarily went down after I released those two programs. The pattern is always that I have a dip in visits after a program is released, and then, if the program doesn’t fall into the abyss of the internet (never to be seen or downloaded again), it rebounds and finds its own audience. TAAG did this (as did the color fader – though to a lesser extent) and it’s now twice as popular as this blog. But do TAAG visitors read the blog? Who are these people? Will they understand me if I write a post on a new algorithm I thought up? Or if I explain the Javascript behind a certain feature?

Probably not, but I can’t please everyone. I think I’ll write this blog with programmers in mind as the main audience. But I’ll try not to use so much jargon that it’s unreadable to those outside of that realm (sort of like how all of the September entries have been).

Anyway, this post is probably more for me than for anyone who will read it. Sometimes thinking out loud helps ideas come into focus. Though hopefully by reading this you got some insight into what I want this site to be.

Oh! – and lastly, I want to stress that this is a content-oriented site, not just a commentary-oriented site. I blog, but I make stuff too. Hopefully stuff that is somewhat interesting.

TAAG: Test All

A “Test All” feature has been added to TAAG. It will let you test all 281 fonts. You can access it by selecting the font called “__TEST ALL__”. It’s not as fast as I’d like, but it’s not terribly slow either. I debated uploading it but I finally decided to give in. I’m still trying to get a feel for the kind of load I can put my server under. Most of the work for this feature is done with Javascript, but the font files are still parsed and loaded on the server. That doesn’t seem like a whole lot of work, but I’m on shared hosting so it’s unclear how much is too much. Also, this new feature is still in BETA, so it may be a little buggy. Let me know if you have any problems.

After this, there’s only one more feature I’m interested in adding to TAAG. And it’s one of those things that most people wont notice and it’ll be a pain in the ass to program. So it’s way down on my list of things to do. In the meantime I’ll probably just keep working on other things and, when the mood strikes me, look into ways of optimizing TAAG.

That reminds me, I was reading a rather interesting article earlier this week on the death of Gmail:

The Death of Gmail

The cliff notes (possibly a little over simplified): History shows that utilizing new but bloated technology pays off in the long run because hardware keeps getting faster and faster and/or people find ways of speeding it up. It’s better to be ontop on the new technology than to be stuck working within the constraits of the old technology.

It’s an interesting read, but I don’t think the people at Google are so smug that they’d let a new technology slip by them like that. Plus, I don’t think most people would be so quick to give up their Gmail addresses.

3-D Javascript

One of the reasons I liked Flash was because I could easily create 3-D interfaces. I was initially going to use it when creating the main interface for my slider puzzle program, however, it suddenly came to me that I could probably use Javascript instead. Today, after playing around a bit, I was actually surprised at what I was able to create:

http://www.patorjk.com/games/sliderpuzzles/

Note that I’ve only tested that on the latest versions of IE, Firefox, and Opera. The code for that wasn’t too hard to create (it’s still a little buggy and I’m not done with it yet though), I kind of wonder why there aren’t more 3-D Javascript interfaces for websites. I would think it would be much more practical than Flash since the user wouldn’t need a plug in, and the script could react to the browser resizing.

I think this slider puzzle app will unfortunately be one of those programs that I enjoy writing more than people enjoy using. It’s hard to get excited about doing puzzles of famous art. After thinking a bit more a Sarah Michelle Gellar puzzle gallery would be pretty cool, but I wouldn’t want to risk the copyright issues. I wonder if the gallery sites have deals with the photographers or if people just post up the images ignoring the copyright (hoping to fly under the radar).

Slider Puzzles

A long time ago I used to have a Sarah Michelle Gellar Javascript puzzle up. I made it one day while I was bored and trying to learn Javascript. I figured it’d fall into the abyss that a lot of my Javascript projects fell into (anyone remember that ghost clicking game I had?). Oddly enough though, it ended up generating quite a few emails. Mostly Sarah Michelle Gellar fans. Later I built a more advanced slider puzzle, but it was total crap and featured Britney Spears (not the best choice) and I’ve always wanted to write a better one. So on Sunday I sat down and churned one out. One that would allow me to do lazy updates by automatically looking for new puzzle images (keeping the data and the script separate).

Originally I was going to make a Sarah Michelle Gellar slider puzzle gallery – but then copyright issues came to mind and I decided to not to risk it. Plus I thought it might look kind of creepy for me to have a large, shrine-like Sarah Michelle Gellar puzzle gallery on my site.

My next choice was to do Salvador Dali paintings, but it turns out his stuff is under copyright too – and for the next 50 years at that. The ARS, who now manage Dali’s copyrights, seem to be pretty active in going after potential violators. Not the kind of people I want to tangle with.

So instead, for my first slider puzzle gallery, I decided to use the works of Paul Cézanne. He’s a famous impressionist painter whose paintings often pop up in computer graphics journal papers, since the images are public domain. You can see the resulting slider puzzles here:

http://www.patorjk.com/games/sliderpuzzles/

I think I’m going to try and have a variety of galleries since it simply involves finding free images to use.

As stated before this script is relatively new, so it may be a bit buggy. Let me know if you have any problems – or if you have any suggestions!

New App This Friday / Programming Challenge

New App Coming

On Sunday I sat down and programmed up a new online app. I might tweak it a bit between now and then, but as of right now it’s essentially done. I’ll post it up later this week – most likely Friday or Saturday. Since I wrote it in one day, you can assume it’s pretty small, it’ll be cool though! I actually really like it (and I don’t like everything I make). It was on my list of “stuff to do on a rainy day”. Sunday wasn’t actually rainy, but I was tired and I realized I hadn’t released anything here in a while, so I thought I’d take a stab at it.

I had been working on another online app, which I’ve mentioned a few times here before, but it was a bit too ambitious and I’ve lost interest. So it’s offically been abandoned for the moment. I may come back to it later though.

Programming Challenge

While reading some more of Steve Yegge’s blog entries, I ran across a very interesting programming question. It came from an entry Yegge wrote on doing phone interviews. He would always ask potential candidates the following question (or a variation of it):

Last year my team had to remove all the phone numbers from 50,000 Amazon web page templates, since many of the numbers were no longer in service, and we also wanted to route all customer contacts through a single page.

Let’s say you’re on my team, and we have to identify the pages having probable U.S. phone numbers in them. To simplify the problem slightly, assume we have 50,000 HTML files in a Unix directory tree, under a directory called “/website”. We have 2 days to get a list of file paths to the editorial staff. You need to give me a list of the .html files in this directory tree that appear to contain phone numbers in the following two formats: (xxx) xxx-xxxx and xxx-xxx-xxxx.

How would you solve this problem? Keep in mind our team is on a short (2-day) timeline.

Aparently 25%-35% of the software developers he asked this question to could not solve it. So give yourself a pat on the back if you think you’ve got a solution. Once you’re sure on what you’d do, click here to see what the best solution would be. I was actually estatic that I got it, though I’ve been using Unix a lot at work, and I’ve been reading up on regexes, so it’d be pretty bad if I didn’t get it. If you’re not a programmer, reading that solution will make no sense to you. This is the blog entry it’s from. It’s basically an article on what you should know when you go into an interview for a software development position.

Blogging

Lately I’ve been telling my friends, friends of friends, casual acquaintances, and random strangers I meet on the street that they should start a blog*. I’m not sure what’s gotten into me. Blogs are fun though, even if no one reads them. I’ve had a lot of trouble trying to justify this though, until I came across a really interesting article the other day:

You Should Write Blogs

That blog entry was written by Steven Yegge, a 30-something Google employee (though he was working for Amazon when he wrote that). My favorite observation from Stevey is that “struggling to express things that you’re thinking or feeling helps you understand them better.” I think he’s dead on there. If you take the time to write about something that’s on your mind, you’ll end up understanding it a lot better. It’s like having to teach someone something. The act of explaining the subject helps you better understand it – and it helps you understand how much you really know about that subject.

When I was in grad school I had to teach these 45 minute C++ lab courses. They were comprised of small groups of students from one of the computer science introduction lecture hall classes. I taught the labs daily, but they only ocurred once a week for each group of students. Even though I considered myself pretty proficient in C++, having to explain all the nooks and crannies made me realize I didn’t understand things as well as I thought. However, it turned out that each class usually had the same questions about C++ and the lab assignment (it was almost Twilight Zone-ish really), so I got progressively better at teaching the lab as the week went on. It was funny, on Monday I’d look like a bumbling slacker, but by Friday I seemed like some kind of C++ wizard. I actually had a couple of the Friday kids give me some strong complements on my C++ skills :P. So writing down your thoughts and exploring certain topics can help you better understand them.

Another thing Stevey does in his article is give and refute 4 popular excuses people give for not writing blogs:

  • I don’t have enough time to blog.
  • I’m afraid to put my true thoughts on public record.
  • No one will read my blog.
  • Blogging is narcissistic.

Reasons #1, #3, and #4 are petty excuses in my opinion. However, reason number #2 is not something that should be treated lightly. One’s opinions may be the “spice” to their entries, but you can get yourself in a lot of trouble if you don’t exercise some common sense. I’ve had employers, girl friends, ex-girl friends, and friends get pissed at me over entries I’ve written in past blogs. And not the kind of pissed where they grumble and forgive you 5 seconds later, the kind of pissed where you’re given the look of death and not spoken to for a while. You live and your learn though. I no longer blog about personal matters unless I have a good story to go with it. Plus it’s just more fun to write about my hobbies/interests than it is to write about things that annoy me or about my daily activities. I could probably write an entry on how I sat in a cube for 8 hours today and then went home and ate some ramen noodles, but it wouldn’t be very fun to write, and I’m sure it’d be even less fun to read.

So anyway, if you have the urge to blog, I highly recommend reading the above article. It’ll jump start your motivation. And don’t worry about no one reading your blog, you should write it for yourself. Hell, this blog isn’t even the most popular thing on this site – TAAG is (I’m actually surprised by this – it’s mostly due to Google though). Which reminds me, I need to get back to developing stuff. Anyway, think about what I said.

*If you’re one of these people, know that I didn’t write this entry to be directed at you. I actually have been a little over zealous in my promotion in blogging. I dunno why, it’s just gotten under my skin.