oscar-lopez + code   293

INSERT ... VALUES with a single row
How to insert multiple values at the same time. Notice that using this option can give better performance than using batch operations.
jooq  java  sql  databases  lib  orm  performance  optimization  work  amazon  documentation  code  programming  howto  aurora 
9 days ago by oscar-lopez
Using JDBC batch operations
How to insert data in batches. Beware! if you're not careful you'll end up using several queries, make sure to use the single query variant. Notice that using INSERT ... VALUES with multiple rows can give better performance.
jooq  java  sql  databases  lib  orm  performance  optimization  work  amazon  documentation  code  programming  howto  aurora 
9 days ago by oscar-lopez
Lazy Fetching in jOOQ
Instead of using the Seek Method (see my previous bookmark), we'll be using lazy loading to cut on memory consumption and because it's faster. I would use this when we need to read all the results. We have two options:

- fetchSize(int) + fetchLazy(), which returns a Cursor
- fetchSize(int) + fetchStreamInto(Class<E>) which returns a Stream<E>

The second is preferred when using Java 8. Either one requires that we explicitly close the underlying ResultSet using a try-with-resources.

There's a trade-off: the Seek Method uses more memory but frees resources faster and makes a single DB request per batch. On the other hand, lazy loading uses less memory but leaves an open cursor on the underlying DB, and fetches records one-by-one (if you set fetchSize to Integer.MIN_VALUE) or in small chunks. This is useful when result sets are large or if you have a lot of network latency.

VERY IMPORTANT: counter-intuitively, reading records one-by-one is faster than all the other options: cursors with a fetch size >= 1, seek, limit/offset. See the documentation on the MySQL driver.
java  sql  databases  lib  orm  performance  optimization  work  amazon  documentation  code  programming  howto  lazy  streams  jooq 
13 days ago by oscar-lopez
CDK All The Things: A Whirlwind Tour
A quick overview of all CDK things. Interesting points:

- CDK is written in typescript and translated to other languages via jsii
- The CDK provides two levels of constructs: Low and High, with different levels of power/control
- Not every attribute is supported at the High level, but we can always get down to the Low level or use `addPropertyOverride`
- `cdk diff` provides an extremely friendly visualization of code changes
- In the end all the code gets translated to CloudFormation (CF) templates
- We can see the generated template via `cdk synthesize`
- CDK is bound to the same limitations as CF: if CF doesn't provide a feature, CDK won't support it either
- Some CF features are not supported yet
aws  amazon  infrastructure  cloud  architecture  programming  templates  lib  java  python  documentation  work  c#  javascript  cdk  code  examples  api  cloudformation 
14 days ago by oscar-lopez
Faster SQL Pagination with jOOQ Using the Seek Method
SQL LIMIT/OFFSET clauses are slow. They’re slow for a simple reason: in order to reach a high offset from a result set, all previous records have to be skipped and counted.

