Archive for category Geekism

Date: November 23rd, 2011
Cate: Geekism

At least I can still wave my knols. What?

Oh how quickly things change. Remember this post? It’s SO FOUR MONTHS AGO. First they announce that you can no longer feed your posts to your book as notes. Great. And streaming your buzzes to your circles? HA! WHAT buzzes?

So what to do now. Make a pipe that firehoses everything to a planet? Kind of old fashioned. Tweet shortlinks to pinboard? Two more services I’d have to sign up for. Maybe what I need to do is make my own plugin that can push each post to my plus… of course I’d have to use the graph to post notes to my wall for friends who aren’t in my circles. Bah, too much work.

BEST IF READ BY:
DECEMBER 1 2011
12:00 AM

Date: July 11th, 2011
Cate: Geekism

Transitive property?

My blog connects to my book, so every post becomes a note, eventually. Also, my blog connects to my buzz! So every post I blog is automatically buzzed! Finally, as of today, my buzz is even connected to my plus. So the question is: when I blog a post, and it is buzzed, will plus stream it to my circles?

note: if you do not understand this it may not yet be 2011 where you are

Date: June 21st, 2011
Cate: Geekism

Top 10 most surprising domain names that actually work

I was shocked today to find out that http://ac/ actually works. I found some other working two letter domain names, here is the whole list:

http://ac/
http://ai/
http://bi/ (looks like whoever put this up is as surprised as me)
http://dk/
http://hk/
http://io/
http://tm/
http://uz/

And as if that wasn’t enough, here is the grand prize winning crazy domain name that actually works:

http://xn--o3cw4h/

Of course you can’t publish a top 9 list, nobody wants to read a top 9 list, so to make it an even ten I add this gem:

http://nyan.cat/

Date: June 10th, 2011
Cate: Geekism

Decompiling E. coli

This post by bunnie gets my vote for blog post of the year. First he shows you where to download the genetic code for the super-resitant form of E. coli found on German bean sprouts. Then he shows you where to download a database of genes known to code for drug resistance. And then:

Now that we have this list, we can answer some interesting questions, such as “How many of the known drug resistance genes are inside O141:H4?” I find it fascinating that this question is answered with a shell script:

cat uniprot_search_m9 | awk '{if ($3 > 99) { print;}}' | cut -f2 |grep -v ^# | cut -f1 -d"_" | cut -f3 -d"|" | sort | uniq | wc -l

Date: May 17th, 2011
Cate: Geekism

NO WAY

This is completely insane. I mean I get the whole “Turing Equivalence” thing, but still. Fabrice Bellard, who has written some pretty important bits of computing infrastructure, has created a fully functional x86 emulator in JavaScript! It boots up Linux and lands you at a root prompt. There’s even a compiler – and Emacs! It runs pretty well for me, with Chrome 11 on a Windows i7 laptop.

Date: April 13th, 2011
Cate: Geekism

C++11 FDIS

Does that sequence of letters, numbers, and plus signs mean nothing to you? Then don’t click here.

Date: March 9th, 2011
Cate: Geekism

Vi Hart is the best person

OK, Vi Hart is my new favorite person. Her mission: to reveal the inherent awesomeness of math. Her video series Doodling in Math Class is incredible. This episode even sneaks in a Dinosaur Comics reference. Not convinced yet? How about a paper on Computational Balloon Twisting? Or how to slice an apple into a cube… and then slice that cube into hexagons with star shapes inside? Musical instruments made of paper and fire? A Möbius Music Box? She has even been covered by The New York Times. The list of things she has produced seems to just go on and on to infinity, filling in all the space between math and art.

Date: March 4th, 2011
Cate: Geekism

IE6 Countdown

Remember back when IE was dead and Microsoft said IE6 was going to be the final version ever? Oh, how times have changed. Now they are on a campaign to try to get users to please, PLEASE upgrade away from IE6! The site has all the modern “tweet this” and “like this” buttons and even has a snippet of code you can put on your site to show IE6 users an “error message”.

(OT: I wonder if that map will be quietly updated in a few days to stop referring to Taiwan as a country)

Date: February 10th, 2011
Cate: Geekism

Come, let Us go down, and confound their speech

