Are you over 18 and want to see adult content?
More Annotations
A complete backup of https://sensacionalista.com.br
Are you over 18 and want to see adult content?
A complete backup of https://modelingreligiouschange.org
Are you over 18 and want to see adult content?
A complete backup of https://veritext.com
Are you over 18 and want to see adult content?
A complete backup of https://elcortezlv.com
Are you over 18 and want to see adult content?
A complete backup of https://justdirectory.org
Are you over 18 and want to see adult content?
A complete backup of https://broward.edu
Are you over 18 and want to see adult content?
A complete backup of https://exclusive-paper.net
Are you over 18 and want to see adult content?
A complete backup of https://bestpricesonmeds.com
Are you over 18 and want to see adult content?
A complete backup of https://bauckhof.de
Are you over 18 and want to see adult content?
A complete backup of https://taptu.com
Are you over 18 and want to see adult content?
A complete backup of https://habitatcollincounty.org
Are you over 18 and want to see adult content?
A complete backup of https://apkmagic.com.ar
Are you over 18 and want to see adult content?
Favourite Annotations
A complete backup of www.veinsensor.pl
Are you over 18 and want to see adult content?
A complete backup of 131458934.keywordblocks.com
Are you over 18 and want to see adult content?
A complete backup of markkavanagh.com
Are you over 18 and want to see adult content?
A complete backup of azscers.000webhostapp.com
Are you over 18 and want to see adult content?
A complete backup of abc12.onesignal.com
Are you over 18 and want to see adult content?
A complete backup of sp-active.adsrvr.org
Are you over 18 and want to see adult content?
A complete backup of services.runescape.com-api.top
Are you over 18 and want to see adult content?
A complete backup of cb1.dev.rtb.owneriq.net
Are you over 18 and want to see adult content?
Text
STEVEHANOV.CA
WAVELET SOUND EXPLORER Wavelet Sound Explorer Software by Steve Hanov. Download Wavelet Sound Explorer 0.50 Updated February 9, 2008. Wavelet Sound Explorer is a freeware program for Windows that lets you view sound files in the frequency/time domain.A RHYMING ENGINE
FAST AND EASY LEVENSHTEIN DISTANCE USING A TRIESEE MORE ONSTEVEHANOV.CA
LET'S READ A TRUETYPE FONT FILE FROM SCRATCHSEE MORE ON STEVEHANOV.CA GIVE YOUR COMMODORE 64 NEW LIFE WITH AN SD CARD READER Now we turn on the drive, put in the disk and cross our fingers. From a command line, I type: d64copy -r 16 8 "jumpman.d64". This means: Retry bad blocks up to 16 times before giving up. Copy from device #8. Remember, on Commodore, the first floppy drive was always device 8. Copy the contents of the disk to the file called jumpman.d64. STOCK PICKING USING PYTHON Stock Picking using Python. Posted twelve years ago. The stock market is a lot different than it was just a few months ago. Once again, I present my stock selections, as found via python script. Comparing it with last time, you will find most of the same names are on there. Financial data for 1600 public companies listed on the TSX is ASKING USERS FOR STEPS TO REPRODUCE BUGS, AND OTHER DUMB IDEAS Asking users for steps to reproduce bugs, and other dumb ideas. When a bug occurs, users will it into a tracking system with detailed information on how to reproduce it. A developer walks through the given steps to reproduce the issue, finds the problem, and submits YOU CAN CHEAT SO YOUR WEB SITE SEEMS FASTER THAN IT IS I know how to make and sell software online, and I can share my tips with you. Email | Twitter | LinkedIn | Comics | All articles HOW TO DETECT IF AN OBJECT HAS BEEN GARBAGE COLLECTED INWHY DON'T WEB BROWSERS DO THISHOW WIDE SHOULD YOU MAKE YOUR WEB PAGE O(n) Delta Compression With a Suffix Array The difference between two sequences A and B can be compactly stored using COPY/INSERT operations. The greedy algorithm for finding these operations relies on an efficient way of finding the longest matching part of A of any given position in B. 20 LINES OF CODE THAT WILL BEAT A/B TESTING EVERY TIMESEE MORE ONSTEVEHANOV.CA
WAVELET SOUND EXPLORER Wavelet Sound Explorer Software by Steve Hanov. Download Wavelet Sound Explorer 0.50 Updated February 9, 2008. Wavelet Sound Explorer is a freeware program for Windows that lets you view sound files in the frequency/time domain.A RHYMING ENGINE
FAST AND EASY LEVENSHTEIN DISTANCE USING A TRIESEE MORE ONSTEVEHANOV.CA
LET'S READ A TRUETYPE FONT FILE FROM SCRATCHSEE MORE ON STEVEHANOV.CA GIVE YOUR COMMODORE 64 NEW LIFE WITH AN SD CARD READER Now we turn on the drive, put in the disk and cross our fingers. From a command line, I type: d64copy -r 16 8 "jumpman.d64". This means: Retry bad blocks up to 16 times before giving up. Copy from device #8. Remember, on Commodore, the first floppy drive was always device 8. Copy the contents of the disk to the file called jumpman.d64. STOCK PICKING USING PYTHON Stock Picking using Python. Posted twelve years ago. The stock market is a lot different than it was just a few months ago. Once again, I present my stock selections, as found via python script. Comparing it with last time, you will find most of the same names are on there. Financial data for 1600 public companies listed on the TSX is ASKING USERS FOR STEPS TO REPRODUCE BUGS, AND OTHER DUMB IDEAS Asking users for steps to reproduce bugs, and other dumb ideas. When a bug occurs, users will it into a tracking system with detailed information on how to reproduce it. A developer walks through the given steps to reproduce the issue, finds the problem, and submits YOU CAN CHEAT SO YOUR WEB SITE SEEMS FASTER THAN IT IS I know how to make and sell software online, and I can share my tips with you. Email | Twitter | LinkedIn | Comics | All articles 20 LINES OF CODE THAT WILL BEAT A/B TESTING EVERY TIME 1/1 = 100%. 1/1=100%. 1/1=100%. Then a web site visitor comes along and we have to show them a button. We choose the first one with the highest expectation of winning. The algorithm thinks they all work 100% of the time, so it chooses the first one: orange. But, DRAW WAVEFORMS AND HEAR THEM Results. In theory, you can make any sound that you want. The results aren't very interesting. You can draw a sine wave and it sounds muffled. Add some jagged edges and the sound starts to sound more raw and high pitched. But it's okay to demonstrate what a sawtooth vs. sine vs. square wave sound like. THROW AWAY THE KEYS: EASY, MINIMAL PERFECT HASHING Minimal perfect hashing. Perfect hashing is a technique for building a hash table with no collisions. It is only possible to build one when we know all of the keys in advance. Minimal perfect hashing implies that the resulting table contains one entry for each key, and ZWIBBLER: A SIMPLE DRAWING PROGRAM USING JAVASCRIPT AND CANVAS Drawing lines and curves. To draw a line, click the line tool in the toolbar, then click anywhere in the drawing window to place the first point. You can then click again to place the second point, and so on. To end the line, double click. If you end the line or curve close enough to where you started it, then it will create a closed shape. YOU CAN CHEAT SO YOUR WEB SITE SEEMS FASTER THAN IT IS I know how to make and sell software online, and I can share my tips with you. Email | Twitter | LinkedIn | Comics | All articles CREATING PORTABLE BINARIES ON LINUX If you build on a system with one version, your application will only run on systems which have that library. Ubuntu 6.06.2 is a special case. It does not have libstdc++5.0 by default, but you can add it by installing and building with g++3.3. That makes Ubuntu 6.06.2 a FINDING THE TOP K ITEMS IN A LIST EFFICIENTLY The strategy is to go through the list once, and as you go, keep a list of the top k elements that you found so far. To do this efficiently, you have to always know the smallest element in this top-k, so you can possibly replace it with one that is larger. The heap structure makes it easy to maintain this list without wasting anyeffort.
STOCK PICKING USING PYTHON Stock Picking using Python. Posted twelve years ago. The stock market is a lot different than it was just a few months ago. Once again, I present my stock selections, as found via python script. Comparing it with last time, you will find most of the same names are on there. Financial data for 1600 public companies listed on the TSX is DETECTING C++ MEMORY LEAKS That way, we can track where memory leaks occur for allocations made using the standard C allocation functions. We will overload the new () and delete () operators to track the address of the functions that they are called, by walking backwards up the stack. Finally, we will parse the .map file generated by HOW QBASIC ALMOST GOT ME KILLED How QBASIC almost got me killed. Back in high school, I had too much free time, so I decided to play a joke on my computer teacher. I created an exact clone of the school's DOS system using QBasic. It would pretend to execute three commands: DIR, DEL *.*, and FORMAT. HOW TO DETECT IF AN OBJECT HAS BEEN GARBAGE COLLECTED INWHY DON'T WEB BROWSERS DO THISHOW WIDE SHOULD YOU MAKE YOUR WEB PAGE O(n) Delta Compression With a Suffix Array The difference between two sequences A and B can be compactly stored using COPY/INSERT operations. The greedy algorithm for finding these operations relies on an efficient way of finding the longest matching part of A of any given position in B. 20 LINES OF CODE THAT WILL BEAT A/B TESTING EVERY TIMESEE MORE ONSTEVEHANOV.CA
WAVELET SOUND EXPLORER Wavelet Sound Explorer Software by Steve Hanov. Download Wavelet Sound Explorer 0.50 Updated February 9, 2008. Wavelet Sound Explorer is a freeware program for Windows that lets you view sound files in the frequency/time domain.A RHYMING ENGINE
FAST AND EASY LEVENSHTEIN DISTANCE USING A TRIESEE MORE ONSTEVEHANOV.CA
LET'S READ A TRUETYPE FONT FILE FROM SCRATCHSEE MORE ON STEVEHANOV.CA GIVE YOUR COMMODORE 64 NEW LIFE WITH AN SD CARD READER Now we turn on the drive, put in the disk and cross our fingers. From a command line, I type: d64copy -r 16 8 "jumpman.d64". This means: Retry bad blocks up to 16 times before giving up. Copy from device #8. Remember, on Commodore, the first floppy drive was always device 8. Copy the contents of the disk to the file called jumpman.d64. STOCK PICKING USING PYTHON Stock Picking using Python. Posted twelve years ago. The stock market is a lot different than it was just a few months ago. Once again, I present my stock selections, as found via python script. Comparing it with last time, you will find most of the same names are on there. Financial data for 1600 public companies listed on the TSX is ASKING USERS FOR STEPS TO REPRODUCE BUGS, AND OTHER DUMB IDEAS Asking users for steps to reproduce bugs, and other dumb ideas. When a bug occurs, users will it into a tracking system with detailed information on how to reproduce it. A developer walks through the given steps to reproduce the issue, finds the problem, and submits YOU CAN CHEAT SO YOUR WEB SITE SEEMS FASTER THAN IT IS I know how to make and sell software online, and I can share my tips with you. Email | Twitter | LinkedIn | Comics | All articles HOW TO DETECT IF AN OBJECT HAS BEEN GARBAGE COLLECTED INWHY DON'T WEB BROWSERS DO THISHOW WIDE SHOULD YOU MAKE YOUR WEB PAGE O(n) Delta Compression With a Suffix Array The difference between two sequences A and B can be compactly stored using COPY/INSERT operations. The greedy algorithm for finding these operations relies on an efficient way of finding the longest matching part of A of any given position in B. 20 LINES OF CODE THAT WILL BEAT A/B TESTING EVERY TIMESEE MORE ONSTEVEHANOV.CA
WAVELET SOUND EXPLORER Wavelet Sound Explorer Software by Steve Hanov. Download Wavelet Sound Explorer 0.50 Updated February 9, 2008. Wavelet Sound Explorer is a freeware program for Windows that lets you view sound files in the frequency/time domain.A RHYMING ENGINE
FAST AND EASY LEVENSHTEIN DISTANCE USING A TRIESEE MORE ONSTEVEHANOV.CA
LET'S READ A TRUETYPE FONT FILE FROM SCRATCHSEE MORE ON STEVEHANOV.CA GIVE YOUR COMMODORE 64 NEW LIFE WITH AN SD CARD READER Now we turn on the drive, put in the disk and cross our fingers. From a command line, I type: d64copy -r 16 8 "jumpman.d64". This means: Retry bad blocks up to 16 times before giving up. Copy from device #8. Remember, on Commodore, the first floppy drive was always device 8. Copy the contents of the disk to the file called jumpman.d64. STOCK PICKING USING PYTHON Stock Picking using Python. Posted twelve years ago. The stock market is a lot different than it was just a few months ago. Once again, I present my stock selections, as found via python script. Comparing it with last time, you will find most of the same names are on there. Financial data for 1600 public companies listed on the TSX is ASKING USERS FOR STEPS TO REPRODUCE BUGS, AND OTHER DUMB IDEAS Asking users for steps to reproduce bugs, and other dumb ideas. When a bug occurs, users will it into a tracking system with detailed information on how to reproduce it. A developer walks through the given steps to reproduce the issue, finds the problem, and submits YOU CAN CHEAT SO YOUR WEB SITE SEEMS FASTER THAN IT IS I know how to make and sell software online, and I can share my tips with you. Email | Twitter | LinkedIn | Comics | All articles 20 LINES OF CODE THAT WILL BEAT A/B TESTING EVERY TIME 1/1 = 100%. 1/1=100%. 1/1=100%. Then a web site visitor comes along and we have to show them a button. We choose the first one with the highest expectation of winning. The algorithm thinks they all work 100% of the time, so it chooses the first one: orange. But, DRAW WAVEFORMS AND HEAR THEM Results. In theory, you can make any sound that you want. The results aren't very interesting. You can draw a sine wave and it sounds muffled. Add some jagged edges and the sound starts to sound more raw and high pitched. But it's okay to demonstrate what a sawtooth vs. sine vs. square wave sound like. THROW AWAY THE KEYS: EASY, MINIMAL PERFECT HASHING Minimal perfect hashing. Perfect hashing is a technique for building a hash table with no collisions. It is only possible to build one when we know all of the keys in advance. Minimal perfect hashing implies that the resulting table contains one entry for each key, and ZWIBBLER: A SIMPLE DRAWING PROGRAM USING JAVASCRIPT AND CANVAS Drawing lines and curves. To draw a line, click the line tool in the toolbar, then click anywhere in the drawing window to place the first point. You can then click again to place the second point, and so on. To end the line, double click. If you end the line or curve close enough to where you started it, then it will create a closed shape. YOU CAN CHEAT SO YOUR WEB SITE SEEMS FASTER THAN IT IS I know how to make and sell software online, and I can share my tips with you. Email | Twitter | LinkedIn | Comics | All articles CREATING PORTABLE BINARIES ON LINUX If you build on a system with one version, your application will only run on systems which have that library. Ubuntu 6.06.2 is a special case. It does not have libstdc++5.0 by default, but you can add it by installing and building with g++3.3. That makes Ubuntu 6.06.2 a FINDING THE TOP K ITEMS IN A LIST EFFICIENTLY The strategy is to go through the list once, and as you go, keep a list of the top k elements that you found so far. To do this efficiently, you have to always know the smallest element in this top-k, so you can possibly replace it with one that is larger. The heap structure makes it easy to maintain this list without wasting anyeffort.
STOCK PICKING USING PYTHON Stock Picking using Python. Posted twelve years ago. The stock market is a lot different than it was just a few months ago. Once again, I present my stock selections, as found via python script. Comparing it with last time, you will find most of the same names are on there. Financial data for 1600 public companies listed on the TSX is DETECTING C++ MEMORY LEAKS That way, we can track where memory leaks occur for allocations made using the standard C allocation functions. We will overload the new () and delete () operators to track the address of the functions that they are called, by walking backwards up the stack. Finally, we will parse the .map file generated by HOW QBASIC ALMOST GOT ME KILLED How QBASIC almost got me killed. Back in high school, I had too much free time, so I decided to play a joke on my computer teacher. I created an exact clone of the school's DOS system using QBasic. It would pretend to execute three commands: DIR, DEL *.*, and FORMAT. HOW TO DETECT IF AN OBJECT HAS BEEN GARBAGE COLLECTED INWHY DON'T WEB BROWSERS DO THISHOW WIDE SHOULD YOU MAKE YOUR WEB PAGE O(n) Delta Compression With a Suffix Array The difference between two sequences A and B can be compactly stored using COPY/INSERT operations. The greedy algorithm for finding these operations relies on an efficient way of finding the longest matching part of A of any given position in B. WAVELET SOUND EXPLORER Wavelet Sound Explorer Software by Steve Hanov. Download Wavelet Sound Explorer 0.50 Updated February 9, 2008. Wavelet Sound Explorer is a freeware program for Windows that lets you view sound files in the frequency/time domain. 20 LINES OF CODE THAT WILL BEAT A/B TESTING EVERY TIMESEE MORE ONSTEVEHANOV.CA
A RHYMING ENGINE
LET'S READ A TRUETYPE FONT FILE FROM SCRATCHSEE MORE ON STEVEHANOV.CA HOW QBASIC ALMOST GOT ME KILLED How QBASIC almost got me killed. Back in high school, I had too much free time, so I decided to play a joke on my computer teacher. I created an exact clone of the school's DOS system using QBasic. It would pretend to execute three commands: DIR, DEL *.*, and FORMAT. GIVE YOUR COMMODORE 64 NEW LIFE WITH AN SD CARD READER Now we turn on the drive, put in the disk and cross our fingers. From a command line, I type: d64copy -r 16 8 "jumpman.d64". This means: Retry bad blocks up to 16 times before giving up. Copy from device #8. Remember, on Commodore, the first floppy drive was always device 8. Copy the contents of the disk to the file called jumpman.d64. FINDING THE TOP K ITEMS IN A LIST EFFICIENTLY The strategy is to go through the list once, and as you go, keep a list of the top k elements that you found so far. To do this efficiently, you have to always know the smallest element in this top-k, so you can possibly replace it with one that is larger. The heap structure makes it easy to maintain this list without wasting anyeffort.
WAVELETS AND EDGE DETECTION The signal keeps the same structure as the original, but is smoother. Here is the same signal with the three highest dyadic1 frequency bands removed: 0 100 200 300 400 500 600 ASKING USERS FOR STEPS TO REPRODUCE BUGS, AND OTHER DUMB IDEAS Asking users for steps to reproduce bugs, and other dumb ideas. When a bug occurs, users will it into a tracking system with detailed information on how to reproduce it. A developer walks through the given steps to reproduce the issue, finds the problem, and submits HOW TO DETECT IF AN OBJECT HAS BEEN GARBAGE COLLECTED INWHY DON'T WEB BROWSERS DO THISHOW WIDE SHOULD YOU MAKE YOUR WEB PAGE O(n) Delta Compression With a Suffix Array The difference between two sequences A and B can be compactly stored using COPY/INSERT operations. The greedy algorithm for finding these operations relies on an efficient way of finding the longest matching part of A of any given position in B. WAVELET SOUND EXPLORER Wavelet Sound Explorer Software by Steve Hanov. Download Wavelet Sound Explorer 0.50 Updated February 9, 2008. Wavelet Sound Explorer is a freeware program for Windows that lets you view sound files in the frequency/time domain. 20 LINES OF CODE THAT WILL BEAT A/B TESTING EVERY TIMESEE MORE ONSTEVEHANOV.CA
A RHYMING ENGINE
LET'S READ A TRUETYPE FONT FILE FROM SCRATCHSEE MORE ON STEVEHANOV.CA HOW QBASIC ALMOST GOT ME KILLED How QBASIC almost got me killed. Back in high school, I had too much free time, so I decided to play a joke on my computer teacher. I created an exact clone of the school's DOS system using QBasic. It would pretend to execute three commands: DIR, DEL *.*, and FORMAT. GIVE YOUR COMMODORE 64 NEW LIFE WITH AN SD CARD READER Now we turn on the drive, put in the disk and cross our fingers. From a command line, I type: d64copy -r 16 8 "jumpman.d64". This means: Retry bad blocks up to 16 times before giving up. Copy from device #8. Remember, on Commodore, the first floppy drive was always device 8. Copy the contents of the disk to the file called jumpman.d64. FINDING THE TOP K ITEMS IN A LIST EFFICIENTLY The strategy is to go through the list once, and as you go, keep a list of the top k elements that you found so far. To do this efficiently, you have to always know the smallest element in this top-k, so you can possibly replace it with one that is larger. The heap structure makes it easy to maintain this list without wasting anyeffort.
WAVELETS AND EDGE DETECTION The signal keeps the same structure as the original, but is smoother. Here is the same signal with the three highest dyadic1 frequency bands removed: 0 100 200 300 400 500 600 ASKING USERS FOR STEPS TO REPRODUCE BUGS, AND OTHER DUMB IDEAS Asking users for steps to reproduce bugs, and other dumb ideas. When a bug occurs, users will it into a tracking system with detailed information on how to reproduce it. A developer walks through the given steps to reproduce the issue, finds the problem, and submits 20 LINES OF CODE THAT WILL BEAT A/B TESTING EVERY TIME 1/1 = 100%. 1/1=100%. 1/1=100%. Then a web site visitor comes along and we have to show them a button. We choose the first one with the highest expectation of winning. The algorithm thinks they all work 100% of the time, so it chooses the first one: orange. But,A RHYMING ENGINE
The rhyming engine reads dict.txt and, for every word, creates a Word object. The Word object has the part of speech. It also contains a representation of the pronunciation of the word. To figure out if two words rhyme, we compare the last part of their pronunciation. The FAST AND EASY LEVENSHTEIN DISTANCE USING A TRIE Algorithm #1. The levenshtein function take two words and returns how far apart they are. It's an O (N*M) algorithm, where N is the length of one word, and M is the length of the other. If you want to know how it works, go to this wikipedia page. But comparing two words at a time isn't useful. Usually you want to find the closest matching words DRAW WAVEFORMS AND HEAR THEM Results. In theory, you can make any sound that you want. The results aren't very interesting. You can draw a sine wave and it sounds muffled. Add some jagged edges and the sound starts to sound more raw and high pitched. But it's okay to demonstrate what a sawtooth vs. sine vs. square wave sound like. ZWIBBLER: A SIMPLE DRAWING PROGRAM USING JAVASCRIPT AND CANVAS Drawing lines and curves. To draw a line, click the line tool in the toolbar, then click anywhere in the drawing window to place the first point. You can then click again to place the second point, and so on. To end the line, double click. If you end the line or curve close enough to where you started it, then it will create a closed shape. FUN WITH COLOUR DIFFERENCE Two colours are different if the distance between their coordinates is large. But the RGB colour space is not perceptually uniform. Because of the way the human eye works, lots of greens look the same, but we can easily see the difference between subtle shades of yellow. That's why George Takei is hawking TVs. It's also why perceptually uniform GIVE YOUR COMMODORE 64 NEW LIFE WITH AN SD CARD READER Now we turn on the drive, put in the disk and cross our fingers. From a command line, I type: d64copy -r 16 8 "jumpman.d64". This means: Retry bad blocks up to 16 times before giving up. Copy from device #8. Remember, on Commodore, the first floppy drive was always device 8. Copy the contents of the disk to the file called jumpman.d64. STOCK PICKING USING PYTHON Stock Picking using Python. Posted twelve years ago. The stock market is a lot different than it was just a few months ago. Once again, I present my stock selections, as found via python script. Comparing it with last time, you will find most of the same names are on there. Financial data for 1600 public companies listed on the TSX is WHEN PROGRAMMERS DESIGN WEB SITES (COMIC) I know how to make and sell software online, and I can share my tips with you. Email | Twitter | LinkedIn | Comics | All articles DETECTING C++ MEMORY LEAKS That way, we can track where memory leaks occur for allocations made using the standard C allocation functions. We will overload the new () and delete () operators to track the address of the functions that they are called, by walking backwards up the stack. Finally, we will parse the .map file generated by HOW TO DETECT IF AN OBJECT HAS BEEN GARBAGE COLLECTED INWHY DON'T WEB BROWSERS DO THISHOW WIDE SHOULD YOU MAKE YOUR WEB PAGE O(n) Delta Compression With a Suffix Array The difference between two sequences A and B can be compactly stored using COPY/INSERT operations. The greedy algorithm for finding these operations relies on an efficient way of finding the longest matching part of A of any given position in B. 20 LINES OF CODE THAT WILL BEAT A/B TESTING EVERY TIMESEE MORE ONSTEVEHANOV.CA
WAVELET SOUND EXPLORER Wavelet Sound Explorer Software by Steve Hanov. Download Wavelet Sound Explorer 0.50 Updated February 9, 2008. Wavelet Sound Explorer is a freeware program for Windows that lets you view sound files in the frequency/time domain.A RHYMING ENGINE
FINDING THE TOP K ITEMS IN A LIST EFFICIENTLY The strategy is to go through the list once, and as you go, keep a list of the top k elements that you found so far. To do this efficiently, you have to always know the smallest element in this top-k, so you can possibly replace it with one that is larger. The heap structure makes it easy to maintain this list without wasting anyeffort.
DRAW WAVEFORMS AND HEAR THEM Results. In theory, you can make any sound that you want. The results aren't very interesting. You can draw a sine wave and it sounds muffled. Add some jagged edges and the sound starts to sound more raw and high pitched. But it's okay to demonstrate what a sawtooth vs. sine vs. square wave sound like. GIVE YOUR COMMODORE 64 NEW LIFE WITH AN SD CARD READER Now we turn on the drive, put in the disk and cross our fingers. From a command line, I type: d64copy -r 16 8 "jumpman.d64". This means: Retry bad blocks up to 16 times before giving up. Copy from device #8. Remember, on Commodore, the first floppy drive was always device 8. Copy the contents of the disk to the file called jumpman.d64. CREATING PORTABLE BINARIES ON LINUX ASKING USERS FOR STEPS TO REPRODUCE BUGS, AND OTHER DUMB IDEAS Asking users for steps to reproduce bugs, and other dumb ideas. When a bug occurs, users will it into a tracking system with detailed information on how to reproduce it. A developer walks through the given steps to reproduce the issue, finds the problem, and submits HOW QBASIC ALMOST GOT ME KILLED How QBASIC almost got me killed. Back in high school, I had too much free time, so I decided to play a joke on my computer teacher. I created an exact clone of the school's DOS system using QBasic. It would pretend to execute three commands: DIR, DEL *.*, and FORMAT. HOW TO DETECT IF AN OBJECT HAS BEEN GARBAGE COLLECTED INWHY DON'T WEB BROWSERS DO THISHOW WIDE SHOULD YOU MAKE YOUR WEB PAGE O(n) Delta Compression With a Suffix Array The difference between two sequences A and B can be compactly stored using COPY/INSERT operations. The greedy algorithm for finding these operations relies on an efficient way of finding the longest matching part of A of any given position in B. 20 LINES OF CODE THAT WILL BEAT A/B TESTING EVERY TIMESEE MORE ONSTEVEHANOV.CA
WAVELET SOUND EXPLORER Wavelet Sound Explorer Software by Steve Hanov. Download Wavelet Sound Explorer 0.50 Updated February 9, 2008. Wavelet Sound Explorer is a freeware program for Windows that lets you view sound files in the frequency/time domain.A RHYMING ENGINE
FINDING THE TOP K ITEMS IN A LIST EFFICIENTLY The strategy is to go through the list once, and as you go, keep a list of the top k elements that you found so far. To do this efficiently, you have to always know the smallest element in this top-k, so you can possibly replace it with one that is larger. The heap structure makes it easy to maintain this list without wasting anyeffort.
DRAW WAVEFORMS AND HEAR THEM Results. In theory, you can make any sound that you want. The results aren't very interesting. You can draw a sine wave and it sounds muffled. Add some jagged edges and the sound starts to sound more raw and high pitched. But it's okay to demonstrate what a sawtooth vs. sine vs. square wave sound like. GIVE YOUR COMMODORE 64 NEW LIFE WITH AN SD CARD READER Now we turn on the drive, put in the disk and cross our fingers. From a command line, I type: d64copy -r 16 8 "jumpman.d64". This means: Retry bad blocks up to 16 times before giving up. Copy from device #8. Remember, on Commodore, the first floppy drive was always device 8. Copy the contents of the disk to the file called jumpman.d64. CREATING PORTABLE BINARIES ON LINUX ASKING USERS FOR STEPS TO REPRODUCE BUGS, AND OTHER DUMB IDEAS Asking users for steps to reproduce bugs, and other dumb ideas. When a bug occurs, users will it into a tracking system with detailed information on how to reproduce it. A developer walks through the given steps to reproduce the issue, finds the problem, and submits HOW QBASIC ALMOST GOT ME KILLED How QBASIC almost got me killed. Back in high school, I had too much free time, so I decided to play a joke on my computer teacher. I created an exact clone of the school's DOS system using QBasic. It would pretend to execute three commands: DIR, DEL *.*, and FORMAT. DRAW WAVEFORMS AND HEAR THEM Results. In theory, you can make any sound that you want. The results aren't very interesting. You can draw a sine wave and it sounds muffled. Add some jagged edges and the sound starts to sound more raw and high pitched. But it's okay to demonstrate what a sawtooth vs. sine vs. square wave sound like. CREATING PORTABLE BINARIES ON LINUX If you build on a system with one version, your application will only run on systems which have that library. Ubuntu 6.06.2 is a special case. It does not have libstdc++5.0 by default, but you can add it by installing and building with g++3.3. That makes Ubuntu 6.06.2 a FAST AND EASY LEVENSHTEIN DISTANCE USING A TRIE Algorithm #1. The levenshtein function take two words and returns how far apart they are. It's an O (N*M) algorithm, where N is the length of one word, and M is the length of the other. If you want to know how it works, go to this wikipedia page. But comparing two words at a time isn't useful. Usually you want to find the closest matching words FIVE ESSENTIAL STEPS TO PREPARE FOR YOUR NEXT PROGRAMMING Step 3: Practice your problem-solving. Some interviewers believe that being able to solve brain-teasers equates to good programming ability. In case you get one of these, you should develop a passing interest in puzzles and techniques for solving them. A visit to your local library will result in a dozen books, filled with puzzles to practice. DETECTING C++ MEMORY LEAKS That way, we can track where memory leaks occur for allocations made using the standard C allocation functions. We will overload the new () and delete () operators to track the address of the functions that they are called, by walking backwards up the stack. Finally, we will parse the .map file generated by WHEN PROGRAMMERS DESIGN WEB SITES (COMIC) I know how to make and sell software online, and I can share my tips with you. Email | Twitter | LinkedIn | Comics | All articles SUCCINCT DATA STRUCTURES: CRAMMING 80,000 WORDS INTO A Two important functions for succinct structures are: rank (x) - returns the number of bits set to 1, up to and including position x. select (y) - returns the position of the yth 1. This is the inverse of the rank function. For example, if select (8) = 10, then rank (10) = 8. Corresponding functions exist to find the rank/select of 0'sinstead
C++: A LANGUAGE FOR NEXT GENERATION WEB APPS In this model, you write your C++ program as a CGI script directly, using one of the freely available query string parsing libraries. It is efficient and clean. When your browser requests information, the webserver starts your program, which spits out the response in json HOW QBASIC ALMOST GOT ME KILLED How QBASIC almost got me killed. Back in high school, I had too much free time, so I decided to play a joke on my computer teacher. I created an exact clone of the school's DOS system using QBasic. It would pretend to execute three commands: DIR, DEL *.*, and FORMAT. COMPRESSING DICTIONARIES WITH A DAWG I know how to make and sell software online, and I can share my tips with you. Email | Twitter | LinkedIn | Comics | All articles I know how to make and sell software online, and I can share my tipswith you.
LinkedIn | Email
Cardboard.
O(N) DELTA COMPRESSION WITH A SUFFIX ARRAY The difference between two sequences A and B can be compactly stored using COPY/INSERT operations. The greedy algorithm for finding these operations relies on an efficient way of finding the longest matching part of A of any given position in B. This article describes how to use a suffix array to find the optimal sequence of operations in time proportional to the length of the input sequences. As a preprocessing step, we find and store the longest match in A for every position in B in two passes over the suffix array. FINDING BIEBER: ON REMOVING DUPLICATES FROM A SET OF DOCUMENTS Using a locality sensitive hash, you can mark duplicates in millions of items in no time. LET'S READ A TRUETYPE FONT FILE FROM SCRATCH Walkthough of reading and interpretting a TrueType font file in a few lines of Javascript. A QUICK MEASURE OF SORTEDNESS How do you measure the "sortedness" of a list? There are several ways. In the literature this measure is called the "distance to monotonicity" or the "measure of disorder" depending on who you read. Here, I propose another measure for sortedness. MY THOUGHTS ON VARIOUS PROGRAMMING LANGUAGES Some ill-informed remarks on various programming languages. A LITTLE VIM HACKING THE STRANGE MAN READING A NOVEL IN THE MEETING ROOM Why is a visitor reading a novel all week in the meeting room? YOU CAN CHEAT SO YOUR WEB SITE SEEMS FASTER THAN IT IS You can make your web site seem faster without actually being faster. YES, YOU ABSOLUTELY MIGHT POSSIBLY NEED AN EIN TO SELL SOFTWARE TO THEUS
After many months, your software sale is complete! You've got a purchase order, sent the invoice, delivered the software. You're already handling some support issues from users at BigCorp. Then BANG! Martha from Procurement emails back, as a favour, just to let you know that BigCorp has not received your W8 form with a valid tax id, and therefore will be withholding 30% of the purchase price of your multi-thousand dollar product for taxes. ASANA'S SHOCKING PRICING PRACTICES, AND HOW YOU CAN GET AWAY WITH ITTOO
If one apple costs $1, how much would five apples cost? How about 500? If everyday life, when you buy more of something, you get more bananas for your buck. But software companies are bucking the trend. 5 WAYS POWTOON MADE ME WANT TO BUY THEIR SOFTWARE Even though I saw through their tricks at every step along the way, I am now a customer and proud of it. It is worthwhile to look at what they did, because these are simple things that you can do to improve your software business. HOW I RUN MY BUSINESS SELLING SOFTWARE TO AMERICANS Here's what you can do to get the most out of your business in Canada if all of your revenue comes in US dollars. 0, 1, MANY, A ZILLION It's common wisdom that there should only be three numbers in source code. But there's actually four. Here's why. GIVE YOUR COMMODORE 64 NEW LIFE WITH AN SD CARD READER Dust off your old Commodore 64, and you could be the coolest kid on the block by plugging SD cards into it instead of floppies. 20 LINES OF CODE THAT WILL BEAT A/B TESTING EVERY TIME A/B testing is used far too often, for something that performs so badly. It is defective by design: Segment users into two groups. Show the A group the old, tried and true stuff. Show the B group the new whiz-bang design with the bigger buttons and slightly different copy. After a while, take a look at the stats and figure out which group presses the button more often. Sounds good, right? The problem is staring you in the face. It is the same dilemma faced by researchers administering drug studies. During drug trials, you can only give half the patients the life saving treatment. The others get sugar water. If the treatment works, group B lost out. This sacrifice is made to get good data. But it doesn't have to be this way. APPRECIATION OF XKCD COMICS VS. TECHNICAL ABILITY VP TREES: A DATA STRUCTURE FOR FINDING STUFF FAST Let's say you have millions of pictures of faces tagged with names. Given a new photo, how do you find the name of person that the photomost resembles?
In the cases I mentioned, each record has hundreds or thousands of elements: the pixels in a photo, or patterns in a sound snippet, or web usage data. These records can be regarded as points in high dimensional space. When you look at a points in space, they tend to form clusters, and you can infer a lot by looking at ones nearby. WHY YOU SHOULD GO TO THE BUSINESS OF SOFTWARE CONFERENCE NEXT YEAR Most people, having already paid $2000.00 of their hard earned money, and then having flown, driven, or otherwise travelled to Boston to attend a conference, and then having paid an additional $250/night plus $33/night parking and "tourism taxes" to the Seaport Hotel -- most people, after all this, are unlikely to say that it was a waste of time and they should have stayed home watching the remaining salvaged episodes of _Doctor Who_ on Netflix. In fact, I found it quite useful. FOUR WAYS OF HANDLING ASYNCHRONOUS OPERATIONS IN NODE.JS Javascript was not designed to do asynchronous operations easily. If it were, then writing asynchronous code would be as easy as writing blocking code. Instead, developers in node.js need to manage many levels of callbacks. Today, we will examine four different methods of performing the same task asynchronously, in node.js. ZERO LOAD TIME FILE FORMATS When your app needs to be fast, you can't afford to load things fro disk. In this toy example, an on-disk data structure helps you instantly look up lists of related words. FINDING THE TOP K ITEMS IN A LIST EFFICIENTLY Do you use sort() to find the top results? Here's a simple trick that will make your software run much faster. AN INSTANT RHYMING DICTIONARY FOR ANY WEB SITE Sometimes your API has to be simple enough for non-technical people to use it. Find out how to include a rhyming dictionary on your web page just by copying and pasting. SUCCINCT DATA STRUCTURES: CRAMMING 80,000 WORDS INTO A JAVASCRIPTFILE.
jQuery creator John Resig needs a little help storing lists of words in his side project. Let's go overkill and explore a little known branch of computer science called Succinct Data Structures. THROW AWAY THE KEYS: EASY, MINIMAL PERFECT HASHING Perfect hashing is a technique for building a hash table with no collisions in the minimum possible space. They are a easy to build with this simple python function. WHY DON'T WEB BROWSERS DO THIS? Why don't web pages start as fast as this computer from 1984? FUN WITH COLOUR DIFFERENCE Are you looking for a nifty way to choose colours that stand out? Are you the type of person who is not satisfied until you have mathematically proven that your choice is optimal? COMPRESSING DICTIONARIES WITH A DAWG A practical, memory efficient way to store and search large sets ofwords.
FAST AND EASY LEVENSHTEIN DISTANCE USING A TRIE If you have a web site with a search function, you will rapidly realize that most mortals are terrible typists. Many searches contain mispelled words, and users will expect these searches to magically work. This magic is often done using levenshtein distance. In this article, I'll compare two ways of finding the closest matching word in a large dictionary. I'll describe how I use it on rhymebrain.com THE CURIOUS COMPLEXITY OF BEING TURNED ON In software, the simplest things can turn into a nightmare, especially at a large company. CROSS-DOMAIN COMMUNICATION THE HTML5 WAY Making a web application mashable -- useable in another web page -- has some challenges in the area of cross-domain communications. Here is how I solved those problems for Zwibbler.com, using HTML5 cross domain communication. FIVE ESSENTIAL STEPS TO PREPARE FOR YOUR NEXT PROGRAMMING INTERVIEW They put you in a room, give you a problem, and stare at you while you fumble around with markers on a whiteboard for 45 minutes. With a little preparation, you'll look like a pro. FINDING AWESOME DEVELOPERS IN PROGRAMMING INTERVIEWS In a job interview, I once asked a very experienced embedded software developer to write a program that reverses a string and prints it on the screen. He struggled with this basic task. This man was awesome. Give him a bucket of spare parts, and he could build a robot and program it to navigate around the room. He had worked on satellites that are now in actual orbit. He could have coded circles around me. But the one thing that he had never, ever needed to do was: display something on the screen. COMPRESS YOUR JSON WITH AUTOMATIC TYPE EXTRACTION JSON is horribly inefficient data format for data exchange between a web server and a browser. Here's how you can fix it. JZBUILD - AN EASY JAVASCRIPT BUILD SYSTEM I love languages where you need years of experience to write code that works, and languages where if you don't do everything exactly right, you will shoot yourself in the foot. Naturally, I love Javascript. Here's a simple build tool to help keep you sane. "YOUR PROGRAM IS STUPID. IT DOESN'T WORK," MY WIFE TOLD ME THE SIMPLE AND OBVIOUS WAY TO WALK THROUGH A GRAPH At some point in your programming career you may have to go through a graph of items and process them all exactly once. If you keep following neighbours, the path might loop back on itself, so you need to keep track of which ones have been processed already. ASKING USERS FOR STEPS TO REPRODUCE BUGS, AND OTHER DUMB IDEAS You can fix impossible bugs, if you really try. CREATING PORTABLE BINARIES ON LINUX Distributing applications on Linux is hard. Sure, with modern package management, _installing_ software is easy. But if you are _distributing_ an application, you probably need one Windows version, plus umpteen different versions for Linux. In this article, we'll create a dummy application that targets the following operating systems, which are commonly used in business environments... BENDING OVER: HOW TO SELL YOUR SOFTWARE TO LARGE COMPANIES For a micro-ISV, selling to businesses can be more lucrative than selling to consumers. Instead of making a few dollars per sale and hoping for thousands of sales, you sell to only a few customers, and charge much higher rates. But the rates are high for a reason. It takes more time and money to sell to businesses. REGULAR EXPRESSION MATCHING CAN BE UGLY AND SLOW If you open the first few pages of O'Reilly's Beautiful Code, you will find a well written chapter by Brian Kernighan (Personal motto: "No, I didn't invent C. Who told you that?"). The non-C inventing professor describes how a limited form of regular expressions can be implemented elegantly in only a few lines of C code. C++: A LANGUAGE FOR NEXT GENERATION WEB APPS On Monday, I was pleased to be an uninvited speaker at Waterloo Devhouse , hosted in Postrank's magnificent office. After making some surreptitious alterations to their agile development wall, I gave a tongue-in-cheek talk on how C++ can fit in to a web application. QB.JS: AN IMPLEMENTATION OF QBASIC IN JAVASCRIPT Play NIBBLES.BAS in your browser. I re-implemented a small part of QBASIC as a compiler in Javascript, so it runs in a webpage. ZWIBBLER: A SIMPLE DRAWING PROGRAM USING JAVASCRIPT AND CANVAS Now it's a commercial product, but Zwibbler was once a fun side-project, and here's some details on itsimplementation.
YOU DON'T NEED A PROJECT/SOLUTION TO USE THE VC++ DEBUGGER You learn a lot of things on the job as a programmer. Years ago, at my first coop position, I was a little confused when my boss went to Visual C++, and tried to open the .EXE file as a project. _What a dolt!_ I thought. _That's not going to work._BORING DATE (COMIC)
BARCAMP (COMIC)
HOW IEDetails
Copyright © 2024 ArchiveBay.com. All rights reserved. Terms of Use | Privacy Policy | DMCA | 2021 | Feedback | Advertising | RSS 2.0