A much faster alternative is to use the Seek Method, which does not skip records before an OFFSET, but it skips records until the last record previously fetched. This technique is provided by the jOOQ ORM library. I would use this when we're paginating results but we do not intend to read them all.
java  sql  databases  lib  orm  performance  work  amazon  articles  blogs  code  programming  howto  optimization  jooq 
20 days ago by oscar-lopez
A modern load testing tool written in Python, define user behaviour with Python code. Locust supports running load tests distributed over multiple machines, and can therefore be used to simulate millions of simultaneous users. This is simpler to use than TPGenerator, and comes with built-in visualizations.
load  testing  python  code  work  amazon  concurrency  visualization  tools  distributed  scalability  profiling 
4 weeks ago by oscar-lopez
A hands-on session with Google Guice
Practical code example of using Guice, the dependency injection framework
injection  tutorials  java  howto  articles  code  google  lib  programming  oo  tools  framework 
7 weeks ago by oscar-lopez
Project Lombok
Project Lombok is a Java library that automatically plugs into your editor and build tools, spicing up your Java. Never write another getter or equals method again, with one annotation your class has a fully featured builder, Automate your logging variables, and much more.
work  amazon  tools  annotations  java  lib  ide  build  metaprogramming  programming  code 
8 weeks ago by oscar-lopez
Dagger Dependency Injection
Building a dependency object graph via injection is important to achieve Separation of Concerns of construction and use of objects and for simplifying code testing, at the expense of separating behavior from construction. Dagger is one of the frameworks we use at work.
java  lib  oo  injection  work  tools  amazon  programming  code  google  framework 
9 weeks ago by oscar-lopez
Guice Dependency Injection
Building a dependency object graph via injection is important to achieve Separation of Concerns of construction and use of objects and for simplifying code testing, at the expense of separating behavior from construction. Guice is one of the frameworks we use at work.
java  lib  oo  injection  work  tools  amazon  programming  code  google  framework 
9 weeks ago by oscar-lopez
Announcing WebSocket APIs in Amazon API Gateway
Starting today, you can build bidirectional communication applications using WebSocket APIs in Amazon API Gateway using a serverless architecture. This post demonstrates a simple chat using web sockets over API Gateway, with Lambdas and DynamoDB for the backend. So simple!
aws  websockets  javascript  node.js  api  networking  cloud  examples  tutorials  code  serverless  lambda  architecture  articles  reference  chat  nosql 
january 2019 by oscar-lopez
Terraform is a tool for building, changing, and versioning infrastructure safely and efficiently. Terraform can manage existing and popular service providers as well as custom in-house solutions, kinda like what CloudFormation does for AWS.

Configuration files describe to Terraform the components needed to run a single application or your entire datacenter. Terraform generates an execution plan describing what it will do to reach the desired state, and then executes it to build the described infrastructure.

