July 18th, 2016

Abe Davis recovers audio from silent video recording ... with off-the-shelf cameras. 
A friend sent me a link to one of Mr. Davis's older talks on this tech. The link below
is a newer version of the presentation. In it, Mr. Davis creates interactive objects
that were filmed and run thru his tech. It's crazy.

Link: TED - Abe Davis: New Video Tech Reveals Object's Hidden Properties
URL: https://www.ted.com/talks/abe_davis_new_video_technology_that_reveals_an_object_s_hidden_properties?language=en
May 7th, 2016

WOW! ... VBA has a rest-parameter equivalent!  :-)
    
Function Example(ByVal A As String, ParamArray Args() As Variant) As String Dim ArgsCount As Integer ArgsCount = UBound(Args) 'loop thru the Args array... End Function
This changes everything... Link 1: cPearson's Optional Arguments to Procedures URL 1: http://www.cpearson.com/excel/optionalargumentstoprocedures.aspx Link 2: Mozilla Developer Network - Rest parameters URL 2: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/rest_parameters
April 19th 2016

Google recently posted a few 360-degree videos. The NHL All-Star 
Weekend video is the first glimpse at the future of sports. I can
just image duel 360 cameras delivering stereoscopic live streams
of sporting events. How much would you pay to throw on an Occulus 
Rift and be sitting center ice for the Stanley Cup Finals? ... 
what about the World Cup? The NHL video even includes spatial audio. 
I can't wait to watch the World Cup from one of these things and hear 
the roar of the crowd from across the pitch: You'll feel like 
you're actually there ... wherever there is. Ten years from now, 
watching any sporting event on a 4k TV will feel antiquated.  

Click the link below to view the video. Move your mouse over the 
video while it plays: your mouse cursor will look like a hand. Click
and drag to look around while the video plays. 

NOTE: When the NHL video starts, there are a few 360 still-frame images.
So, be patient eventually you get to the full video. 

Link: NHL All Star Weekend - 360 Video (with spatial audio)
URL: https://youtu.be/DqlUEiyku44?list=PLU8wpH_LfhmvCvcBGui3LHC8DufjgvxNn

April 6th 2016

Just started messing around with Brave. The Ad-blocking 
browser from Brendan Eich and co. Sites tend to load 
faster when the "junk-mail" is thrown out ahead of time. 
The GUI is a bit different than the run-of-the-mill 
tab-based browsers. But that's not to say it's bad: 

It's just different.

Link: Check out Brave
URL: https://www.brave.com/

Feb 15 2016

Created a portable web-server that links basic file-system access to the pages it 
serves. I'm calling it "AppServer" ... creative, I know. You can find it at the 
link below. It was written in BlitzMax, which, in general, is used for developing
computer games. It's main advantage is that the source code can be compiled on 
the three major operating-system flavors: MacOS, Windows, Linux. (Chocolate, Vanilla, Strawberry?)

The compilied executable is light-weight and portable. This makes it easy to 
distribute. I haven't compiled it on MacOS or Linux yet, but the Windows version 
is only 432Kb. Which is a lot smaller than NWjs or Node.js. App Server would be 
much smaller, but includes an IncBin'd copy of System.js which the "api-layer"
between the browser and the AppServer.exe itself.

I messed around with Java and .NET versions, but decided on BlitzMax because it's 
portable and small. Sometime in the next few days I will post the source code on 
GitHub for all. App Server is released under the MIT license. Have fun!

Link: App Server 1.0 
URL: http://www.spencerjobe.com/appserver/home.html

Dec 21 2015

So, Internet Explorer won't send cookies with requests if the domain name has an 
underscore in it. ... what fresh hell is this?   ... I realize is probably some 
esoteric security thing, but wow that's crazy. typing in the direct IP solved the 
problem. 


Link: PRB: Session Variables Do Not Persist Between Requests After You Install Internet Explorer Security Patch MS01-055 
URL: https://support.microsoft.com/en-us/kb/316112

Dec 19 2015

Going to see Star Wars today. I am really excited about this movie. I know they shot the 
whole thing on old-school 35mm file instead of using a digital camera. In an interview, 
JJ Abrams said they tracked down and used the camera lenses from Panavision that shot the
original three movies. Good stuff.

Video:  Fox 5 DC - Abrams interview 
URL: https://youtu.be/MjWHpwihkZw?t=627

Nov 19 2015

Interesting article and a short documentary from
Glenn Greenwald about a homeless man and his 
dogs living on the streets of Rio de Janerio. 


Article:  The Intercept - Dogs forge a bond with Rio's homeless that is life saving
URL: https://theintercept.com/2015/10/13/dogs-forge-a-bond-with-rios-homeless-that-is-life-saving/

Video: The Intercept- Field of Vision: Birdie
URL: https://theintercept.com/fieldofvision/birdie

Nov 18 2015

So there's really no way to monitor progress of an upload
in older browsers without using some type of plug in. Best I could 
come up with was to upload the file in a iframe and use a setTimeout 
loop to check for a page load. If the page is still loading, then 
animate a loading dial, if the page is loaded, then remove the loading dial.

Nov 9 2015

UPDATE: the equation below is not accurate. I still don't 
know what the hell IE is doing. Gotta go digging.

