Truth, Computing and Fail

  • Home
  • About

PyCon India or Code Jam?

anomit | September 15, 2009

That is something which has been playing at the back of my mind for the past couple of days. not this shit again

Google Code Jam Round 2 is on 26th Sept, 21:30 IST, right on the day PyCon India starts. In theory I can attend the 1st day of PyCon and compete in GCJ as well at night. But there are a few small things that have been bugging me like the possibility of being dead tired at the end of the day, lack of a decent internet connection etc.

Advancing to round 3 of GCJ would require me to be placed within the top 500 of the 3000 competitors. Effectively I have about 5-6 days in total to prepare for it, excluding the useless exams in between and a ~500 rank isn’t asking for too much. This is one of the reasons that I’m inclined to stay back instead of taking on a 10 hour long overnight bus journey coupled with running around the city for a whole day.

If you are reading this, put in a few words of wisdom (considering you have them at your disposal).

Comments
6 Comments »
Categories
Coding, My Life
Tags
code jam, PyCon, python
Comments rss Comments rss
Trackback Trackback

Param and TechTatva 2009

anomit | September 4, 2009

TechTatva is the technical fest held at my college and this year it starts from 8th September, that is a few days from now. No use of rambling on about its greatness and the value it brings to an otherwise morbid campus life.

Param is the category under TechTatva broadly relating to the computer science and IT oriented events. I’m in charge of handling it this time. Since last year, we have been trying to infuse some freshness into this category with the help of new events. Last year it was Mobivision which was about application development on two mobile platforms: Android and Symbian S60. The event was a huge hit in the college with 200+ people turning up for the workshops on PyS60 and Android development.

This time we have introduced an algorithm intensive event, Algosm which will be hosted and evaluated online by Codechef. This is the first time such an event will be a part of Param like Mobivision was last year. We hope this will help a lot of students in our college get acquainted with the overall concept of online programming contests.

Outstation participants are also welcome (obviously because it’s an online event :) . Do check out the Algosm page on the TechTatva website for more details.

Comments
4 Comments »
Categories
Coding, My Life
Tags
college
Comments rss Comments rss
Trackback Trackback

Proof of suckage, early 2008

anomit | September 2, 2009
I applied for the Etherboot project in the 2008 edition of GSoC. Looking back it doesn’t look like a wise decision at all since my C skills sucked hairy camel balls back then.

Today I was reading through some shellcode and buffer overflow attack basics and just about an hour ago from now I happened to remember this certain question that a couple of developers from the Etherboot project asked me during the IRC screening of potential candidates. Right now it took me less than 5 minutes to come up with a hopefully correct solution. Back then I was absolutely at a loss how to even begin coding the problem. The logic of the problem is really simple but I had no idea how to put it down in concrete code. Take a look at the problem and the solution below and laugh at me.

/**
* Search memory for a 32-bit pattern match on a 32-bit boundary
*
* @v start             Start address of region to search
* @v len      Length of region, in bytes
* @v pattern           Pattern to search for
* @v mask              Mask of which bits in the pattern we care about
* @ret found           First address at which pattern is found
*
*
* The mask is used to indicate that we care about only part of the
* pattern matching.  For example, suppose we wanted to search the
* region for words of the form
*
*   0xabcdXXXX
*
* where X indicates that we don't care about that digit (i.e. that we
* would want to match on 0xabcd0000, or 0xabcd1234, or 0xabcdffff,
* etc.).  We would then call memsearch() as
*
*   memsearch ( start, len, 0xabcd0000, 0xffff0000 );
*/
#include <stdint.h>
#include <stdio.h>

uint32_t *memsearch ( uint32_t *start, size_t len, uint32_t pattern, uint32_t mask )
{
    uint32_t s = (uint32_t)start;
    while(len--)
    {
        s++;
        if ( (s & mask) == (pattern & mask) )
            return (uint32_t *)s;
    }
    return NULL;
}

int main()
{
    uint32_t result;
    printf("Result is: %x", (result=(uint32_t)memsearch ( 0x00000000, 4294967295u,\
0x000000df, 0x000000ff ))?result:0);
    return 0;
}
Comments
4 Comments »
Categories
Coding, GNU/Linux
Tags
c, etherboot, pointers
Comments rss Comments rss
Trackback Trackback

What’s in

  • Symlinks in a libfs virtual file system: The Pains
  • Small rant on the FUSE API reference
  • Kernel module debugging: a simple technique
  • Vim/Cscope quickie
  • PyCon India or Code Jam?

Blogroll

  • Akshay Kothari
  • Ankur Shrivastav (OS)
  • Ankur Sinha
  • Harsh J
  • Hullap
  • LUG manipal
  • Swap

Tags

aircrack airfail airtel assembly blues build c Coding college country cryptography dean faculty file systems fuckery gnuplot hacking India kernel linux mangalore manipal mpd music NASM plugin plugins politicians pub culture python rant rock sam scheduler simulation SSFNet stupidity supernatural suppression syscall syscalls unix vim xchat xml

Archives

  • January 2010
  • December 2009
  • November 2009
  • October 2009
  • September 2009
  • July 2009
  • June 2009
  • May 2009
  • April 2009
  • March 2009
  • January 2009
  • November 2008
  • September 2008
  • August 2008
  • July 2008
  • June 2008
  • May 2008
  • April 2008
  • March 2008
  • February 2008
  • January 2008
  • October 2007
  • September 2007
  • July 2007
  • June 2007
  • May 2007
  • April 2007
  • March 2007

License

Creative Commons License
This work by Anomit Ghosh is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 2.5 India License.
rss Comments rss valid xhtml 1.1 design by jide powered by Wordpress get firefox