Terraform provides a flexible abstraction of resources and providers. This model allows for representing everything from physical hardware, virtual machines, and containers, to email and DNS providers.
cloud  infrastructure  code  tools  opensource  config  hardware  virtualization  servers  work  tappsi 
august 2017 by oscar-lopez
AlGo was created by, and is maintained by Nyah Check, and it's the Golang implementation of the Data Structures and Algorithms as referred in CLRS.
algorithms  data-structures  code  clrs  implementation  go 
may 2017 by oscar-lopez
A Guide for Upgrading Ruby on Rails
This guide provides steps to be followed when you upgrade your applications to a newer version of Ruby on Rails. These steps are also available in individual release guides
ruby  rubyonrails  install  howto  code  reference  documentation  work  tappsi  apps 
may 2016 by oscar-lopez
A Ruby static code analyzer, based on the community Ruby style guide. Integrates easily with Sublime and RubyMine!
static-analysis  code  tools  ruby  programming  plugin 
may 2016 by oscar-lopez
Gang of Four Patterns in a Functional Light
A four-part series where Mario Fusco implements te classic GoF patterns in a functional style, using lambdas, streams and optionals. Very good reading, a mandatory reference. The patterns implemented were: Command, Strategy, Template, Observer, Decorator, Chain of Responsibility, Interpreter and Visitor.
oo  functional  design  patterns  lambda  j2se8  java  code  implementation  reference 
may 2016 by oscar-lopez
Code Tools: JMH
JMH is a Java harness for building, running, and analysing nano/micro/milli/macro benchmarks written in Java and other languages targetting the JVM.
profiling  tools  analysis  benchmarks  java  jvm  programming  code 
may 2016 by oscar-lopez
Ruby Style Guide
This Ruby style guide recommends best practices so that real-world Ruby programmers can write code that can be maintained by other real-world Ruby programmers.
ruby  reference  syntax  code  howto  documentation 
february 2016 by oscar-lopez
Ruby Tricks, Idiomatic Ruby, Refactorings and Best Practices
This repository aims to help everyone to write a more idiomatic, clean and tricky ruby code and also try to join a bunch of good refactoring techniques
programming  languages  tips  refactoring  ruby  code  reference 
december 2015 by oscar-lopez
Clojure Katas
This project contains a set of problems to help you get your hands dirty with Clojure. I hope we can add more problems and treat this as an ongoing project
clojure  programming  code  snippets  fun  functional  git  reference 
september 2015 by oscar-lopez
How "oldschool" graphics worked
I cover the limitations of color on older 1980's computers and game consoles such as the Nintendo Entertainment System and the Commodore 64.
history  computation  code  graphics  videogames  howto  art  videos  nintendo 
august 2015 by oscar-lopez
Another World source code review
I spent two weeks reading and reverse engineering further the source code of Another World. I based my work on Gregory Montoir's "binary to C++" initial reverse engineering from the DOS executable. I was amazed to discover an elegant system based on a virtual machine interpreting bytecode in realtime and generating fullscreen vectorial cinematic in order to produce one of the best game of all time. All this shipping on a 1.44MB floppy disk and running within 600KB of RAM: Not bad for 1991!
games  videogames  code  history  abandonware  programming  vm  c++  dos 
february 2015 by oscar-lopez
The Man Behind The Curtain
A small number of commercial games do have source code releases. I’ve been meaning for a while to do a round-up of them, so here it is, with links to code reviews!
programming  games  videogames  code  history  opensource  implementation  abandonware 
february 2015 by oscar-lopez
Pgcli is a Python-based command line interface for Postgres with auto-completion and syntax highlighting
python  postgresql  sql  tools  databases  commands  shell  syntax  code  work  tappsi 
january 2015 by oscar-lopez
Perfect Workflow in Sublime Text
I’m a confessed code editor addict, and have tried them all! I was an early adopter of Coda, a TextMate advocate, even a Vim convert. But all of that changed when I discovered Sublime Text 2, the best code editor available today. Don’t believe me? Let me convince you in this course
code  tools  sublime  tutorials  videos  howto  courses  programming  css  html  plugin 
november 2014 by oscar-lopez
Ejemplos y ejercicios - Inicios en Erlang.
Slides for Gabriel's 18/11/2014 presentation of functional programming with Erlang. Nice talk, good beginner-level exercises
functional  programming  erlang  presentations  examples  code 
november 2014 by oscar-lopez
Cheat Sheet: Writing Python 2-3 compatible code
This notebook shows you idioms for writing future-proof code that is compatible with both versions of Python: 2 and 3
python  code  cheatsheet  programming  howto  reference 
august 2014 by oscar-lopez
The Great Poker Hand Evaluator Roundup
This page is a listing of publically available poker hand evaluators, for Hold’em and other games, in C, C++, C#, Java, and other programming languages, with brief descriptions, sample usage, and complete source code. On a nutshell: pick the Two Plus Two evaluator or Cactus Kev’s 5-card evaluator with perfect hash
java  c  c++  c#  games  code  algorithms  comparison  performance  implementation  hashing 
june 2014 by oscar-lopez
StampedLock Idioms
Very good "Java Specialists Newsletter", comparing eight synchronization techniques - from simple synchronized methods to modern locking constructs, using the classic bank account example
concurrency  java  threads  articles  comparison  j2se8  code  howto  locking 
may 2014 by oscar-lopez
10 Most Common Python Mistakes
Python’s simple, easy-to-learn syntax can mislead Python developers – especially those who are newer to the language – into missing some of its subtleties and underestimating the power of the language. With that in mind, this article presents a “top 10” list of somewhat subtle, harder-to-catch mistakes that can bite even the most advanced Python developer in the rear.
python  programming  articles  tips  blogs  debug  howto  reference  code  interview 
may 2014 by oscar-lopez
10 Articles Every Programmer Must Read
I personally think that all programmer can benefit by reading these articles, which makes me write this post and share all of these "What Every Programmer Should Know" articles with you guys
articles  programming  reference  blogs  memory  math  unicode  http  web  webapps  searching  c  java  networking  security  code  tutorials 
may 2014 by oscar-lopez
From Imperative Programming to Fork/Join to Parallel Streams in Java 8
In this article we will compare the performance of different methods to compute the variance of a large data set using: 1. An imperative style 2. The fork/join framework 3. The Streams API
java  j2se8  fork-join  parallel  streams  lambda  functional  programming  code  articles  performance 
march 2014 by oscar-lopez
The next generation: Java concurrency without the pain
An overview of Java's modern high-level constructs for concurrency, including: executors, synchronizers, concurrent collections. It's a multi-part article with plenty of code examples, useful as starting reference
java  threads  articles  concurrency  code  examples  reference 
january 2014 by oscar-lopez
A Great Old-Timey Game-Programming Hack
A long time ago, when I was a college undergrad, I spent some time working on computer video games. This was in the 8-bit PC era, so the gaming hardware was almost impossibly slow by today’s standards. It might not surprise you, then, to learn that, back then, game programmers did all sorts of crazy things to make their games run at playable speeds. Crazy, crazy things. This is a story about one of those things.
assembler  games  videogames  hacking  code  history  howto  blogs  programming 
december 2013 by oscar-lopez
How to Turn Your Pile of Code into an Open Source Project
You’ve written some code, you think it would be useful to the world, and you’d like to give back to the open source world. But how do you do it? An experienced open-source guy provides a checksheet for developers to release an open source project and get it noticed. You can’t just dump stuff on GitHub.
documentation  opensource  code  version-control  howto  cheatsheet 
september 2013 by oscar-lopez
Caliper is Google's open-source framework for writing, running and viewing the results of Java micro benchmarks.
visualization  tools  lib  google  benchmarks  performance  opensource  java  code  framework 
may 2013 by oscar-lopez
Hadoop Illuminated
This book is our experiment in making Hadoop knowledge available to the open source community. The book is freely available, and its code is open source. We want this book to serve as an introduction, as a cookbook, and in later parts as an advanced manual. "Hadoop illuminated" is work in progress. Techniques get added, chapters added and updated. We appreciate your feedback
parallel  books  hadoop  free  tutorials  opensource  code  reference  mapreduce 
march 2013 by oscar-lopez
99 ways to say '(I love you)
In spite of their simplicity, lists often confound new Racket programmers. After lists, the many forms for expressing a computation in Racket take time to discover and then master. To address both of these points, I've created 99 roughly tweet-sized expressions in Racket that all evaluate to the list '(I love you).
love  geek  lambda  programming  functional  code  fun  lisp 
february 2013 by oscar-lopez
Code review of Duke Nukem 3D. Bottom line: ugly, hard to understand, impossible to port. What a shame, thank goodness the article's author created an easier-to-understand-and-port version called Chocolate Duke Nukem 3D.
history  games  articles  programming  c  code  videogames 
february 2013 by oscar-lopez
The Exceptional Beauty of Doom 3’s Source Code
This is a story about Doom 3's source code and how beautiful it is. Yes, beautiful. Allow me to explain.
programming  c  c++  videogames  games  people  code  art  fun  geek  history 
january 2013 by oscar-lopez
Life of an instruction in LLVM
LLVM is a complex piece of software. There are several paths one may take on the quest of understanding how it works, none of which is simple. I recently had to dig in some areas of LLVM I was not previously familiar with, and this article is one of the outcomes of this quest.

