Permalink
Browse files

Introducing Boildown

  • Loading branch information...
1 parent 5a92f19 commit 654f24ba6f56141fbb36d3291aa5af29d6c42098 @markkolich committed Mar 25, 2016
Showing with 182 additions and 49 deletions.
  1. +1 −1 README.md
  2. +1 −1 content/entries/a-little-office-fun-with-hp-laserjet-printers.md
  3. +1 −1 content/entries/apache-setting-the-content-disposition-header-with-mod-rewrite.md
  4. +3 −3 content/entries/bundle-java-the-jre-and-launch-a-java-app-with-7zip-sfx.md
  5. +6 −6 content/entries/cadrought-washing-machine-drain-to-garden-hose.md
  6. +2 −2 content/entries/clok-a-new-way-to-view-time.md
  7. +1 −1 content/entries/dish-network-lnb-drift-detected-dvr-625.md
  8. +4 −4 content/entries/fixing-broken-krups-km7000-coffee-maker-triangle-head-tamper-proof-screws-too.md
  9. +1 −1 content/entries/howto-configure-apache-to-return-a-http-204-no-content-for-ajax.md
  10. +1 −1 ...t/entries/howto-hide-apache-server-version-for-security-using-servertokens-and-serversignature.md
  11. +1 −1 content/entries/howto-setting-up-your-own-local-dns-server.md
  12. +133 −0 content/entries/introducing-boildown.md
  13. +1 −1 content/entries/make-your-own-javascript-window-managerengine-using-jquery-and-prototype.md
  14. +7 −7 content/entries/mount-san-gorgonio-hike-to-the-summit-and-back-in-a-single-day.md
  15. +1 −1 content/entries/my-first-tic-tac-toe-game.md
  16. +1 −1 content/entries/network-solutions-whois-firefox-and-ie-search-provider-addengine.md
  17. +5 −5 content/entries/onyx-my-custom-solution-to-the-digital-clutter-problem.md
  18. +4 −4 ...t/entries/picking-the-right-ups-battery-backup-and-figuring-out-how-much-it-costs-to-self-host.md
  19. +1 −1 content/entries/quick-bash-script-backup-to-aws-s3.md
  20. +2 −2 ...tries/remember-kids-an-http-content-length-is-the-number-of-bytes-not-the-number-of-characters.md
  21. +1 −1 content/entries/resolving-orgxmlsaxsaxparseexception-content-is-not-allowed-in-prolog.md
  22. +3 −3 ...entries/uac-prompt-from-java-createprocess-error740-the-requested-operation-requires-elevation.md
  23. BIN content/static/entries/introducing-boildown/tcpdump-magic-boildown.png
  24. +1 −1 src/main/java/com/kolich/blog/components/GitRepository.java
