tekrat

Archive for the ‘tech’ Category

Monome 40h has arrived!

  • Filed under: tech
Friday
Oct 20,2006

So this actually arrived a while ago, but my site was down so… let’s pretend this it’s three weeks ago. My much anticipated Monome 40h arrived and while it was a little difficult to get it up and running, the support forums were enough to get it going. I’m working on a library to be able to program this directly in python/php/c etc, should be available soon (assuming the server stays up that is).

Sounds like Monome won’t be making any more of these so they can concentrate on their next project m80h? I’m very happy with it, and can’t wait to see what they do next. My only dissapointement is that the led intensity is for all the entire unit and not each individual button. Here’s some pics from my gallery…

Oracle OpenWorld

  • Filed under: tech
Friday
Oct 20,2006

I recieved a community notice that Howard Street would be closed all week long. Turns out it’s for the Oracle OpenWorld Convention, seems like they’ve closed down the entire street so that they can join the two convention buildings with a tent. How much room do you really need? At least it’s easier to jay walk without getting hit by a car now.
-More pictures-

The Register Article: Bigger, longer, uncut: Oracle OpenWorld

OpenWorld Homepage

Guide to Electronic Music

Wednesday
Oct 18,2006

For someone like me that knows very little about electronic music, this is a great resource:

http://www.di.fm/edmguide/edmguide.html

Blackberry Pearl 8100

Tuesday
Sep 26,2006

I dropped my Sony Ericson phone today for a new Blackberry Pearl 8100.  What a hot piece of hardware.  While some reviews describe it as a phone for the girls, I think any geek would be stupid not to snatch one of these up.  I’m not willing to carry around with me a giant blackberry or treo phone, it’s just too inconvenient.  But the pearl is the best of both worlds.  I’m able to dial-up on Caltrain with my MacBook and I can get email/IM/Text/web while I’m out and about away from my laptop.  Everyone I’ve shown it to so far has gone goo goo over it once it’s in their hand.  Hot Hot Hot…. now if I could only get it to work with iSync.

Review:
http://crunchgear.com/2006/09/18/blackberry-pearl-8100-hands-on-2/

How to dial-up with your Pearl on the Mac:
http://www.fibble.org/archives/000508.html

Meaningful PHP coredumps

  • Filed under: tech
Thursday
Sep 21,2006

While in the midst of writing my own GDB scripts to anylize PHP core files, I was informed through a response to the xdebug mailing list that these functions already exist in the php-src/.gdbinit file. How clever! Some useful functions are:

(gdb) zbacktrace
[0xfff40040] arsort() mail.php:287

[0xfff40040] send_message() lib.php:18

[0xfff40040] post_reply() lib.php:312

[0xfff40040] ??? index.php:15

(gdb) printzv return_value
[0xdd474c90] (refcount=1) NULL

Some other usefull commands…

dump_bt — Dumps the current execution stack
print_const_table — User-defined
print_ft — Dumps a function table (HashTable)
print_ht — Dumps elements of HashTable made of zval
print_inh — User-defined
print_pi — User-defined
printzn — Print type and content of znode
printzops — Dump operands of the current opline
printzv — Prints content of zval
zbacktrace — Prints backtrace
zmemcheck — Show status of a memory block

More information on GDB command files here

A Near Mutiny, acutally…

  • Filed under: tech
Friday
Sep 8,2006

“No comment”, just putting it here for posterity

The Facebook Book

  • Filed under: tech
Tuesday
Sep 5,2006

It’s interesting to read about another’s perspectives of Facebook. Especially considering the context of the time I currently find myself in. The author, Karel, was my first phone interview at facebook somewhere between 11pm and 1am I believe. He sent my questions over AIM and asked me to send back SQL queries to solve the proposed problems. I really enjoyed it, although I’m not sure my boyfriend trying to get some sleep was a big fan. I’ll definitely want to keep my eye on Karel for any future projects he has in mind. You can read more about his book here.

my 40h toy…

  • Filed under: tech
Sunday
Sep 3,2006

Ordered a new toy, and I can’t wait till it gets here. (only a few more days)…
[swf]http://www.youtube.com/v/cJwxbTKwONc,425,350,0,0[/swf]

The group running this show seems pretty good so far. Their ordering process was really great, and I think I got an email everytime somebody handled the shipment. Now I just need to figure out what the hell I’m going to do with it. The add-on for an optical rotary encoder sounds like a fun first project… http://wiki.monome.org/view/40hOpticalEncoderTutorial

i386 vs. x86_64 linux system calls

  • Filed under: tech
Monday
Aug 7,2006

Probably old news, but linux made some changes to the way you performs system calls under the x86_64 architecture. It used to be that you could call interrupt 0×80, but this has changed. It seems you can still call via an interrupt, but you can’t use the syscall numbers provided by asm/unistd.h as they have all been changed. The new and faster method is to use the SYSCALL operation. The semantics are slightly different, eax still holds the syscall number, but the argument list is reversed.

For example, on i386:

#include <stdlib.h>
#include <stdio.h>
#include <sys/unistd.h>
#include <sys/syscall.h>
 
int main() {
  long int ret;
  int fd = 0;
  char* str = "Hello World!\\n";
  int strlen = sizeof("Hello World!");
 
  /* ret = write(fd, str, strlen); */
  asm ("int $0x80;"
       : "=a" (ret)
       : "0" (SYS_write),
         "b" (fd),
         "c" (str),
         "d" (strlen)
      );
 
  return ret;
 
}
 
 
[Download this code: i386_syscall.c]

would become this on x86_64:

#include <stdlib.h>
#include <stdio.h>
#include <sys/unistd.h>
#include <sys/syscall.h>
 
int main() {
  long int ret;
  int fd = 0;
  char* str = "Hello World!\\n";
  int strlen = sizeof("Hello World!");
 
  /* ret = write(fd, str, strlen); */
  asm ("syscall;"
       : "=a" (ret)
       : "0" (SYS_write),
         "D" (fd),
         "S" (str),
         "d" (strlen)
      );
 
  return ret;
 
}
 
 
[Download this code: x86_64_syscall.c]