What I aim to do here is follow the various incarnations an "instruction" takes when it goes through LLVM’s multiple compilation stages, starting from a syntactic construct in the source language and until being encoded as binary machine code in an output object file.
implementation  code  jit  blogs  howto  languages  cpu  programming  llvm  compilers  assembler  graphs 
december 2012 by oscar-lopez
ROSALIND | Problems
Rosalind is a platform for learning bioinformatics through problem solving. The first problem is easy! Take a look at it to get the hang of how Rosalind works. Rosalind can be used with any programming language.

A cool concept in learning bioinformatics, similar to Project Euler. You are given problems of increasing difficulty to solve. Start with nucleotide counting (trivial) and end with genome assembly (putting it mildly, not so trivial). To solve a problem, you download a sample data set, write your code and debug it
algorithms  genetic  biology  programming  contest  code 
october 2012 by oscar-lopez
Fast Non-Standard Data Structures for Python
An overview of external lesser known packages with fast C/C++ based data structures usable from Python. Includes bloom filters, specialized lists, tries and all sorts of trees.
algorithms  reference  optimization  performance  lib  api  implementation  code  c++  c  data-structures  python 
september 2012 by oscar-lopez
Doom 3 Source Code Review
On November 23, 2011 id Software maintained the tradition and released the source code of their previous engine. This time is was the turn of idTech4 which powered Prey, Quake 4 and of course Doom 3. Within hours the GitHub repository was forked more than 400 times and people started to look at the game internal mechanisms/port the engine on other platforms. I also jumped on it and promptly completed the Mac OS X Intel version which John Carmack kindly advertised.

In terms of clarity and comments this is the best code release from id Software after Doom iPhone codebase (which is more recent and hence better commented). I highly recommend everybody to read, build and experiment with it
git  c++  architecture  documentation  games  compilers  howto  osx  mac  code  implementation  videogames 
june 2012 by oscar-lopez
Improving your code with modern Python idioms
Once you have ported to Python 3 you have a chance to use the newer features of Python to improve your code. Many of the things mentioned in this chapter are in fact possible to do even before porting, as they are supported even by quite old versions of Python.

Including: sorted(), context managers, string formatting, class decorators, set literals, yield/generators, set and dict comprehensions, abstract base classes, multiprocessing, numbers and fractions
reference  code  howto  tips  syntax  languages  programming  python 
may 2012 by oscar-lopez
Prince of Persia Source Code Released
The amazing story of how Prince of Persia's original source code was recovered. It involves Jordan Mechner (of course!), a bunch of hackers, vintage hardware, custom-made hardware, a digital archaeologist and a copy party. Thanks goodness, the source was restored and a piece of gaming history will live on forever
people  programming  assembler  code  history  games  videogames 
april 2012 by oscar-lopez
Basics of Computational Number Theory
This document is a gentle introduction to computational number theory. The plan of the paper is to first give a quick overview of arithmetic in the modular integers. Throughout, we will emphasize computation and practical results rather than delving into the why. Simple programs, generally in JavaScript, are available for all of the algorithms mentioned
implementation  code  javascript  factor  reference  algorithms  primes  gcd  computation  math  cs 
april 2012 by oscar-lopez
JavaScript game of Tron in 219 bytes
With some coworkers, we challenged each other to write the smallest possible game of tron in javascript (an exercice known as javascript golfing). This page explains our final version (219 bytes)
implementation  fun  geek  programming  code  hacking  videogames  javascript 
april 2012 by oscar-lopez
From Java code to Java heap
Understanding and optimizing your application's memory usage. This article gives you insight into the memory usage of Java code, covering the memory overhead of putting an int value into an Integer object, the cost of object delegation, and the memory efficiency of the different collection types. You'll learn how to determine where inefficiencies occur in your application and how to choose the right collections to improve your code
comparison  data-structures  performance  programming  code  articles  optimization  gc  memory  profiling  java 
march 2012 by oscar-lopez
Tetris In 140 Bytes
Is it possible to write a program in no more than a tweet's length? A website called 140byt.es says it is and has an implementation of Tetris to prove it!
howto  code  geek  fun  javascript  twitter  implementation  videogames  tetris 
february 2012 by oscar-lopez
A Regular Expression Matcher
Code by Rob Pike
Exegesis by Brian Kernighan

Beautiful code is likely to be simple -- clear and easy to understand. Beautitful code is likely to be compact -- just enough code to do the job and no more -- but not cryptic, to the point where it cannot be understood. Beautiful code may well be general, solving a broad class of problems in a uniform way. One might even describe it as elegant, showing good taste and refinement.

In this chapter I will describe a piece of beautiful code, for matching regular expressions that meets all of these criteria.
tools  unix  howto  implementation  fsm  programming  code  c  regexp 
february 2012 by oscar-lopez
Java 7: How to write really fast Java code
A simple case of study, determining why ThreadLocalRandom is faster than Math.random(), turns into a very interesting exercise showing all the tools needed for analyzing performance at a very low level in Java.
java  j2se7  performance  optimization  benchmarks  tools  bytecode  jvm  memory  code  threads  random  compilers  jit  analysis 
february 2012 by oscar-lopez
Porting MAME to Native Client
This article describes our experience porting Multiple Arcade Machine Emulator (MAME), an emulator for a large number of classic arcade games, to Native Client. We discuss a number of topics in detail, such as our overall porting strategy, how we dealt with newlib incompatibilities, and how we handled binaries that are built and run as part of the build process. We do not discuss topics such as how to load resources in Native Client or how to port SDL games to Native Client (the articles listed in the Links section cover those topics)
graphics  browsers  howto  nacl  videogames  implementation  code  chrome  google  c  arcade  emulation 
january 2012 by oscar-lopez
pep8 is a tool to check your Python code against some of the style conventions in PEP 8 Style Guide for Python Code. Now supported directly from PyDev!
dynamic  scripting  code  programming  eclipse  plugin  tools  python 
december 2011 by oscar-lopez
Java Native Access
JNA provides Java programs easy access to native shared libraries (DLLs on Windows) without writing anything but Java code—no JNI or native code is required. This functionality is comparable to Windows' Platform/Invoke and Python's ctypes. Access is dynamic at runtime without code generation.