View
@@ -45,7 +45,7 @@ The resulting WAR is placed into the local *dist* directory. Deploy and enjoy.
## Licensing
-Copyright (c) 2015 <a href="http://mark.koli.ch">Mark S. Kolich</a>
+Copyright (c) 2016 <a href="http://mark.koli.ch">Mark S. Kolich</a>
All code in this project is freely available for use and redistribution under the <a href="http://opensource.org/comment/991">MIT License</a>.
@@ -2,7 +2,7 @@ It may be more than a month past April Fools' Day, but there's never a bad time
And to top it all off, I successfully [ported the app to PHP](static/entries/a-little-office-fun-with-hp-laserjet-printers/hpsetdisp.php) and put a nice little front end on it for your added enjoyment.
-<img src="https://raw.githubusercontent.com/markkolich/blog/release/content/static/entries/a-little-office-fun-with-hp-laserjet-printers/insert-coin-printer.png">
+<img src="https://raw.githubusercontent.com/markkolich/blog/master/content/static/entries/a-little-office-fun-with-hp-laserjet-printers/insert-coin-printer.png">
Have fun, and remember, always understand what you're doing. If your IT department frowns upon stuff like this (what do they not frown upon, right?) then you should probably think twice before trying this at the office.
@@ -12,7 +12,7 @@ Header set Content-Disposition "attachment; filename=build-latest.jar" env=build
Using this method, here's what the `Content-Disposition` header looks like according to HttpFox:
-<img src="https://raw.githubusercontent.com/markkolich/blog/release/content/static/entries/apache-setting-the-content-disposition-header-with-mod-rewrite/httpfox-snapshot-cappuccino-kolich.jpg" width="400">
+<img src="https://raw.githubusercontent.com/markkolich/blog/master/content/static/entries/apache-setting-the-content-disposition-header-with-mod-rewrite/httpfox-snapshot-cappuccino-kolich.jpg" width="400">
Cheers.
@@ -1,6 +1,6 @@
I've been playing around with a lot of installer type stuff recently. I discovered that [Mozilla Firefox uses the 7zip SFX install launcher](http://howto.gumph.org/content/customize-firefox-installer/) kick off the Firefox installation process. I started playing around with [7zip SFX, and realized that you can do some pretty cool stuff with it](http://7zsfx.solta.ru/en/). In fact, I discovered that you can actually bundle a Java app and the Java Runtime Environment (JRE) into your own little 7zip SFX launcher. Naturally, this means you can write a Java app and then let your users start it by double clicking a native Win32 .exe. And best of all, because your launcher contains the Java Runtime Environment, the user does not have to have a JRE installed on their system to run your application!
-<img src="https://raw.githubusercontent.com/markkolich/blog/release/content/static/entries/bundle-java-the-jre-and-launch-a-java-app-with-7zip-sfx/7zip-sfx-extracting-shot-thumb-200x102.png">
+<img src="https://raw.githubusercontent.com/markkolich/blog/master/content/static/entries/bundle-java-the-jre-and-launch-a-java-app-with-7zip-sfx/7zip-sfx-extracting-shot-thumb-200x102.png">
The launcher extracts the JRE and your app to a temporary directory, then launches it using that freshly extracted JRE.
@@ -117,7 +117,7 @@ public class StartHere {
Here's a screen shot:
-<img src="https://raw.githubusercontent.com/markkolich/blog/release/content/static/entries/bundle-java-the-jre-and-launch-a-java-app-with-7zip-sfx/7zip-sfx-extracting-shot2-thumb-400x226.png">
+<img src="https://raw.githubusercontent.com/markkolich/blog/master/content/static/entries/bundle-java-the-jre-and-launch-a-java-app-with-7zip-sfx/7zip-sfx-extracting-shot2-thumb-400x226.png">
The Ant build script in my example pack compiles this app and creates `app.jar`, a runnable JAR file.
@@ -215,7 +215,7 @@ You can always manually build the installer package yourself, but why bother if
If you use Oleg's `7zSD.sfx` launcher as is, you'll notice the icon attached to the resulting `.exe` is quite poor. In all likelihood, you'll want to replace the icon with one for your application. Doing so is quite easy with [Resource Hacker](http://www.angusj.com/resourcehacker/), a freeware utility to view, modify, rename, add, delete and extract resources in 32bit Windows executables and resource files. Detailed instructions on how to replace the icon can be found [here on the 7zSD.sfx web-site](http://7zsfx.solta.ru/en/icon.html). Note that you can also use Resource Hacker to edit the version and copyright details included in the resulting executable as shown below.
-<img src="https://raw.githubusercontent.com/markkolich/blog/release/content/static/entries/bundle-java-the-jre-and-launch-a-java-app-with-7zip-sfx/7zip-sfx-change-resources-thumb-400x284.png">
+<img src="https://raw.githubusercontent.com/markkolich/blog/master/content/static/entries/bundle-java-the-jre-and-launch-a-java-app-with-7zip-sfx/7zip-sfx-change-resources-thumb-400x284.png">
In summary, it's fairly straightforward to bundle and ship the Java Runtime Environment with your Java application using 7zip SFX. Heck, Sun allows and even tells you how to redistribute the JRE with your applications (just read the LICENSE file provided with any JRE installation).
@@ -15,25 +15,25 @@ Your washing machine, and garden hose, will almost certainly be different so you
Here's what we used:
1. Flexible Rubber Pipe Coupler with Clamps
-<img src="https://raw.githubusercontent.com/markkolich/blog/release/content/static/entries/cadrought-washing-machine-drain-to-garden-hose/drain-part1.png"><br/><br/>
+<img src="https://raw.githubusercontent.com/markkolich/blog/master/content/static/entries/cadrought-washing-machine-drain-to-garden-hose/drain-part1.png"><br/><br/>
2. PVC Schedule 40, Slip x NPT Female Adapter
-<img src="https://raw.githubusercontent.com/markkolich/blog/release/content/static/entries/cadrought-washing-machine-drain-to-garden-hose/drain-part2.png"><br/><br/>
+<img src="https://raw.githubusercontent.com/markkolich/blog/master/content/static/entries/cadrought-washing-machine-drain-to-garden-hose/drain-part2.png"><br/><br/>
3. PVC Schedule 40, NPT Male x MHT Male Adapter
-<br/><img src="https://raw.githubusercontent.com/markkolich/blog/release/content/static/entries/cadrought-washing-machine-drain-to-garden-hose/drain-part3.png"><br/><br/>
+<br/><img src="https://raw.githubusercontent.com/markkolich/blog/master/content/static/entries/cadrought-washing-machine-drain-to-garden-hose/drain-part3.png"><br/><br/>
4. Garden Hose
-<img src="https://raw.githubusercontent.com/markkolich/blog/release/content/static/entries/cadrought-washing-machine-drain-to-garden-hose/drain-part4.png"><br/><br/>
+<img src="https://raw.githubusercontent.com/markkolich/blog/master/content/static/entries/cadrought-washing-machine-drain-to-garden-hose/drain-part4.png"><br/><br/>
### Assembly
With two hands, a wrench, and a gentle but firm touch you should be able to assemble these parts like so:
-<img src="https://raw.githubusercontent.com/markkolich/blog/release/content/static/entries/cadrought-washing-machine-drain-to-garden-hose/drain-winning-arrows.png" width="800"><br/><br/>
+<img src="https://raw.githubusercontent.com/markkolich/blog/master/content/static/entries/cadrought-washing-machine-drain-to-garden-hose/drain-winning-arrows.png" width="800"><br/><br/>
Some PVC glue for the slip to NPT adapter, and vinyl plumbers tape for the threads is good too, if you're into that sort of thing.
### Winning
-<img src="https://raw.githubusercontent.com/markkolich/blog/release/content/static/entries/cadrought-washing-machine-drain-to-garden-hose/assembly-2.png"> <img src="https://raw.githubusercontent.com/markkolich/blog/release/content/static/entries/cadrought-washing-machine-drain-to-garden-hose/assembly-3.png">
+<img src="https://raw.githubusercontent.com/markkolich/blog/master/content/static/entries/cadrought-washing-machine-drain-to-garden-hose/assembly-2.png"> <img src="https://raw.githubusercontent.com/markkolich/blog/master/content/static/entries/cadrought-washing-machine-drain-to-garden-hose/assembly-3.png">
And there you have it: a relatively cheap and clever solution to capture greywater water from your washing machine to be used in/around your yard.
@@ -10,7 +10,7 @@ These questions are all a slight variation of the timeless (pun intended), "what
Each column represents a single hour, in a 24-hour day. Each hour is color coded, according to the various pieces, or periods, of a typical day. As explained here, "sleeping is obviously the least productive and so that is represented in black. The morning is the time between sleeping and lunch, lunch is a time of recovery and planning for the rest of the day. Then there is the afternoon, which for many is the time when the majority of their work gets done. Finally comes evening, which is personal time, time spent with family, or time taking care of those responsibilities that have to do with running our lives and not earning a paycheck." The colors of each hour in the day directly correspond to these periods.
-<img src="https://raw.githubusercontent.com/markkolich/blog/release/content/static/entries/clok-a-new-way-to-view-time/clok-main-snap.jpg">
+<img src="https://raw.githubusercontent.com/markkolich/blog/master/content/static/entries/clok-a-new-way-to-view-time/clok-main-snap.jpg">
Each row is a different time zone, modeled after [this list on Wikipedia](http://en.wikipedia.org/wiki/Time_zone#Standard_time_zones). And finally, the red line is the approximate current time in that time zone.
@@ -20,7 +20,7 @@ Clok automatically updates itself every minute while open; no browser refresh is
You may have noticed that when you mouseover each row on the Clok, four tiny buttons appear on the far right of each time zone. These represent the various modes: H for human, K for hacker/developer/coder, S for server, and R for raccoon (nocturnal). When clicked, these buttons change the mode of Clok. If you're a relatively normal individual with decent sleeping habits, you will find Human mode most useful. If you, or a friend across the world participates in a more nocturnal lifestyle, then you might enjoy Raccoon mode.
-<img src="https://raw.githubusercontent.com/markkolich/blog/release/content/static/entries/clok-a-new-way-to-view-time/clok-mode-snap.jpg">
+<img src="https://raw.githubusercontent.com/markkolich/blog/master/content/static/entries/clok-a-new-way-to-view-time/clok-mode-snap.jpg">
If you find the time zone annotations annoying, and would like to hide them, click anywhere in the orange header bar and the name/UTC ID of each time zone should disappear.
@@ -1,6 +1,6 @@
At home, I've got a [Dish Network DVR 625](http://reviews.cnet.com/digital-video-recorders-dvrs/dish-network-dp625/4505-6474_7-31467761.html) connected to a Dish 500 on my roof. Recently, my satellite setup started experiencing some strange signal quality issues: splotching, broken audio, and in some cases the unit loses the satellite signal all together. There are no large tress or other objects that block my view of 110°W and 119°W, so I started hunting around for answers. I ran the DVR 625's self-test feature, and luckily, it helped me pin-point the problem. Based on the self-test results and my own investigation, I've concluded that I have a potential problem with the Dish 500's LNB [Low-Noise Block Converter](http://en.wikipedia.org/wiki/Low-noise_block_converter) on the roof.
-<img src="https://raw.githubusercontent.com/markkolich/blog/release/content/static/entries/dish-network-lnb-drift-detected-dvr-625/lnb-drift-screenshot.jpg">
+<img src="https://raw.githubusercontent.com/markkolich/blog/master/content/static/entries/dish-network-lnb-drift-detected-dvr-625/lnb-drift-screenshot.jpg">
The LNB is a parabolic receiver (an antenna) which converts a high-frequency satellite signal to a lower one that can be easily sent over coaxial cable. An LNB Drift indicates that the LNB's internal oscillator frequency is operating out of normal range, and therefore, it could not compensate for any normal fluctuations with the incoming satellite signal. This explains my signal quality issues; the LNB hardware is failing. On my DVR 625, the self-test reported an LNB Drift of about -6. Many online forums and other sites suggest that an LNB Drift might be caused by a failing LNB, a bad parabolic dish, or a blockage of the incoming satellite signal. In my case, I think it's pretty clear that a failing LNB is the most likely cause.
@@ -20,11 +20,11 @@ First shot, I called a few local hardware stores looking for a triangle shaped r
For the record, I found these bits at [McMaster-Carr online](http://www.mcmaster.com/#triangle-screwdriver-bits/=6ce2zm):
-<img src="https://raw.githubusercontent.com/markkolich/blog/release/content/static/entries/fixing-broken-krups-km7000-coffee-maker-triangle-head-tamper-proof-screws-too/triangle-bit.gif">
+<img src="https://raw.githubusercontent.com/markkolich/blog/master/content/static/entries/fixing-broken-krups-km7000-coffee-maker-triangle-head-tamper-proof-screws-too/triangle-bit.gif">
If you're curious, here's a close up shot of a standard Phillips head (left) and triangular bit tamper-proof screw (right):
-<img src="https://raw.githubusercontent.com/markkolich/blog/release/content/static/entries/fixing-broken-krups-km7000-coffee-maker-triangle-head-tamper-proof-screws-too/phillips-and-triangle-tamper-proof-screw.jpg" width="400">
+<img src="https://raw.githubusercontent.com/markkolich/blog/master/content/static/entries/fixing-broken-krups-km7000-coffee-maker-triangle-head-tamper-proof-screws-too/phillips-and-triangle-tamper-proof-screw.jpg" width="400">
In the end, my solution to this problem involved an old flat-head screwdriver, a vice and metal file. I snagged an old beat-up flat-head screwdriver, locked it into my vice, and filed the tip into a triangular point. About 10-minutes later, with a little trial and error, I had myself a pretty sweet triangular screwdriver bit that could easily handle these ridiculous tamper-proof screws!
@@ -53,11 +53,11 @@ Once my replacement fuses arrived, I grabbed the closest soldering gun and got d
I opted to use a few simple butt-connectors between the fuses, and the main line:
-<img src="https://raw.githubusercontent.com/markkolich/blog/release/content/static/entries/fixing-broken-krups-km7000-coffee-maker-triangle-head-tamper-proof-screws-too/km7000-replacement-fuses-butt-connectors.jpg" width="400">
+<img src="https://raw.githubusercontent.com/markkolich/blog/master/content/static/entries/fixing-broken-krups-km7000-coffee-maker-triangle-head-tamper-proof-screws-too/km7000-replacement-fuses-butt-connectors.jpg" width="400">
With both fuses replaced, I verified each with a multimeter and carefully reassembled my KM7000. I dusted it off, brought it back into my kitchen, plugged it in, and brewed up one heck of a great tasting pot of coffee.
-<img src="https://raw.githubusercontent.com/markkolich/blog/release/content/static/entries/fixing-broken-krups-km7000-coffee-maker-triangle-head-tamper-proof-screws-too/km7000-fixed-victory-is-mine.jpg" width="400">
+<img src="https://raw.githubusercontent.com/markkolich/blog/master/content/static/entries/fixing-broken-krups-km7000-coffee-maker-triangle-head-tamper-proof-screws-too/km7000-fixed-victory-is-mine.jpg" width="400">
That's the smell of delicious do-it-yourself satisfaction. Cheers!
@@ -1,6 +1,6 @@
When dealing with AJAX, you might need to configure Apache to return a HTTP `204 No Content`. This is useful when your AJAX scripts need to "ping" the server, but you don't want the server to actually return any data in the response (e.g., just acknowledge the request and return and empty response body). The server might do something behind the scenes though (like log the request) before it returns a 204. As I understand it, the only difference between a 200 and a 204, is that a [204 response means that "the server has fulfilled the request but does not need to return an entity-body"](http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.2.5).
-<img src="https://raw.githubusercontent.com/markkolich/blog/release/content/static/entries/howto-configure-apache-to-return-a-http-204-no-content-for-ajax/apache-gen-http-204-small.png">
+<img src="https://raw.githubusercontent.com/markkolich/blog/master/content/static/entries/howto-configure-apache-to-return-a-http-204-no-content-for-ajax/apache-gen-http-204-small.png">
I tried to figure out how to configure Apache to return a `204 No Content` using one of the built in modules, like [mod_actions](http://httpd.apache.org/docs/2.2/mod/mod_actions.html), or [mod_headers](http://httpd.apache.org/docs/2.2/mod/mod_headers.html).
@@ -17,7 +17,7 @@ I have yet to encounter a need to actually enable a Server Signature or provide
Oh, if you want to read up on why most admins hate the Apache web-server, take a look at [Why I Hate The Apache Web Server](http://people.apache.org/~rbowen/presentations/apacheconEU2005/hate_apache.pdf).
-<img src="https://raw.githubusercontent.com/markkolich/blog/release/content/static/entries/howto-hide-apache-server-version-for-security-using-servertokens-and-serversignature/http_response.png">
+<img src="https://raw.githubusercontent.com/markkolich/blog/master/content/static/entries/howto-hide-apache-server-version-for-security-using-servertokens-and-serversignature/http_response.png">
Cheers.
@@ -4,7 +4,7 @@ This weekend I setup my own [SVN source control server](howto-setting-up-your-ow
My network topology, shown in the diagram below, isn't too complicated. In fact, it's probably quite standard for an average developer &mdash; I've got a typical wireless router and firewall appliance connected to an HP Procurve 1800-8G Gigabit switch which fans out the bandwidth from there. Generally speaking, most traffic on my home network is local so everything sits behind the HP Procurve Gigabit switch. I'm more concerned about the internal network speed between devices, instead of device to the outside world. And of course, all of my devices sit behind NAT, which the router handles for me.
-<img src="https://raw.githubusercontent.com/markkolich/blog/release/content/static/entries/howto-setting-up-your-own-local-dns-server/kolich.com-network-topology.png" width="400">
+<img src="https://raw.githubusercontent.com/markkolich/blog/master/content/static/entries/howto-setting-up-your-own-local-dns-server/kolich.com-network-topology.png" width="400">
### The Problem
Oops, something went wrong.

0 comments on commit 654f24b

Please sign in to comment.