These guys now have an app that lets you translate spoken words and phrases between different languages! Universal Translator in your pocket, right? Not quite. We tried it out and it does a decent job translating English to Chinese, but the results translating Chinese to English are just so hilariously wrong as to make the app useless. Jenny was trying to speak slower and slower and more carefully to get it to be able to translate ANYTHING and eventually got frustrated and told it (in Chinese) “Talking to you is like talking to a wall!” the app dutifully translated:

"THUNDERBIRD. RESTAURANT. POWER CONVERTER."

Date: November 21st, 2010
Cate: Geekism

C++ and Beyond

I am going to C++ and Beyond in December! If you’re not an ultra-nerd, this is kind of like going to a Jersey Shore meetup where JWoww, Snooki and The Situation will ALL BE THERE IN PERSON.

Date: August 24th, 2010
Cate: Geekism

Metagun and Meta-Metagun

Ludum Dare is a game making competition, where programmers are invited to make a game based on a certain theme. The catch is you have to do it in just 48 hours! In the latest competition, the theme was “enemies as weapons”.

A guy named Markus Persson, of Minecraft fame (Minecraft being a game only ultra-nerds can understand or even recognize as a game, kind of like Dwarf Fortress) entered with a game called Metagun. In this game you are a guy who has a gun that shoots out little guys who then shoot back at you. Meta enough? Not yet!

The really Meta thing is that Markus, AKA “Notch”, recorded his computer screen for the 48 hours of making the game, and put the result up on Youtube! You can see him writing code, creating graphics, designing levels and testing the game out all at 500x speed. It’s sometimes almost unbelievable how much stuff can be cranked out by guys in these competitions, but now you can see it yourself.

Date: March 17th, 2010
Cate: Geekism

Happiness is…

…running top, pressing 1, and seeing this message:

Sorry, terminal is not big enough.

Date: February 17th, 2010
Cate: Geekism

LOGO on Scratch, Scratch on LOGO

Heard of Scratch? My nephew Dante introduced me to it. It’s a really nice visual programming environment, aimed at kids. You create programs that control the movement of sprites by snapping blocks together. There’s an “IDE” (written in Squeak Smalltalk) that you download and install and use to develop your programs, and then you are encouraged to share your programs by uploading them to the Scratch site. On the site, your Scratch program is run in a Java applet. Other users can then download the “source” to your programs, “remix”, and repost them. The people behind it have put a lot of work into both the technology and the community, and it ends up being really fun all around.

I made a few small programs to get the feel of it, like this Mars Lander game, but wanted to see how far I could push Scratch. So I set out to make a LOGO interpreter! It was pretty difficult, since Scratch doesn’t have subroutines, and the only data structure is the array. I ended up with something that supports a small subset of LOGO, including basic turtle graphics, user defined subroutines, and global variables. I also spent quite a lot of effort optimizing it to be as fast as possible within the limitations of Scratch. At first I just wanted to get the simple LOGO program to draw a circle, REPEAT 360 [ FD 1 RT 1 ], to run as fast as a “native” Scratch program to do the same thing. I succeeded beyond my wildest dreams and actually made my interpreter run faster than native Scratch. How I did that is another story, but to give you a hint, -funroll-loops.

Anyway the point of all this is while poking around at how to speed things up in Scratch, I decompiled the Java player that runs Scratch programs on the web. I was at first very confused by the output, because it looked like the source code to a… LOGO interpreter…??!?! I looked harder and found enclosed in the JAR file a LOGO program to run Scratch programs! For whatever reason, maybe because they had a LOGO interpreter in Java lying around, the Scratch team implemented the online player as a LOGO program that runs on Java. So that means when my Scratch LOGO interpreter is running, it’s LOGO, on Scratch, on LOGO, on Java. Neat!

Date: October 18th, 2009
Cate: Geekism

How… retro?

This:

Made me immediately think of this:

Date: September 15th, 2009
Cate: Geekism

Portents… signs…. follow…..

I just launched an automated build, and the log file timestamp ends with ‘1337′. If that’s not a good omen for a programmer I don’t know what is.

Date: August 20th, 2009
Cate: Geekism

Last minute hacks

