background preloader

Hoogle

Hoogle
Hoogle is a Haskell API search engine, which allows you to search many standard Haskell libraries by either function name, or by approximate type signature. Example searches: map (a -> b) -> [a] -> [b] Ord a => [a] -> [a] Data.Map.insert Enter your own search at the top of the page. The Hoogle manual contains more details, including further details on search queries, how to install Hoogle as a command line application and how to integrate Hoogle with Firefox/Emacs/Vim etc. I am very interested in any feedback you may have.

Jailbreaking the NeoTV Today we’ll be jailbreaking the Netgear NTV300 set top box…with a TV remote. The Netgear NeoTV 300 Negear’s NeoTV set top boxes are designed to compete with the popular Roku, and can stream video from all the usual sources (Netflix, HuluPlus, Youtube, etc). The NTV300 is one of the least expensive NeoTV models, and while a GPL release is available, it contains only copies of the various standard open source utilities used by the NTV300. Inside the NTV300 we find a Mediatek ARM SoC, a 128MB NAND flash chip and 256MB of RAM: Inside the NTV300 The four pin header in the top right corner of the PCB is a serial port (115200 baud 8N1), and while it provides access to the U-Boot boot loader, it does not provide a root shell. Luckily, the firmware updates for the NTV300 aren’t encrypted. While the firmware update does not appear to contain a complete file system, most of the interesting stuff appears to be in the first SquashFS image. Printf’s reveal original function names How not to stat a file

On undoing, fixing, or removing commits in git A git choose-your-own-adventure!ⓡ <h3><em>Warning!</em> Javascript has been disabled. This means that you will not get the bread crumbs representing what path you took. If you need further help, copy-pasting these bread crumbs would be extremely useful to anyone trying to provide help to you or improve this website. This document is an attempt to be a fairly comprehensive guide to recovering from what you did not mean to do when using git. If you have problems after clicking through this document, please copy-paste the "Path" you took (what links you clicked on, automatically presented to you if javascript is available) when asking for further help, since doing so will explain very precisely what you were trying to do, and that you at least tried to help yourself. First step Strongly consider taking a backup of your current working directory and .git to avoid any possibility of losing data as a result of the use or misuse of these instructions. Proceed to the first question Have you pushed?

My vi/vim cheatsheet Cursor movement h - move leftj - move downk - move upl - move rightw - jump by start of words (punctuation considered words)W - jump by words (spaces separate words)e - jump to end of words (punctuation considered words)E - jump to end of words (no punctuation)b - jump backward by words (punctuation considered words)B - jump backward by words (no punctuation)0 - (zero) start of line^ - first non-blank character of line$ - end of lineG - Go To command (prefix with number - 5G goes to line 5) Note: Prefix a cursor movement command with a number to repeat it. For example, 4j moves down 4 lines. Insert Mode - Inserting/Appending text i - start insert mode at cursorI - insert at the beginning of the linea - append after the cursorA - append at the end of the lineo - open (append) blank line below current line (no need to press return)O - open blank line above current lineea - append at end of wordEsc - exit insert mode Editing Marking text (visual mode) Visual commands Cut and Paste Exiting

Project Rain World by Rain World » AMAZING! ASTONISHING! Thanks to your overwhelming support and enthusiasm for Rain World, we are ~80% funded in less than 2 days. Unreal! Our inbox is absolutely brimming with messages of encouragement, thank you all so much! Also, today we are Kickstarter's "Project of the day", and anyone going to Kickstarter.com will be greeted by that cute slugcat face. So a huge "thank you" to Kickstarter staff as well! We have had a ton of questions from curious funders, and we will try to tackle as many as we can in this and subsequent updates. Q: Will Rain World be available on Steam? A: We would like for it to be! Q: Will you be doing a Linux version? A: We would like to do that too! Q: Do you accept PayPal? A: Yes! Although, it must be said: PayPal funds won't help us achieve our Kickstarter fundraising goal, so if you *do* have the option to use Kickstarter please do that instead. Now onto some fun stuff! You can see some of this leg and body movement action with the help of our little friend the see-through slugcat.

What every computer science major should know Portfolio versus resume Having emerged from engineering and mathematics, computer science programs take a resume-based approach to hiring off their graduates. A resume says nothing of a programmer's ability. Every computer science major should build a portfolio. A portfolio could be as simple as a personal blog, with a post for each project or accomplishment. Contributions to open source should be linked and documented. A code portfolio allows employers to directly judge ability. GPAs and resumes do not. Professors should design course projects to impress on portfolios, and students, at the conclusion of each course, should take time to update them. Examples Technical communication Lone wolves in computer science are an endangered species. Modern computer scientists must practice persuasively and clearly communicating their ideas to non-programmers. Unfortunately, this is not something fixed with the addition of a single class (although a solid course in technical communication doesn't hurt). Java

Home « Tom Dalling Tom Dalling JIProlog Procedural World

Related: