Today's Question:  What does your personal desk look like?        GIVE A SHOUT

 PROGRAMMING


  How to read Haskell like Python

Have you ever been in the situation where you need to quickly understand what a piece of code in some unfamiliar language does? If the language looks a lot like what you’re comfortable with, you can usually guess what large amounts of the code does; even if you may not be completely familiar how all the language features work.For Haskell, this is a little more difficult, since Haskell syntax looks very different from traditional languages. But there's no really deep difference here; you just have to squint at it just right. Here is a fast, mostly incorrect, and hopefully useful guide fo...

3,176 0       PYTHON FORMAT HASKELL LIKE SIMILARITY


  How to teach "Modern" Perl?

Since I started my Perl Tutorial series a couple of people commented on what and how I am teaching.Some people asked why did I show "open or die" and why not using autodie. Others recommended the use IO::All instead of open.Another complaint was the introduction of time and localtime instead of DateTime.While I was mostly writing parts of my regular training material these comments led me to think about it again. I wonder how to teach Perl in 2012?When I started to write the tutorial I still called it "modern perl tutorial" but now I mostly call it "Perl tutorial" and I am going to eliminate t...

3,466 0       PERL TEACH TRAINNING MODERN MODERN PERL


  Cracking Siri

On October 14, 2011, Apple introduced the new iPhone 4S. One of its major new features was Siri, a personal assistant application. Siri uses a natural language processing technology to interact with the user.Interestingly, Apple explained that Siri works by sending data to a remote server (that’s probably why Siri only works over 3G or WiFi). As soon as we could put our hands on the new iPhone 4S, we decided to have a sneak peek at how it really works.Today, we managed to crack open Siri’s protocol. As a result, we are able to use Siri’s recognition engine from a...

3,398 0       SIRI AI CRACKING DEFECT SPEECH TO TEXT RECORD


  Translating math into code with examples in Java, Racket, Haskell and Python

Discrete mathematical structures form the foundation of computer science.These structures are so universal that most research papers in the theory of computation, programming languages and formal methods present concepts in terms of discrete mathematics rather than code.The underlying assumption is that the reader will know how to translate these structures into a faithful implementation as a working program.A lack of material explaining this translation frustrates outsiders.What deepens that frustration is that each language paradigm encodes discrete structures in a distinct way.Many of the e...

3,056 0       MATH ALGORITHMS FORMULA PROGRAM PYTHON


  Smuggling data in pointers

While reading up on The ABA Problem I came across a fantastic hack.  The ABA problem, in a nutshell, results from the inability to atomically access both a pointer and a "marked" bit at the same time (read the wikipedia page).  One fun, but very hackish solution is to "smuggle" data in a pointer.  Example:#include "stdio.h"void * smuggle(void * ptr, int value){  return (void *)( (long long)ptr | (value & 3) );}int recoverData(void * ptr){  return (long long)ptr & 3;}void * recoverPointer(void * ptr){  return (void *)( (long long)ptr & (~3) );}int main(...

3,041 0       C DATA POINTER BIT ATOMIC SMUGGLE


  List of freely available programming books

Meta-ListsHow to Design Programs: An Introduction to Computing and Programming25 Free Computer Science EbooksFree Tech BooksMindView IncWikibooks: ProgrammingCheat Sheets (Free)CodePlex List of Free E-BooksBook Training - On Video!Sofware Program Managers Network - Free EBooksEBook Share @ linbai.infoFreeBooksClub.NetTheassayer.orgO'Reilly's Open Books ProjectTechBooksForFree.comGalileo Computing (German)Microsoft Press: Free E-BooksGraphics ProgrammingGPU GemsGPU Gems 2 - ch 8,14,18,29,30 as pdfGPU Gems 3Graphics Programming Black BookShaderX seriesDirectX manual (draft)Le...

4,554 0       PROGRAMMING LIST FREE EBOOK LINKS


  All Programming is Web Programming

Michael Braude decries the popularity of web programming:The reason most people want to program for the web is that they're not smart enough to do anything else. They don't understand compilers, concurrency, 3D or class inheritance. They haven't got a clue why I'd use an interface or an abstract class. They don't understand: virtual methods, pointers, references, garbage collection, finalizers, pass-by-reference vs. pass-by-value, virtual C++ destructors, or the differences between C# structs and classes. They also know nothing about process. Waterfall? Spiral? Agile? Forget it. They've n...

1,959 0       PROGRAMMING WEB PROGRAMMING OPPOSITE VIEWS WEB APP


  The Go Programming Language Turns Two

Two years ago a small team at Google went public with their fledgling project - the Go Programming Language. They presented a language spec, two compilers, a modest standard library, some novel tools, and plenty of accurate (albeit succinct) documentation. They watched with excitement as programmers around the world began to play with Go. The team continued to iterate and improve on what they had built, and were gradually joined by dozens - and then hundreds - of programmers from the open source community.The Go Authors went on to produce lots of libraries, new tools, and reams of documentatio...

2,369 0       GOOGLE DEVELOPMENT GO EVOLUTION