HNHacker News
TopNewBestAskShowJobs

thesystemis

344 karma · joined July 26, 2009

developer of openframeworks (openframeworks.cc) and artist (daily code sketches: http://instagram.com/zach.lieberman)

twitter.com/zachlieberman

submissionscomments
thesystemis··on Ask HN: What's the one thing that let you grow the most as a developer?
last year I made a resolution to do daily code sketches for fun:

https://www.instagram.com/zach.lieberman/

I have learned a great deal from the act of daily coding and treating code like a creative medium without any pressure on what I make or why. I found myself tackling hard challenges so I wouldn't get bored and learning a variety of new tricks to help make the sketching easier. I wrote about the process here:

https://medium.com/@zachlieberman/daily-sketches-2016-28586d...

I think daily activities are the best for growing -- short, concentrated, and limited in scope and can fit with the rest of your life.

thesystemis··on Daily Sketches in 2016
thanks!
thesystemis··on Daily Sketches in 2016
I just saw this thread... I wrote this article (and made the sketches here: https://www.instagram.com/zach.lieberman/) -- happy to answer any questions!

also if it's helpful to anyone, I do open office hours once per week and I am happy to talk to anyone about sketching, creative code or anything else:

https://medium.com/@zachlieberman/open-office-hours-124e1b79...

thesystemis··on Land Lines
I'll take a look - thanks! note that we do limit the line somewhat since the best matches are curves, lines, etc and self intersecting lines don't match very well.. The best kinds of lines are like the ones in this video (https://www.youtube.com/watch?v=w6-LK9BOVTA)
thesystemis··on Land Lines
sorry! this is a bug based on how many events the mouse is firing and I've open an issue for it -- I will take a look at the app with a gaming mouse and work on a fix.
thesystemis··on Land Lines
thanks -- do you know what graphics card that is? also you can try enabling "Override software rendering list" in chrome://flags/ -- I don't have a great handle on what gpus are blacklisted, but I know there are some that are.

putting this in the address bar can give you a lot of info as well "chrome://gpu"

thesystemis··on Land Lines
I'm not on the data arts team (I collaborated with them on this) but I'll ping them to answer.

This was a passion project, they approached me with a set of data -- satellite images, and we discussed different ways of visualizing them, etc.

thesystemis··on Land Lines
fixed! thanks!
thesystemis··on Land Lines
thanks! I am using a metric from the dollar gesture recognizer

http://depts.washington.edu/madlab/proj/dollar/index.html

which gives a value for how close to polylines are (it normalizes them and does some distance calculations)

the way the vp tree works is you provide a set of data and a metric for distance (in my case, the data was the polylines and the metric was from dollar) and it computes the structure. As long as the metric observes some basic principles (I think it's called triangle inequality) the spatial division will work and you can do a fast search for nearest neighbors.

thesystemis··on Land Lines
I think that's a great idea... I will take a look at that. here's a hack in the meantime someone put together for doing that:

https://gist.github.com/spite/90e3dbf8e117660f6788a5748ae06c...

thesystemis··on Land Lines
no it's a really good question! I think this just has to do with the line detection algorithm and it tending to find more curves than sharp angle lines -- this is what the matches look like when you draw a Z:

http://imgur.com/a/YErmM

they are not as good as when you draw a curve and I think it's just trimming based on general poor matches. I've found if I round the Z or make the angle less extreme I can get better results.

thesystemis··on Land Lines
the matching is based on the input (lines from the line detection) and we do some tricks to try to get better matches if the results aren't great. One trick is for matches that aren't super great, we start to trim the line slight from the start so if the first pass is a bad match, we try 95% of the line (ie, the last 95%) then trim is some more, etc.

another thing to note is that the app progressively loads data in the background so you get better results after the first minute or so once all the data is loaded -- the app launches with only 20% of the overall data.

thesystemis··on Land Lines
there's actually no backend! the matching is done client side.

here's a technical write up:

https://developers.google.com/web/showcase/2016/land-lines

the trick for making it fast is vantage point trees (https://en.wikipedia.org/wiki/Vantage-point_tree) which help with nearest neighbor searching through extremely large data sets.

thesystemis··on Land Lines
sorry to hear that! can you provide more info about your platform? this app uses webgl and we check for webgl support when the page loads.
thesystemis··on Daily sketching in 2016
this is a write up of a year of doing code based sketches -- last year I started to do a sketch per day here:

https://www.instagram.com/zach.lieberman/

I am happy to answer any questions about this if it's helpful

thesystemis··on Land Lines
also another tip -- you can click on the city name in the left corner to load the same view in google earth (if you are curious about what you are looking at!)
thesystemis··on Land Lines
thanks! that's great to hear
thesystemis··on Land Lines
the line is limited to a certain lengths since simpler lines (curves, etc) provide better matches
thesystemis··on Land Lines
also if it's helpful, there's a technical write up here: https://medium.com/@zachlieberman/land-lines-e1f88c745847#.k...

and overview video: https://www.youtube.com/watch?v=w6-LK9BOVTA

thesystemis··on Land Lines
I helped make this (with the google data arts team), happy to answer any questions about it.
thesystemis··on Magic Leap Alleges Workers Stole Its Secrets
thanks! -- I didn't know the history. these notes are from 2008 (long after opencv was open sourced) but it's clear from his linkedin page that he was a part of the founding team at intel.
thesystemis··on Magic Leap Alleges Workers Stole Its Secrets
He wrote the Learning OpenCV book but I'm not sure it's accurate to say he created openCV... It was created by intel internally (by a ton of folks like Vadim Pisarevsky) and later open sourced.

https://en.wikipedia.org/wiki/OpenCV

thesystemis··on TiltBrush by Google
(update - google took it down. thanks again for pointing it out to me...)
thesystemis··on TiltBrush by Google
author of inkspace here, thanks for pointing this out. I will try to flag this...
thesystemis··on Our Director of Engineering on the new Wired.com
of note -- new yorker also transitioned to a wordpress backed system recently:

http://www.nytimes.com/2014/07/09/business/media/the-new-yor...

thesystemis··on Uber Executive Suggests Digging Up Dirt on Journalists
I don't think it's wrong to argue that point, ie, "I wish this reporter would understand how we work to create a safer environment, look at the stats, etc" but I think it's far out of line to go beyond that and assign "personal responsibility" to someone who is arguing against your product, especially around these sort of crimes. To me, that seems like taking the argument to a really personal place and also, trivializing what should be a serious discussion.
thesystemis··on Uber Executive Suggests Digging Up Dirt on Journalists
sorry I respectfully disagree -- here a SVP of a company is essentially saying, "by recommending people to not use my product, you are responsible if they get assaulted" -- it's essentially shifting the blame around a sex crime in a way that to my eyes really minimizes who is responsible for such crimes, the perpetrators. It's also such a flippant remark that it seems to me to show a callous indifference to what it means to be a victim of such a crime.

ps, agree with scarmig's point -- he's not "blaming the victim" but it does feel like shifting the blame, which minimizes what these crimes mean.

thesystemis··on Uber Executive Suggests Digging Up Dirt on Journalists
I don't think he's pissed off because she's a woman, he's pissed about because she's critical. Still, when he says someone will be "personally" responsible for someone's sexual assault, he's essentially trivializing sexual assault. It's like saying that a rape victim is "partially at fault", it's wrong, indefensible and misogynistic.
thesystemis··on Uber Executive Suggests Digging Up Dirt on Journalists
I am surprised not to see the word misogynist on this page. Here, a SVP is not only threatening a reporter and her family (which is truly repugnant) and reporters generally, he's also discussing sexual assault in such a trivializing way:

"He said that he thought Lacy should be held “personally responsible” for any woman who followed her lead in deleting Uber and was then sexually assaulted."

The top comment on this page talks about a "visceral" feeling, I had the same one. I had the same feeling I had when I heard things like Todd Akin (a politican in the US) talking about "legitimate rape." Do we really want people like this shaping our future?

thesystemis··on The Pocket Handbook of Image Processing Algorithms in C (1993) [pdf]
note that this book has some significant bugs (I remember specifically a faulty quadratic equation that I was stuck on), but I don't think you use this book for the code, which is pretty outdated. This book is useful as a reminder that things like photoshop are driven by algorithms, many of which are not rocket science but rather, fit in your pocket.

One thing I particularly like about this book is that the author used photographs of his child that look super unhappy. After applying filters to them, she looks even more unhappy. It gives the book a dark and foreboding feeling.

Anyway, I always show this book to my students (along with processes like saving a raw image and opening it in audacity as a sound file, the custom tool in photoshop) as a means of demystifying image processing.

Page 1 of 3Next →