Here are a bunch of stories of really great last minute hacks that were needed to get a game out the door. I have perpetrated my share of these as well. On one project I worked on, we had an upcoming very high profile marketing launch. (how high profile? we rented this room at Lincoln Center – the same one used as the meeting room in the recently canceled bad show Kings) Anyway, just before that launch, we realized that due to some very low level bugs in our messaging infrastructure, some small percentage of messages were being lost. The cause was unknown, and the “real” fix would have taken more time than we had. So instead, I put in a small change. Send every message… no, not twice, that wouldn’t be quite awesome enough… no, I sent every message in TRIPLICATE! Worked like a charm.

Date: March 31st, 2009
Cate: Geekism
1 msg

Things to “accidentally” type when you need a break

make -j, when you meant make -j2.

Date: March 25th, 2009
Cate: Geekism
1 msg

Communist Logic

Конструктор – ENGINEER OF THE PEOPLE

Are you like me? Do you like games that feel like work? Then maybe this game is for you. Конструктор (constructor) has been my obsession since it appeared on Sunday. I’ve had Zachtronics Industries subscribed for a while, after stumbling across some of his older games “for engineers”. But this one is my favorite so far. In it, you create chips that meet certain specifications using metal wires and two types of silicon. The red silicon, when powered, can stop the flow of electricity when drawn on top of the yellow. And the yellow, when drawn on the red, stops the flow unless it is powered. That is all you have to work with! Did you ever take a class in “Digital Logic” where you sketched out designs for things like an an adder using simple gates, like NOT or AND or NOR? This game is like the ASSEMBLY LANGUAGE of that. You don’t even have a NOT gate. In fact, your first challenge is to make one! The levels ramp up in difficultly quite quickly from there, and many seem simply impossible at first. I’m now to the point in the game with timing glitches and space to lay out circuits is becoming an issue, and loving it. The last few levels are “Confidential” but I have high hopes given that in the levels leading up to them you implement a shift register, RAM, and a rudimentary ALU.

If I stop showing up to work for the next few days this game is the reason why.

(by the way: the author of the game seems to have neglected to point out one important fact: you hold down the shift key to toggle between paining the two types of silicon. this took me a while to figure out the first time.)

Date: February 3rd, 2009
Cate: Geekism

Sharp tools, and subverting the paradigm

This story of the recent technical happenings of Muxtape has three points that resonate with me:

  1. How to deal with tools that suck. (And what it means when a geek says something sucks.)
  2. How much better tools that don’t suck are!
  3. And the best part: how to change those tools, from suck to not suck, even when you aren’t “the boss”.
Date: January 11th, 2009
Cate: Geekism

Waterfail

I’m having a hard time figuring out if this is an extremely advanced form of sarcasm, or if he’s actually serious.

Can the waterfall method be added to the list of things where the real thing cannot be distinguished from the parody?

Date: September 13th, 2008
Cate: Geekism
3 msgs

Good C++ training… really!

Remember how I was all “Is there available, on planet Earth, REALLY good C++ training?” The answer turns out to be YES! We (the place where I work) just finished a week of training provided by DevelopMentor, using materials created by Scott Meyers, and presented by Steve Dewhurst. It was absolutely excellent! I had recently been in a phase where there more I learned about C++ the less I liked it, but during the course I think I hit some sort of Tipping Point™ where I started to like it again. You can (and should) complain about a lot of things in C++, but no other language spans a greater range of the abstraction spectrum from the lofty and metaphysical down to gritty opcodes and registers.

Date: June 26th, 2008
Cate: Geekism

What about unestablished entities? Or what if I’m established, but not an entity?

Here are two statements from ICANN’s announcement that they will be opening up registration of top-level domains:

“The potential here is huge. It represents a whole new way for people to express themselves on the Net,” said Dr Twomey.

Yay! I would love to be able to “express myself!” http://messy.78/ here we come!

There will be a limited application period where any established entity from anywhere in the world can submit an application that will go through an evaluation process.

Oh.

Another thing I realized while reading this is that some day very soon “.com” will be passe… and then shortly afterwards extremely cool and retro.

Date: March 9th, 2008
Cate: Geekism

What is the output of date -d “”?

Answer: up until yesterday, it was the current date. But starting today, it is AN ERROR MESSAGE! Why? DAYLIGHT SAVINGS TIME!!! This wasted about 1 hour of my time today.

Date: December 27th, 2007
Cate: Geekism
10 msgs

Word count bookmarklet

Updated!

This word count bookmarklet searches through the page you’re on, and attempts to report the word count of the selection. It will first look for the text selection, and if there is none, it will search for a textarea that has a selection. It should be working in Safari and Firefox, and possibly even IE and Opera.

Date: December 21st, 2007
Cate: Geekism
4 msgs

Fun synonyms for “broken”

  • Brokeolated
  • Funktified
  • Borkonated
  • Screwzored
  • Bustacular
Date: December 19th, 2007
Cate: Geekism

The weird thing is it’s not in the dictionary

OK, so you actually expect me to believe that ON THE SAME DAY we got actual evidence that Duke Nukem Forever is going to come out, like, ever, AND news that the next version of IE is going to pass the ACID2 web standards test? Just how gullible do you think I am? The next thing you’re gonna try and tell me is that a new version of Feed on Feeds has been released.

Date: December 2nd, 2007
Cate: Geekism
1 msg

The Legend of the Squishy MacBook

Great. I am now completely obsessed with the squishy left side of my MacBook.

Date: October 25th, 2007
Cate: Geekism
1 msg

Dear Google:

Please get like 50 of your PhDs together and have them figure out how to automatically provide subtitles for all your YouTube videos.

Love, the Internet.

Date: July 29th, 2007
Cate: Geekism
1 msg

I have discovered Korean emoticon biscuits.

Saw these at the local asian grocery:

After doing a double take I realized that yes, those were emoticons on the cookies! (or biscuits, I guess) I bought them, and just as advertised:



^0^

I couldn’t find a page dedicated to this product, but this is the manufacturer and here’s some Japanese guy blogging about them. How do they taste? Sort of Pocky-esque, but not as good. But hey, EMOTICONS! *^^*

Date: July 25th, 2007
Cate: Geekism

Anarchaia

I don’t remember where I picked it up, but Anarchaia by Christian Neukirchen is one of my current favorite feeds. It’s an incredibly eclectic combination of deep geekism, pictures, random links, IRC chat snippets, and occasional poetry (which I skip – especially when it’s in German!).

trivia: it’s also the site that caused the mysterious _why to coin the term “tumblelog”)

Date: July 9th, 2007
Cate: Geekism
1 msg

THIS WEBSITE CRASHES IPHONE

If you’re on an iPhone, press back now! NOW! PRESS IT!

TOO LATE!!!!!!!!!!!!!!!!!!!! NOOOOOOOO!O!O!!!O!O!O!O!O!!!O!O!!!

Date: June 15th, 2007
Cate: Geekism
1 msg

Picture says it all

Date: June 13th, 2007
Cate: Geekism

Loss of a fight means loss of one’s life

Confessions of a Samurai Coder:

In the end there were just too many classes. The coupling was too severe; the dependencies too subtle. The Samurai is beaten. The blades of destruction spin down. Not so much Kill Bill – more my very own horror film, The Refactoring.

There is only one course of action left for the true Samurai:

Date: June 8th, 2007
Cate: Geekism

I can has bamboo steaks pleez?

Awesome quote from Bryan O’Sullivan on how much fun programming is becoming, given the whole “Moore’s Law is Dead” meme and how you couldn’t even buy a single core computer if you wanted to:

Programming is hard; parallel programming is way the hell harder; compsci courses have turned into votech Java pap; and enrollments in compsci are in any case as lively as the waiting list for the Lusitania the week after it was torpedoed. People want their programming to be easier and more casual, and they’re about to have it jammed into their eyesockets on bamboo stakes instead.

By the way, I know what he’s talking about, because I’ve had some fun with a type of parallel programming recently. Each screen = one CPU, plus one more, just for fun.

Date: April 20th, 2007
Cate: Geekism
2 msgs

Don’t let it happen to you