JNA allows you to call directly into native functions using natural Java method invocation. The Java call looks just like it does in native code. Most calls require no special handling or configuration; no boilerplate or generated code is required.
java  c  code  lib  tools  opensource 
december 2011 by oscar-lopez
A turing machine in 133 bytes of javascript
The fact it took me 20 lines of javascript to implement a nondeterministic turing machine simulatorlast week kept me up at night. And here it is!

function tm(I,t,e,s,i,c,k) {i=0;while(s!=e){c=t[i];k=(c)?I[s][c]:I[s].B;if(!k)return false;t.splice(i,1,k.w);i+=k.m;s=k.n;}return t;}
javascript  computation  code  geek  programming  turing  formal  logic  math 
december 2011 by oscar-lopez
Useful One-Line Scripts for Perl
These one-liners work both on UNIX systems and Windows. Most likely your UNIX system already has Perl. Categories:

1. File Spacing
2. Line Numbering
3. Calculations
4. String Creation and Array Creation
5. Text Conversion and Substitution
6. Selective Printing and Deleting of Certain Lines
7. Handy Regular Expressions
8. Perl tricks
perl  scripting  code  examples  programming  implementation  snippets  commands  linux  unix  shell  howto  reference 
november 2011 by oscar-lopez
7 lines of code, 3 minutes: Implement a programming language
The easiest programming language to implement is a minimalist, higher-order functional programming language known as the lambda calculus
programming  languages  scheme  lisp  interpreters  design  implementation  lambda  howto  articles  functional  code  sicp 
november 2011 by oscar-lopez
Manipulate collections in a pseudo-functional and statically typed way. An internal DSL to manipulate collections without loops.
lib  dsl  functional  lambda  opensource  code  types  java  programming 
october 2011 by oscar-lopez
ACK Documentation
Ack is designed as a replacement for 99% of the uses of grep.

Ack searches the named input FILEs (or standard input if no files are named, or the file name - is given) for lines containing a match to the given PATTERN. By default, ack prints the matching lines.

