
mode for Emacs There are many Emacs packages and modules for Haskell. The most prominent ones are haskell-mode, ghc-mod and Scion. 1 Newbie guide Emacs is an extensible texteditor which can be extended with so-called "modes" and makes great use of keystrokes. 2 Haskell-mode The haskell-mode package is a set of major modes for Emacs for writing Haskell code and working with Haskell projects. Haskell-mode is maintained by Philip Weaver. 3 Scion The Scion IDE library can be used to complement the haskell-mode with additional features, such as (quoting the documentation): Highlights error messages directly in the source, together with a tool-tip Optional on-the-fly typechecking (idle-time based, or whenever file is saved) Completion on `LANGUAGE` names, pragmas, external module names and `OPTIONS`-flags Go to definition sites of symbols at point Documentation on how to use `scion.el` can be found in the `README.markdown` file. The primary repository is at nominolo/scion. 4 ghc-mod 5 Hugs mode 6 LaTeX 7 Cabal
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. All the interesting bits – such as Netflix streaming, or the ability to build a custom firmware image – are not included. 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. Printf’s reveal original function names How not to stat a file System calls to iwpriv Sweet!
AJAX Control Toolkit ASP.NET AJAX Control Toolkit Welcome to the ASP.NET AJAX Control Toolkit. Choose from any of the samples on the left to see the live controls in action, and experiment with their different possibilities. What is the ASP.NET AJAX Control Toolkit? The ASP.NET AJAX Control Toolkit is an open-source project built on top of the Microsoft ASP.NET AJAX framework. It is a joint effort between Microsoft and the ASP.NET AJAX community that provides a powerful infrastructure to write reusable, customizable and extensible ASP.NET AJAX extenders and controls, as well as a rich array of controls that can be used out of the box to create an interactive Web experience. The AJAX Control Toolkit contains more than 30 controls that enable you to easily create rich, interactive web pages. To get started, and to install the Ajax Control Toolkit, visit the AJAX Control Toolkit Project Page on CodePlex.
4.12. Using shared libraries On some platforms GHC supports building Haskell code into shared libraries. Shared libraries are also sometimes known as dynamic libraries, in particular on Windows they are referred to as dynamic link libraries (DLLs). Shared libraries allow a single instance of some pre-compiled code to be shared between several programs. In contrast, with static linking the code is copied into each program. In GHC version 6.12 building shared libraries is supported for Linux on x86 and x86-64 architectures and there is partial support on Windows (see Section 11.6, “Building and using Win32 DLLs ”). Building and using shared libraries is slightly more complicated than building and using static libraries. 4.12.1. To build a simple program and have it use shared libraries for the runtime system and the base libraries use the -dynamic flag: ghc --make -dynamic Main.hs This has two effects. 4.12.2. You can build Haskell code into a shared library and make a package to be used by other Haskell programs.
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. 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 Search/Replace /pattern - search for pattern?
XTips.ru C9 Lectures: Dr. Erik Meijer - Functional Programming Fundamentals, Chapter 1 of 13 | Going Deep Welcome to a new technical series on Channel 9 folded into a different kind of 9 format: C9 Lectures. These are what you think they are, lectures. They are not conversational in nature (like most of what you're used to on 9), but rather these pieces are entirely focused on education, coming to you in the form of a series of high quality technical lectures (1 or more per topic) on a single topic. We kick off C9 Lectures with a journey into the world of Functional Programming with functional language purist and high priest of the lambda calculus, Dr. Erik Meijer (you can thank Erik for many of the functional constructs that have shown up in languages like C# and VB.NET. Lecture Context: Over the past two years, you've learned a fair amount about the functional programming paradigm's foray into general purpose imperative progamming languages (LINQ, Lambda's, etc in C# and VB.NET). Dr. In Chapter 1, Dr. Welcome to C9 Lectures. ALWAYS ask questions right here. Welcome to C9 Lectures!
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. A better portfolio would include per-project pages, and publicly browsable code (hosted perhaps on github or Google code). 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. Specific recommendations Java
Effective Effective Books I'm getting ready to start work on Effective C++11 (about which I'll have more to say in a later blog post), and this week I've been reviewing a manuscript for a new book in my Effective Software Development Series, so recently I've been thinking a lot about what makes an effective Effective book. Effective books consist of a collection of technical essays ("Items"), where each essay's title comprises advice you should follow, and each essay's body consists of a rationale for the advice. In the third edition of Effective C++, for example, Item 37 is "Never redefine a function's inherited default parameter value." This format has always seemed pretty straightforward to me, but having reviewed dozens of proposals and manuscripts for my series, it's clear that it's not straightforward to everybody. A few years ago, I wrote up the following guidelines for authors of prospective Effective books. Item 1: Keep Items short. Think about your goals for your book. Item 4: Word Item titles carefully.
Neil Mitchell - HLint HLint (formerly Dr. Haskell) reads Haskell programs and suggests changes that hopefully make them easier to read. HLint also makes it easy to disable unwanted suggestions, and to add your own custom suggestions. Running the tool over the darcs source code, we can generate an interactive report with --report, or view the results in the console: $ hlint darcs-2.1.2 CommandLine.lhs:49:1: Warning, eta reduce Found: quotedArg ftable = between (char '"') (char '"') $ quoteContent ftable Why not: quotedArg = between (char '"') (char '"') . quoteContent CommandLine.lhs:94:1: Error, use concatMap Found: concat $ map escapeC s Why not: concatMap escapeC s Ssh.hs:155:17: Error, use isPrefixOf Found: take 1 path == "~" Why not: "~" `isPrefixOf` path ... many other suggestions ... HLint can only be compiled by GHC 6.10.1 or above (it makes use of view patterns), but does not require any copy of GHC to run. Related work Haskell Style Scanner - check for poor layout/spacing etc. Downloads
JIProlog 50 полезных плагинов JQuery jQuery плагины являются одними из самых необходимых компонентов при построении сайта, да и вообще любого веб-приложения. Именно они позволяют вам расширить свой функционал. В этой статье перечислены самые полезные плагины за 2012 год. Для более удобного поиска все плагины разделены на следующие категории: Web Page Layout — плагины, плагины для навигации, Form Plugins, плагины для создания слайдеров, плагины для диаграмм и графиков, эффекты для изображений и другие. Также среди этих плагинов есть плагины, которые помогут вам в создании ваших адаптивных приложений. Page Layout плагины equalize.js equalize.js — это плагин для jQuery, который позволяет создавать блочную структуру сайта. Freetile.js Новый плагин для адаптивных макетов.Freetile позволяет создавать элементы любого размера, при этом необходимость создания фиксированного размера столбцов сетки отпадает. gridster.js Gridster.JS jquery плагин для построения drag and drop — сетки. Zoomooz.js Wookmark JQuery HiddenPosition Stellar.js turn.js
Home Page The Haskell School of Expression: Learning Functional Programming through Multimedia by Paul Hudak, Yale University Cambridge University Press, New York, 2000 416 pp./15 line diagrams/75 exercises Paperback $29.95, ISBN: 0521644089 Hardback $74.95, ISBN: 0521643384 Abstract: This book teaches functional programming as a way of thinking and problem solving, using Haskell, the most popular purely functional language. Author contact information: