Anarchism for Fun and Profit
2 days ago
Knowledge workers need to play and enjoy their work.
creativity
work
play
2 days ago
racker/node-elementtree · GitHub
22 days ago
node-elementtree is a Node.js XML parser and serializer based upon the Python ElementTree v1.3 module.
javascript
library
22 days ago
Growl for Windows
23 days ago
Growl lets you know when things happen. Files finished downloading, friends came online, new email has arrived - Growl can let you know when any event occurs with a subtle notification. The rest of the time, Growl stays out of your way.
Along with letting you know when things happen, Growl also gives you full control over how you are notified and what action (if any) you want to take in response to the notification. You can choose to be alerted with a visual indicator or an audible alert, both, or neither. You can choose the type of display that is shown, whether the display remains on the screen, the importance of the notification, and even if the notification should be forwarded to another computer. You can have notifications that trigger an email, run a script, launch a program, or are read out loud.
software
windows
utilities
Along with letting you know when things happen, Growl also gives you full control over how you are notified and what action (if any) you want to take in response to the notification. You can choose to be alerted with a visual indicator or an audible alert, both, or neither. You can choose the type of display that is shown, whether the display remains on the screen, the importance of the notification, and even if the notification should be forwarded to another computer. You can have notifications that trigger an email, run a script, launch a program, or are read out loud.
23 days ago
Getting the closest string match - Stack Overflow
28 days ago
Fuzzy String Matching is the process of performing a human-like estimation of the similarity of two words or phrases. In many cases, it involves identifying words or phrases which are most similar to each other. This article describes an in-house solution to the fuzzy string matching problem and its usefulness in solving a variety of problems which can allow us to automate tasks which previously required tedious user involvement.
algorithm
development
28 days ago
If money doesn't make you happy, then you probably aren't spending it right
28 days ago
The relationship between money and happiness is surprisingly weak, which may stem in part from the way people spend it. Drawing on
empirical research, we propose eight principles designed to help consumers get more happiness for their money. Specifically, we suggest that
consumers should (1) buy more experiences and fewer material goods; (2) use their money to benefit others rather than themselves; (3) buy many
small pleasures rather than fewer large ones; (4) eschew extended warranties and other forms of overpriced insurance; (5) delay consumption;
(6) consider how peripheral features of their purchases may affect their day-to-day lives; (7) beware of comparison shopping; and (8) pay close
attention to the happiness of others.
psychology
happiness
life
empirical research, we propose eight principles designed to help consumers get more happiness for their money. Specifically, we suggest that
consumers should (1) buy more experiences and fewer material goods; (2) use their money to benefit others rather than themselves; (3) buy many
small pleasures rather than fewer large ones; (4) eschew extended warranties and other forms of overpriced insurance; (5) delay consumption;
(6) consider how peripheral features of their purchases may affect their day-to-day lives; (7) beware of comparison shopping; and (8) pay close
attention to the happiness of others.
28 days ago
A Game of Dwarves - Paradox Interactive
4 weeks ago
The gameplay consists of ordering the inhabitants of a dwarven settlement to dig, build and conduct research in order to strengthen the clan, whilst defending themselves from the terrible beasts from the depths into which they delve. The game generates a unique world each time a new level starts, making sure that the player needs to dynamically adapt their strategies and tactics during a session.
As the player advances, the dwarves will level up and gain new skills, progressing from weak dwarflings to near immortal warriors or master craftsmen. There are also rare resources to be found deeper in the earth that grant access to better buildings and equipment. However, the deeper you dig the more dangerous foes you might unleash…
games
toplay
As the player advances, the dwarves will level up and gain new skills, progressing from weak dwarflings to near immortal warriors or master craftsmen. There are also rare resources to be found deeper in the earth that grant access to better buildings and equipment. However, the deeper you dig the more dangerous foes you might unleash…
4 weeks ago
SteamTool Library Manager 1.1 - Stefan Jones
4 weeks ago
Have you run out of space to install games within Steam? Would you like to install some of your games to another hard drive or solid-state drive?
With SteamTool, you can install the games in your Steam Library across more than one hard drive. Games on the second hard drive will continue to play, download and update as normal, because Steam is still able to access them using their original folder names.
software
windows
utilities
With SteamTool, you can install the games in your Steam Library across more than one hard drive. Games on the second hard drive will continue to play, download and update as normal, because Steam is still able to access them using their original folder names.
4 weeks ago
Raphaël—JavaScript Library
4 weeks ago
Raphaël is a small JavaScript library that should simplify your work with vector graphics on the web. If you want to create your own specific chart or image crop and rotate widget, for example, you can achieve it simply and easily with this library.
graphics
javascript
library
4 weeks ago
Yahoo! Smush.it™
5 weeks ago
Smush.it uses optimization techniques specific to image format to remove unnecessary bytes from image files. It is a "lossless" tool, which means it optimizes the images without changing their look or visual quality. After Smush.it runs on a web page it reports how many bytes would be saved by optimizing the page's images and provides a downloadable zip file with the minimized image files.
compression
optimization
5 weeks ago
PathFinding.js
5 weeks ago
visual demonstration of various pathfinding algorithms
algorithm
javascript
pathfinding
programming
5 weeks ago
Polygonal Map Generation for Games
5 weeks ago
I wanted to generate interesting game maps that weren’t constrained to be realistic, and I wanted to try some techniques I hadn’t tried before. I usually make tile maps but this time I decided to make polygonal maps. Instead of 1,000,000 tiles, what could I do with 1,000 polygons? I think the distinct player-recognizable areas might be useful for gameplay: locations of towns, places to quest, territory to conquer or settle, pathfinding waypoints, difficulty zones, etc. Once I have the polygons I can rasterize it back to tiles (or voxels), but I wanted to first generate the structure.
games
map
programming
5 weeks ago
How to Design a Good API and Why it Matters
6 weeks ago
Why is API Design Important?
• APIs can be among a company's greatest assets
_ Customers invest heavily: buying, writing, learning
_ Cost to stop using an API can be prohibitive
_ Successful public APIs capture customers
• Can also be among company's greatest liabilities
_ Bad APIs result in unending stream of support calls
• Public APIs are forever - one chance to get it right
api
design
programming
• APIs can be among a company's greatest assets
_ Customers invest heavily: buying, writing, learning
_ Cost to stop using an API can be prohibitive
_ Successful public APIs capture customers
• Can also be among company's greatest liabilities
_ Bad APIs result in unending stream of support calls
• Public APIs are forever - one chance to get it right
6 weeks ago
How Browser Market Share is Calculated
6 weeks ago
How market share is calculated
When you visit a website, every file request (hit) is logged and your browser is identified from the user agent string passed in the HTTP header. Essentially, if 50% of hit requests are from browserX during period P, it has a 50% market share at that time.
The reality is a little more complex. File hits can be ambiguous because different browsers can download different resources, e.g. IE conditional stylesheets or pre-caching linked pages. Therefore, systems may only analyze the actual page view or make other adjustments.
The next important consideration is the sample size — how many sites and hits are analyzed. There’s no such thing as an “average” website:
SitePoint.com has a technical audience so Firefox and Chrome usage is higher than others.
the audience’s country has an impact, i.e. Opera is more popular in Europe and Russia than the US
the day and time affect usage patterns. For example, IE use is normally higher during weekday office hours than evenings or weekends.
Statistical anomalies reduce if you analyze a wide range of websites from many different countries. In essence, more data results in more accurate browser usage figures. StatCounter analyzes traffic from 3 million websites throughout the world — that appears to be a healthy sample size.
browser
When you visit a website, every file request (hit) is logged and your browser is identified from the user agent string passed in the HTTP header. Essentially, if 50% of hit requests are from browserX during period P, it has a 50% market share at that time.
The reality is a little more complex. File hits can be ambiguous because different browsers can download different resources, e.g. IE conditional stylesheets or pre-caching linked pages. Therefore, systems may only analyze the actual page view or make other adjustments.
The next important consideration is the sample size — how many sites and hits are analyzed. There’s no such thing as an “average” website:
SitePoint.com has a technical audience so Firefox and Chrome usage is higher than others.
the audience’s country has an impact, i.e. Opera is more popular in Europe and Russia than the US
the day and time affect usage patterns. For example, IE use is normally higher during weekday office hours than evenings or weekends.
Statistical anomalies reduce if you analyze a wide range of websites from many different countries. In essence, more data results in more accurate browser usage figures. StatCounter analyzes traffic from 3 million websites throughout the world — that appears to be a healthy sample size.
6 weeks ago
#AltDevBlogADay » The demise of the low level Programmer.
7 weeks ago
So here goes… a list of things I believe all console programmers (and recommend to all programmers as good reading) should fully understand with links to educate where possible. (feel free to suggest more/better links)
Floating Point Numbers
They are very useful but often used in situations where they simply don’t suit the solution the programmer is attempting to write. The following links should provide some background and info on where they are not so useful, what the pitfalls are and sometimes even how to avoid them.
http://www.cprogramming.com/tutorial.html#fptutorial
http://www.johndcook.com/blog/2009/04/06/numbers-are-a-leaky-abstraction/
http://www.codeproject.com/KB/recipes/float_point.aspx
http://drdobbs.com/184402741?pgno=4
http://users.tkk.fi/jhi/infnan.html
Fixed Point Numbers
Fixed point math is mildly old school but it is VERY useful both to understand its makeup and to use. Sadly because it is considered old school many of the online sources are out of date.
http://x86asm.net/articles/fixed-point-arithmetic-and-tricks/
http://gameprogrammer.com/4-fixed.html
Processor Cache Behavior / Memory
http://www.akkadia.org/drepper/cpumemory.pdf
http://en.wikipedia.org/wiki/CPU_cache
http://igoro.com/archive/gallery-of-processor-cache-effects/
Bit Shifting
http://www.cprogramming.com/tutorial/bitwise_operators.html
useful hacks (use carefully)
http://graphics.stanford.edu/~seander/bithacks.html
http://stackoverflow.com/questions/539836/emulating-variable-bit-shift-using-only-constant-shifts
http://guru.multimedia.cx/avoiding-branchesifconditionals/
Branch Prediction
This may be lower level that people think they need to go… but they’d be wrong. Understanding how the hardware you’re programming for treats branches can affect performance to a HUGE degree… far more than most programmers may appreciate re: death by a thousand cuts
http://cellperformance.beyond3d.com/articles/2006/04/background-on-branching.html
http://igoro.com/archive/fast-and-slow-if-statements-branch-prediction-in-modern-processors/
http://www.k8gu.com/ece.umn.edu/documents/classes/ece362-branch-prediction.pdf
http://www.cs.ucr.edu/~gupta/teaching/203A-09/My6.pdf
Sorting
This isn’t really low-level but something i consider “basic” and its an area where many programmers are simply lacking in understanding. Do yourself a favor and play around with this link, read the links it sends you to for each algorithm and try to grasp when each might be used, the properties as described and the next time you need to sort something… consult it.
http://www.sorting-algorithms.com/
another good link with sub links: http://corte.si//posts/code/visualisingsorting/index.html
a funny one (but still strangely useful), the bubble sort dance: http://www.youtube.com/watch?v=lyZQPjUT5B4
programming
reference
Floating Point Numbers
They are very useful but often used in situations where they simply don’t suit the solution the programmer is attempting to write. The following links should provide some background and info on where they are not so useful, what the pitfalls are and sometimes even how to avoid them.
http://www.cprogramming.com/tutorial.html#fptutorial
http://www.johndcook.com/blog/2009/04/06/numbers-are-a-leaky-abstraction/
http://www.codeproject.com/KB/recipes/float_point.aspx
http://drdobbs.com/184402741?pgno=4
http://users.tkk.fi/jhi/infnan.html
Fixed Point Numbers
Fixed point math is mildly old school but it is VERY useful both to understand its makeup and to use. Sadly because it is considered old school many of the online sources are out of date.
http://x86asm.net/articles/fixed-point-arithmetic-and-tricks/
http://gameprogrammer.com/4-fixed.html
Processor Cache Behavior / Memory
http://www.akkadia.org/drepper/cpumemory.pdf
http://en.wikipedia.org/wiki/CPU_cache
http://igoro.com/archive/gallery-of-processor-cache-effects/
Bit Shifting
http://www.cprogramming.com/tutorial/bitwise_operators.html
useful hacks (use carefully)
http://graphics.stanford.edu/~seander/bithacks.html
http://stackoverflow.com/questions/539836/emulating-variable-bit-shift-using-only-constant-shifts
http://guru.multimedia.cx/avoiding-branchesifconditionals/
Branch Prediction
This may be lower level that people think they need to go… but they’d be wrong. Understanding how the hardware you’re programming for treats branches can affect performance to a HUGE degree… far more than most programmers may appreciate re: death by a thousand cuts
http://cellperformance.beyond3d.com/articles/2006/04/background-on-branching.html
http://igoro.com/archive/fast-and-slow-if-statements-branch-prediction-in-modern-processors/
http://www.k8gu.com/ece.umn.edu/documents/classes/ece362-branch-prediction.pdf
http://www.cs.ucr.edu/~gupta/teaching/203A-09/My6.pdf
Sorting
This isn’t really low-level but something i consider “basic” and its an area where many programmers are simply lacking in understanding. Do yourself a favor and play around with this link, read the links it sends you to for each algorithm and try to grasp when each might be used, the properties as described and the next time you need to sort something… consult it.
http://www.sorting-algorithms.com/
another good link with sub links: http://corte.si//posts/code/visualisingsorting/index.html
a funny one (but still strangely useful), the bubble sort dance: http://www.youtube.com/watch?v=lyZQPjUT5B4
7 weeks ago
[ANN] Lua 5.2.1 (work1) now available
9 weeks ago
Don't fall into the premature optimization trap. Whatever code you
envision that might benefit from ropes is simply uncommon. But all
of your code will pay the price of managing linked, shared and
reference-counted data structures as well as iterating over trees
all the time. This is very cache-inefficient, pointer-chasing has
a high latency, your CPU hardware prefetcher doesn't handle this
very well, you pay a high cost for creation _and_ destruction, and
so on. Modern CPUs are crazy beasts and linear data structures
very often beat elaborate data structures, even for medium-sized
use cases.
lua
datastructures
performance
envision that might benefit from ropes is simply uncommon. But all
of your code will pay the price of managing linked, shared and
reference-counted data structures as well as iterating over trees
all the time. This is very cache-inefficient, pointer-chasing has
a high latency, your CPU hardware prefetcher doesn't handle this
very well, you pay a high cost for creation _and_ destruction, and
so on. Modern CPUs are crazy beasts and linear data structures
very often beat elaborate data structures, even for medium-sized
use cases.
9 weeks ago
Stabyourself.net - Mari0
9 weeks ago
Two genre defining games from completely different eras: Nintendo's Super Mario Bros. and Valve's Portal. These two games managed to give Platformers and First-Person Puzzle Games a solid place in the video game world. But what if Nintendo teamed up with Valve and recreated the famous Mario game with Portal gun mechanics?
game
toplay
9 weeks ago
Kicksend/mailcheck · GitHub
10 weeks ago
mailcheck.js
A jQuery plugin that suggests a right domain when your users misspell it in an email address.
email
javascript
jquery
A jQuery plugin that suggests a right domain when your users misspell it in an email address.
10 weeks ago
CS61A, Spring 2012 Online Textbook
10 weeks ago
This book is derived from the classic textbook Structure and Interpretation of Computer Programs by Abelson, Abelson, and Sussman. John Denero originally modified if for Python for the Fall 2011 semester. It is licensed under the Creative Commons Attribution-ShareAlike 3.0 license.
programming
python
sicp
10 weeks ago
TASSEL | Free Science & Engineering software downloads at SourceForge.net
10 weeks ago
TASSEL is a bioinformatics software package that can analyze diversity for sequences, SNPs, or SSRs. Genotype/phenotype associations can be carried out by GLM or a mixed model. Estimates distance and linkage disequilibrium statistics.
development
coding
high-performance
10 weeks ago
Wasteland 2 by inXile entertainment — Kickstarter
11 weeks ago
Wasteland 2 is the direct sequel to the first ever post-apocalyptic computer RPG. The original Wasteland was the inspiration for the FALLOUT series of games, and the first RPG to allow players to split parties for tactical considerations, to face players with moral choices, and to make them deal with the consequences of their actions. It was the first to provide far more than the one-key-for-one-lock style of puzzle solving. It was groundbreaking, which is why IGN named it one of the top 25 PC games of all time, Computer Gaming World named it the Adventure Game of the year in 1988, and it was short-listed for inclusion in the Smithsonian Institution’s current “Art of the Computer Game” exhibition.
games
11 weeks ago
ChiperSoft/Kalendae · GitHub
12 weeks ago
Kalendae - A framework agnostic javascript date picker
Kalendae is an attempt to do something that nobody has yet been able to do: make a date picker that doesn't suck. Kalendae provides the following features:
Fully portable, no dependencies. No jQuery, no Prototype, no MooTools; just add the script and the stylesheet and you're good to go.
Fully and easily skinable. The default theme uses only one image file (a mask for the previous and next buttons), everything else is styled using CSS.
Supports all modern browsers and IE8.
Support single day, multiple day, or day range selection.
Configurable number of months to be displayed at once.
Can be displayed on the page as an inline widget, or attached to one or more input fields as a popup control.
Can be attached to any page element, not just named elements.
Configurable blackouts, defined either as an array of dates or via a callback function
Output selected dates in a variety of formats
Leverages moment.js for smart and easy date parsing.
date
javascript
Kalendae is an attempt to do something that nobody has yet been able to do: make a date picker that doesn't suck. Kalendae provides the following features:
Fully portable, no dependencies. No jQuery, no Prototype, no MooTools; just add the script and the stylesheet and you're good to go.
Fully and easily skinable. The default theme uses only one image file (a mask for the previous and next buttons), everything else is styled using CSS.
Supports all modern browsers and IE8.
Support single day, multiple day, or day range selection.
Configurable number of months to be displayed at once.
Can be displayed on the page as an inline widget, or attached to one or more input fields as a popup control.
Can be attached to any page element, not just named elements.
Configurable blackouts, defined either as an array of dates or via a callback function
Output selected dates in a variety of formats
Leverages moment.js for smart and easy date parsing.
12 weeks ago
Brendan's blog » The USE Method
february 2012
A serious performance issue arises, and you suspect it’s caused by the server. What do you check first? Back when I was teaching operating system performance, I wanted a methodology my students could follow to find common issues quickly, without overlooking important areas. Like an emergency checklist in a flight manual, it would be something simple, straightforward, complete and fast. I eventually came up with the “USE” method (short for “Utilization Saturation and Errors”), which I’ve used many times successfully in enterprise environments, and more recently in cloud computing environments.
The goal of USE is to complete a quick check of server health, identifying resource bottlenecks. It provides a way to construct your own checklist, based on three metric types and a strategy for approaching a complex system. I find it solves about 80% of server issues with 5% of the effort, and, as I will demonstrate, it can be applied to systems other than servers.
analysis
performance
troubleshooting
The goal of USE is to complete a quick check of server health, identifying resource bottlenecks. It provides a way to construct your own checklist, based on three metric types and a strategy for approaching a complex system. I find it solves about 80% of server issues with 5% of the effort, and, as I will demonstrate, it can be applied to systems other than servers.
february 2012
Unison File Synchronizer
february 2012
Unison is a file-synchronization tool for Unix and Windows. It allows two replicas of a collection of files and directories to be stored on different hosts (or different disks on the same host), modified separately, and then brought up to date by propagating the changes in each replica to the other.
software
utility
february 2012
2d
3d
ai
ajax
algorithm
algorithms
analysis
android
animation
antenna
antipatterns
api
architecture
asp.net
asp.net_mvc
async
asynchronous
audio
automation
avi
batchfile
behavior
benchmark
bestof
biology
blogging
book
books
browser
business
c
C#
c++
car
chart
charts
classics
clojure
code
codec
coding
coffeescript
color
comics
command-line
commandline
comparison
compiler
compression
computer
Computers
concurrency
configuration
controls
convert
cooking
cool
cpu
creativity
css
css3
csv
culture
data
database
datastructures
date
datetime
debt
design
designpatterns
desk
dev
development
diagnostics
diagram
diagrams
directx
diy
django
documentation
dragdrop
dragon-age
droid
dropbox
ebook
ecommerce
economics
editor
education
electronics
email
embedded
encoding
entrepreneurship
ergonomics
excel
explorer
f#
ffmpeg
fiction
files
filesystem
finance
flash
folder
font
fonts
food
framework
free
fsharp
fulltext
functional
furniture
gadgets
game
gamedev
games
gaming
gmail
google
gpu
graph
graphics
graphs
grid
guide
hack
hacks
hardware
hdtv
headphones
health
hg
history
howto
html
html5
htpc
http
humor
icon
icons
ide
ideas
images
index
indie
innovation
intelligence
investing
ip
ironpython
java
javascript
jquery
keyboard
kids
kindle
kitchen
knuth
language
laptop
layout
learning
lego
libraries
library
life
lifehacks
lifestyle
light
linq
linux
lisp
list
lists
literature
Longevity
lua
map
markdown
marketing
markup
math
mce
media
mediacenter
memory
menu
mercurial
messaging
metadata
mobile
money
monitor
motivation
mp4
navigation
network
networking
nginx
notes
ocr
oop
opengl
opensource
optimization
organization
orm
os
parallel
parser
pathfinding
patterns
payment
payments
pc
pdf
performance
philosophy
photography
physics
Pictures
plugins
power
print
processing
productivity
products
profiling
programming
projects
psychology
python
quality
ragel
rant
readability
reading
readinglist
reference
regex
relationships
reporting
rest
retro
robotics
root
rpg
rts
scala
scalability
scaling
scanning
scheme
science
scifi
scraping
scripting
search
searchengine
security
seo
server
service
sicp
silverlight
software
software-engineering
softwaredesign
softwareengineering
soldering
sound
space
sql
sqlserver
ssh
ssl
startup
statemachine
statistics
strategy
string
strings
subnet
t-sql
tcp
tech
technology
templates
testing
text
thinking
time
tips
tool
tools
toplay
toread
towatch
travel
tricks
turnbased
tutorial
tv
typography
ui
url
usability
utilities
utility
versioncontrol
video
videogames
vim
virtualization
visualization
VisualStudio
vmware
web
web-hosting
web-server
webdesign
wii
wiki
windows
windows7
windowsforms
wireless
wmc
woodworking
wordpress
work
wpf
writing
wysiwyg
xml