If you’ve ever used it, then you know ClearCase sucks. But let me tell you, if you haven’t used ClearCase MultiSite, which is the version for distributed development, you don’t yet understand the meaning of the word “suck”. If you can, imagine a slower, harder to administer, more expensive version of ClearCase. That’s MultiSite — but only if your sites are working on completely seperate projects! If your distributed developers want to work together on the same project, or god forbid, on the very same files, then I can guarantee that your imagination is not sufficient to fully envision the universe of pain that awaits your every working hour.

You might think all that money would buy you a system that lets developers on different continents work together as if they are in the same building. How naive! No, instead MultiSite allows developers on different continents to work together just as easily as if they are on different planets.

Date: March 3rd, 2007
Cate: Geekism
2 msgs

Interesting Times

This month at work is especially fun:

PROJECT 1: Work with programmers from a Swedish company who live in Denmark and Germany to update an American piece of hardware to display (and edit!) French and Japanese text.

PROJECT 2: Try to access a .Net web service (created by programmers in Israel) from C++ on Linux. We made the possibly fatal mistake of trying to use Java as a rendezvous point to get started.

PROJECT 3: Travel to London to help a team of programmers there figure out how to clone some embedded Qt software in MACROMEDIA FLASH, of all things.

By the way, I have been extremely disappointed with the Java web service experience. There are SO MANY different Java APIs and toolkits out there, and no clear way to figure out which way the cool kids are doing it this week. Understanding Google results for anything related to Java web services is like interpreting an archaeological dig through thousands of years of technological progress, including dark ages, which may or may not be over. And the official site is no help, just pages with long lists of poorly named APIs.

I mean I just want to call a SOAP service, described by a WSDL file, and pass a username and password (a la WS-Security). Why is that so hard? No, I don’t want to learn all about handler chains or wsdd files or GlassFish (whatever that is) or deploy any WAR files to a server or install security providers or configure everything through a GUI in an IDE and just be left staring at “NullPointerException” when it doesn’t work. I just want to use the good old JDK to write a simple command line client which I naively thought would be about 10 lines of code. You know which web service client toolkit I’ve had the most luck with? cURL. BY FAR.

Date: February 25th, 2007
Cate: Geekism

Japanese Input on Cellphones

Every curious how Japanese people with their unbelievably complicated writing system manage to enter text on a cell phone? Wonder no more! Willy (who apparently has good taste in video games) shows us all how, in Japanese Input on Cellphones and Japanese Input on Cellphones 2.

Date: February 7th, 2007
Cate: Geekism

Now that’s REAL Ultimate Reverse Engineering

Recently I’ve been using Skype and have been quite impressed, especially with how effortlessly it glides through any firewalls and NATs that it finds in its way, almost as if they don’t even exist. I was even more impressed by “Vanilla Skype”, a presentation (part 1, part 2) that details the Herculean efforts that the developers of Skype went to to encrypt and obfuscate the workings of their client and network, and the truly Super-Herculean efforts of a pair of hackers who have circumvented all the encryption and booby traps and figured it all out anyway!

The presentation was given at REcon 2006, a computer security conference. There’s probably other equally interesting stuff in the rest of the proceedings.

Date: January 1st, 2007
Cate: Geekism

Feed on Feeds moved to Google Code

Feed on Feeds, once and future king of open source web based feed aggregators, has now completed its move to Google Code. There’s no official new release yet, but there is some early code available in svn for the adventurous.

There’s also a newish project blog. Now would be a good time to subscribe to it.

Date: November 9th, 2006
Cate: Geekism
2 msgs

REALLY good C++ training?

Dear Lazyweb: Is there available, on planet Earth, REALLY good C++ training? Price and location are no object (within reason). A week duration would be perfect. I’m looking for something that can put me on the road from a 1990’s era, middle-grade, procedural with dashes of OO, STL-barely-grokking, late night double-free-debugging, C++ job-get-doner to a 21st century, meta-template slinging, smart pointer using, TR1 breathing, C++ madman who can turn on a dime from modern OO to generic to functional programming as the mood hits me. My ultimate end goal would be to be able to open up the source code to a random Boost library and not immediately doubt that I’m even looking at C++.

Possibly related: did you ever notice that Scott Meyers looks exactly like The Ultimate Warrior?