Found this great post on uploading multipart/form-data using AJAX. 
Very cool. But it of course IE is giving me problems. The upload.progress
event is passed an object that has "loaded" and "total" properties. 
when loaded equals total you should be done. Work as expected in Chrome,
but in IE the "load" is not complete until the loaded value is twice 
the size of the total plus the inital loaded value. 

        real total = (e.total * 2) + [initial e.loaded value]

WTF IE?

I think the real total is including the other items on the form. 
Gonna do some digging.

oh and here's that site

AJAX File Upload with Progress

URL: http://codular.com/javascript-ajax-file-upload-with-progress

Nov 1 2015

WhyArs Technica is a great site. 

Aside from the many well-written articles covering a range of different scientific
and technological subjects, there is another reason why Ars Technica is so 
great. The article below highlights a cancer-attacking-virus therapy that 
the FDA approved for use on Tuesday. While the article itself is a great
example of the topics covered by Ars, it is the promoted comments that make
the site so much better. Below the article, one of the researchers working
on the therapy described in the article replied with a comment. 

I haven't verified this person's claims. But, for the sake of argument, let's assume 
they are being honest. For me, this highlights an important fact: Ars Technica is 
read by experts in the industry. The comment itself enhances the value of the article.
And, while it cannot be verified without further research, it helps promote
fruitful discussion on the topic. Rather that forcing readers to dig through
the "pile" of comments to find this expert's reply, the comment is promoted
so it is easily visible to the reader. The promoted-comment mechanic is
another reason why Ars Technica is a great site. I recommend adding it to your 
daily browsing habits. 

ArsTechnica: Cancer-killing viruses have finally arrived

URL: http://arstechnica.com/science/2015/10/cancer-killing-viruses-have-finally-arrived/

Oct 22 2015

Great presentation by Douglas Crockford on managing programmers. This
one deserves your full attention. Lot's of funny stuff (Dilbert and XKCD). 
I especially like his distinction between engineers and "software" engineers. 
Engineers have gravity to keep them honest, programmers don't have that. 

If you manage programmers, this is a must watch.

Managing Programmers by Douglas Crockford at Silicon Valley Code Camp

URL: https://www.youtube.com/watch?v=NPlMcUxFOlY

Oct 13 2015

Crazy story about Soviet key-logging tech from the 1970s. 

    "All of the implants were quite sophisticated. Each implant had a magnetometer that 
     converted the mechanical energy of key strokes into local magnetic disturbances. The 
     electronics package in the implant responded to these disturbances, categorized the 
     underlying data, and transmitted the results to a nearby listening post. Data were 
     transmitted via radio frequency. The implant was enabled by remote control. Another 
     advantage of these bugs was easy installation. Engineers estimated that a skilled 
     technician could install an implant in a typewriter in a half hour. The integrated 
     circuits were very sophisticated for that time period. The circuits contained one
     bit core memory, an advancement that NSA engineers had never seen."


Ars Technica : How Soviets used IBM Selectric keyloggers to spy on US diplomats 

URL: http://arstechnica.com/security/2015/10/how-soviets-used-ibm-selectric-keyloggers-to-spy-on-us-diplomats/

Oct 8 2015

Watched an interesting video on programming language design. 
See link below for details. 

YouTube: "Eve" by Chris Granger (Strange Loop Sept 24, 2015)

URL: https://www.youtube.com/watch?v=5V1ynVyud4M

Oct 7 2015

This is a cool JavaScript library that allows you to embed TypeScript within your
HTML files instead of an ahead-of-time transpile. This is would make a good lightning
talk presentation too. I feel like the whole edit, compile, run, debug loop is from
another era. Machines are fast enough and VM science is advanced enough where this 
loop should just be edit-debug. In this setting edits are compiled and run on the fly.
Brackets.IO has a Live Preview feature that enables some of this behavior and its
the cleanest one I've used. This edit/debug concept seems to make sense. 

On the other hand, enterprise envrionments will require version tracking through
some sort of content management system (CMS). Any edits would need to be run through
unit tests. Systems could integrate these steps. After an edit is made, the most
up-to-date version is run thru any unit tests. If it passes, it is sent to the CMS
to do its thing. Then, it is deployed to the testing environment for debugging. 

This probably exists somewhere already, I'll take a look at some point and 
probably post my findings. Using this library and Brackets.IO, you can run this sort
of edit-debug loop with TypeScript. I think it would be neat to embed TypeScript in 
Excel as an alternative to VBA. More on this later...

GitHub: TypeScript-Compile

URL: https://github.com/niutech/typescript-compile

Oct 6, 2015

Finally saw The Martian. It was a fun movie. Maybe if 
the Romans didn't kill Archimedes, we'd be there by now...
Thanks Romans. 

Oct 6, 2015

Crazy story about Archimedes' lost journal. Turns out he 
invented Calculus about 1800 years before Newton. 

YouTube: The Lost Book of Archimedes

URL: https://www.youtube.com/watch?v=e6LtbV2nLLc

Oct 6, 2015

Well it's been a while since this thing was updated.
It's got a new look and feel that is much cleaner. 
It's late, so its time for bed. I am going to try and
keep this thing more up-to-date.