Live data from Hacker News

1001 Things To Hack Before You Die

news.ycombinator.com

81–90 of 98 posts

Re: 1001 Things To Hack Before You Die

#81

In the spirit of the topic... 0001: Learn a functional language well enough to write something of some complexity 0010: Create a product with 100+ users 0011: Sell 100+ products (doesn't have to be the same as 0010) 0100: Get married! 0101: Learn either vim or emacs 0110: Learn Mandarin 0111: Become an expert at something tech *and* something non-tech 1000: Contribute to an OSS project 1001: edit: learned binary. tha…

1000: Learn binary!

I'd have made that one 0000, personally...

Re: 1001 Things To Hack Before You Die

#82

cause an additional security policy to be put in place on your high schools network

College, actually. Got them to fix an issue with forgetting to clear the cached AFS credentials when their login program crashed.

Also tried to convince them to get people to use SSH instead of telnet, but they took a few years to get around to deploying that and ignored me. In retrospect, the university president was the wrong person to tell; he had no clue what I was even talking about. Mind you, this was in 1998 and more than a few people had already figured out that it's not too hard to listen in to unencrypted traffic on a LAN. I'm assuming that the people who did bad things with that knowledge are the ones who actually got them to change the policy.

Also made them change the terms of use that forbade "downloading copyrighted material" to "downloading copyrighted material without permission" given that almost everything online is copyrighted.

I also ended up acting as an unofficial helpdesk member just because I was up there chatting to the real people too often. It's always fun to fix problems for people and when they ask how you know so much about the program they're using to point out that, in fact, you've never actually seen or used it before...

Re: 1001 Things To Hack Before You Die

#83

In the spirit of the topic... 0001: Learn a functional language well enough to write something of some complexity 0010: Create a product with 100+ users 0011: Sell 100+ products (doesn't have to be the same as 0010) 0100: Get married! 0101: Learn either vim or emacs 0110: Learn Mandarin 0111: Become an expert at something tech *and* something non-tech 1000: Contribute to an OSS project 1001: edit: learned binary. tha…

you should have started with "0000:" :)

Re: 1001 Things To Hack Before You Die

#85

build a motorcycle or other vehicle invent a device like this guy http://www.npr.org/templates/story/story.php?storyId=1308907...

The Wikipedia page on the Universal Nut Sheller makes up for NPR's lack of technical detail:

http://en.wikipedia.org/wiki/Universal_Nut_Sheller

The thought that this machine is sometimes custom made to accommodate different environments and plants intrigues me.

Re: 1001 Things To Hack Before You Die

#87
post #48

Some things I'm glad to have done: 1. Write a Hello World application from scratch. No C library, compiler, linker, nothing. You get a hex editor. 2. Write a non-bootstrapped compiler or interpreter using assembler. 3. Write a program that learns to play a game. 4. Develop a network protocol. 5. Write a web server. You can use the language of your choice, but nothing is allowed except a socket library. 6. Write a pla…

1. Write a Hello World application from scratch. No C library, compiler, linker, nothing. You get a hex editor. Does this involve anything more than loading "Hello, world" into memory, setting up the registers/stack in a certain way, and invoking the syscall interrupt? (All the cool stuff happens in your terminal emulator. That's where 0x41 gets turned into the pixels that look like "A" on your screen, after all.)

Write it for a system that doesn't have a terminal (or a character mode.) A Super Nintendo (65c816 CPU with the most thoroughly-tested emulators on the planet), say.

Re: 1001 Things To Hack Before You Die

#88
post #48

Some things I'm glad to have done: 1. Write a Hello World application from scratch. No C library, compiler, linker, nothing. You get a hex editor. 2. Write a non-bootstrapped compiler or interpreter using assembler. 3. Write a program that learns to play a game. 4. Develop a network protocol. 5. Write a web server. You can use the language of your choice, but nothing is allowed except a socket library. 6. Write a pla…

> Write a Hello World application from scratch. No C library, compiler, linker, nothing. You get a hex editor.

"To prepare a donut from scratch, you have to first create the universe."

Re: 1001 Things To Hack Before You Die

#89
post #87

Earlier quoted context omitted.

1. Write a Hello World application from scratch. No C library, compiler, linker, nothing. You get a hex editor. Does this involve anything more than loading "Hello, world" into memory, setting up the registers/stack in a certain way, and invoking the syscall interrupt? (All the cool stuff happens in your terminal emulator. That's where 0x41 gets turned into the pixels that look like "A" on your screen, after all.)

Write it for a system that doesn't have a terminal (or a character mode.) A Super Nintendo (65c816 CPU with the most thoroughly-tested emulators on the planet), say.

Then it's just setting some bits in the video memory to "on".

Re: 1001 Things To Hack Before You Die

#90
post #70

Earlier quoted context omitted.

1. Write a Hello World application from scratch. No C library, compiler, linker, nothing. You get a hex editor. Does this involve anything more than loading "Hello, world" into memory, setting up the registers/stack in a certain way, and invoking the syscall interrupt? (All the cool stuff happens in your terminal emulator. That's where 0x41 gets turned into the pixels that look like "A" on your screen, after all.)

At least part of the "fun" on a loosely modern operating system is learning the nuts and bolts of the executable format and loading conventions. I've never spent much time there, but some of the ideas are laid out well in this two part post: http://blog.ksplice.com/2010/04/libc-free-world-2/ Doing it with _just_ a hex editor (ie writing out the ELF headers and sections yourself) may not be exactly what the commenter…

It's not that difficult or tedious, but it does require that you read the elf specification, or write your own "OS" from scratch.

http://www.muppetlabs.com/~breadbox/software/tiny/teensy.htm...

The idea is that you strip away everything that does something for you so that you are sure to completely understand the entire process with no "pushing the green compile button."

Post reply on HN