Ack can also list files that would be searched, without actually searching them, to let you take advantage of ack's file-type filtering capabilities.
ack  shell  tools  perl  commands  regexp  programming  searching  code  documentation 
october 2011 by oscar-lopez
@ToString Annotation
No need to start a debugger to see your fields: Just let @ToString generate a toString() for you! Any class definition may be annotated with @ToString to generate an implementation of the toString() method. By default, it'll print your class name, along with each field, in order, separated by commas
java  metaprogramming  tools  lib  opensource  code  annotations 
october 2011 by oscar-lopez
Optimized TSP Algorithm in Java
Simple exact TSP solver implemented in Java, based on branch-and-bound / Held-Karp. Good for about tens of nodes (> 30?)
tsp  implementation  java  code  algorithms  graphs 
october 2011 by oscar-lopez
JRebel is a small JVM-plugin that makes it possible for Java developers to instantly see any code change made to an app without redeploying. JRebel lets you see code changes instantly, versioning classes and resources individually and updating one at a time instead of as a lump application redeploy. When developers make a change to any class or resource in their IDE, the change is immediately reflected in the deployed application, skipping the build and redeploy phases
tools  java  jee5  servers  deploy  code  jvm  plugin 
october 2011 by oscar-lopez
Arquillian provides a easy mechanism to test your application code inside a remote or embedded container or by interacting as a client of the container
java  testing  framework  jboss  jee5  integration  code  tools  opensource  embedded 
october 2011 by oscar-lopez
The Algorithm Design Manual: Solutions for selected exercises/problems
The Wiki is an experiment, a grass-roots effort to create an answer key to aid self-study with Steven Skiena's The Algorithm Design Manual. Students and other readers are encouraged to contribute hints and answers to all odd numbered problems in the book, or expand/improve the solution contributed by others
books  algorithms  code  examples  reference  cheatsheet  implementation  wiki  programming 
october 2011 by oscar-lopez
Evolutionary Algorithm: Evolving "Hello, World!"
So, how does an Evolutionary Algorithm work? Why, the same as normal biological evolution, mostly! There is nothing stopping us from using the same technique to evolve things towards goals set by a programmer.
algorithms  programming  genetic  ai  python  howto  code  examples  biology 
october 2011 by oscar-lopez
Rosetta Code
Rosetta Code is a programming chrestomathy site. The idea is to present solutions to the same task in as many different languages as possible, to demonstrate how languages are similar and different, and to aid a person with a grounding in one approach to a problem in learning another
programming  code  implementation  algorithms  data-structures  languages  reference  wiki  howto  comparison  dynamic 
september 2011 by oscar-lopez
Will It Optimize?
See how well you know (or can anticipate) gcc's optimizer. For each question, the left box contains some code, while the right box contains code that purports to do the same thing, but that illustrates a particular optimization. Will gcc apply that optimization? Put another way, will the code on the left be as fast as the code on the right, when compiled with an optimizing gcc?
compilers  optimization  comparison  code  tips  recursion  c  c++  blogs  articles 
september 2011 by oscar-lopez
UVa - Algorithmist
A bunch of sites with resources and solutions for UVa's problems
programming  contest  uva  algorithms  cheatsheet  code  implementation 
september 2011 by oscar-lopez
Top Ten Most Influential Programming Books of All Time
If you could go back in time and tell yourself to read a specific book at the beginning of your career as a developer, which book would it be?
books  programming  mit  sicp  clrs  comparison  reference  c  refactoring  code  design  patterns  compilers  people 
september 2011 by oscar-lopez
Deriving the Y-Combinator
In this post I'll derive the Y-combinator and explain all the steps taken. The key to understanding the Y-combinator is knowing precisely what it does. The Y-combinator allows an anonymous function to call itself, that is, it allows anonymous function recursion. Since anonymous functions don't have names, they can't refer to themselves easily. The Y-combinator is a clever construct helps them to refer to themselves
scheme  functional  lambda  cs  math  code  lisp  programming  concepts  blogs  howto  articles 
september 2011 by oscar-lopez
UVA toolkit
Problem database, hints and solver for UVA's programming exercises
uva  programming  contest  tools  algorithms  code  math  graphs  dynamic  data-structures  sorting  geometry  tips  probability  simulation 
september 2011 by oscar-lopez
A look at Java 7's new features
There are a number of features in Java 7 that will please developers. Things such as strings in switch statements, multi-catch exception handling, try-with-resource statements, the new File System API, extensions of the JVM, support for dynamically-typed languages, the fork and join framework for task parallelism, and a few others will certainly be embraced by the community
java  j2se7  syntax  code  constructs  threads  api  jvm  dynamic  parallel 
september 2011 by oscar-lopez
1001 algoritmos para implementar antes de morrer
Vamos reunir 1001 implementações de algoritmos em um livro digital interativo (e talvez impresso) que servirá principalmente de aprendizado para quem colaborar e guia/referência para jovens aspirantes a programadores. Do Bozosort ao crivo de Eratóstenes, teremos de tudo!
algorithms  implementation  python  code  books  data-structures  reference  portuguese 
september 2011 by oscar-lopez
Sphere Online Judge (SPOJ)
Programming challenges with code submissions in over 44 programming languages, good for practicing!
programming  contest  algorithms  code  math 
september 2011 by oscar-lopez
How Browsers Work
Behind the scenes of modern web browsers. This comprehensive primer on the internal operations of WebKit and Gecko is the result of much research done by Israeli developer Tali Garsiel. Over a few years, she reviewed all the published data about browser internals and spent a lot of time reading web browser source code
howto  implementation  web  browsers  code  articles  html  reference  programming  c++  parsers  lexers  javascript  css  firefox  safari  chrome 
august 2011 by oscar-lopez
Real World Haskell
This is the online home of the book “Real World Haskell”. It is published by O'Reilly Media
programming  reference  languages  haskell  free  books  functional  documentation  cs  code  howto 
august 2011 by oscar-lopez
JD-Eclipse | Java Decompiler
JD-Eclipse is a plug-in for the Eclipse platform. It allows you to display all the Java sources during your debugging process, even if you do not have them all
java  compilers  eclipse  plugin  tools  programming  debug  code 
august 2011 by oscar-lopez
« earlier      
per page:    204080120160

related tags

abandonware  ack  admin  agile  ai  ajax  algorithms  amazon  analysis  annotations  antlr  aop  api  apple  apps  arcade  architecture  art  articles  asp  assembler  assessment  attacks  audit  aurora  authentication  aws  backtracking  backup  bash  benchmarks  biology  bittorrent  blogs  bookmarks  books  browsers  build  business  bytecode  c  c#  c++  cache  caml  cdk  chat  cheatsheet  chrome  clojure  cloud  cloudformation  clrs  code  combinatorics  commands  comparison  compilers  complexity  compression  computation  concepts  concurrency  config  constraints  constructs  contest  continuations  coq  correctness  courses  cps  cpu  cracking  cs  css  cuda  cvs  data-structures  databases  datamining  debug  demo  deploy  design  distributed  documentation  dos  dropbox  dsl  dynamic  eclipse  education  ejb  electronics  email  embedded  emulation  encoding  encyclopedias  erlang  examples  extensions  facebook  factor  faq  firefox  flash  fork-join  formal  forth  fortran  fortress  forums  framework  free  french  fsm  fun  functional  gameboy  games  gc  gcd  geek  generative  generators  generic  genetic  geometry  git  go  google  gpu  grammar  graphics  graphs  groovy  gui  gwt  hacking  hadoop  hardware  hashing  haskell  heinsohn  hibernate  history  howto  html  html5  http  icfp  ide  ie  implementation  inference  infrastructure  injection  install  integration  internet  interpreters  interview  ios  iphone  ipsc  j2ee  j2se6  j2se7  j2se8  java  javascript  jboss  jee5  jit  jooq  jpa  jquery  jsf  json  jvm  kernel  knapsack  lambda  languages  lazy  ldap  lexers  lib  linq  linux  lisp  little-languages  llvm  load  locking  logic  love  mac  machine-learning  management  mapreduce  math  mathematica  matlab  matrix  maven  media:document  memory  mercurial  metaprogramming  methodologies  microsoft  mit  mixins  modeling  music  mysql  nacl  natural-language  networking  news  nintendo  node.js  non-blocking  nosql  np  objective-c  ocaml  oid  oo  opensource  optimization  oracle  orm  os  osx  owasp  pacman  papers  parallel  parsers  pascal  patterns  pdf  people  performance  perl  persistence  php  physics  pl  plugin  portals  portuguese  postgresql  presentations  primes  privacy  probability  profiling  programming  prolog  proof  prototype  puzzle  pypy  python  rad  random  recursion  refactoring  reference  regexp  relational  research  rss  ruby  rubyonrails  safari  scalability  scheme  scripting  searching  security  serverless  servers  shell  sicp  simulation  smalltalk  snippets  social  software  sorting  sql  sql-injection  sqlserver  sso  static-analysis  streams  sublime  sudoku  svn  syntax  tail  tappsi  teaching  templates  testing  tetris  text-processing  threads  tips  tools  traits  trampolining  tsp  tuning  turing  tutorials  twiddling  twitter  types  uml  uniandes  unicode  unix  usability  utf8  uva  validation  verification  version-control  videogames  videos  virtualization  visualization  vm  web  web2.0  webapps  websockets  wiki  windows  work  xml  xss  yahoo  yui 

Copy this bookmark: