HNHacker News
TopNewBestAskShowJobs

wgrover

592 karma · joined June 17, 2010

Professor of Bioengineering at the University of California, Riverside

https://groverlab.org

submissionscomments
wgrover··on Show HN: I've built self-opening trash bin, I relax myself feeding garbage to it
One request - after you toss in the garbage and the lid closes, make it "chew" for a couple seconds by rapidly opening/closing the lid over a small distance!
wgrover··on Human body-on-chip platform could speed up drug testing
This isn't a chip for implanting inside the body; this is a microfluidic chip that replicates some body systems in the laboratory.
wgrover··on After near-disaster, Oroville Dam spillway about to face its first big test
Here's a (pre-repair) photo of those energy dissipator blocks at the bottom of the spillway, including people for scale:

http://media.fishreports.com/reports/img-20170303-78a7bb40.j...

Hard to comprehend how massive those blocks are...

wgrover··on The Plutonium Files: America’s Secret Medical Experiments in the Cold War (1999)
Note that this is just an excerpt from a whole book on this topic, "The Plutonium Files" by Eileen Welsome. It's a riveting and disturbing read.
wgrover··on A Comprehensive Super Mario Bros. Disassembly
Looks like data for the various songs here:

https://gist.github.com/1wErt3r/4048722#file-smbdis-asm-L160...

I'd love to see the process of extracting actual audio from that.

wgrover··on Weird Python Integers
You can use sys.getrefcount() to explore these "weird integers": https://news.ycombinator.com/item?id=15093897
wgrover··on Show HN: AsciiDots – a 2D esoteric language inspired by circuits
Very cool! If you're not already familiar with LabVIEW, you might check it out as there are some very interesting similarities and differences between AsciiDots and LabVIEW. A couple that caught my eye:

- LabVIEW creates loops by enclosing the repeated code in a graphical frame of sorts. That ends up being an elegant way to deal with iteration: An array that flows into a loop turns into individual elements inside the loop (one loop iteration per element) and elements that flow out of a loop stack up into an array. I wonder if something similar might work well in AsciiDots? Or more generally, a way to deal with multi-dimensional data by having dots pile up into an array?

- The way AsciiDots deals with libraries (defining inputs and outputs spatially, i.e. top/right/bottom/left) is very similar to how sub-VIs are created in LabVIEW. The way your operations like addition, subtraction, multiplication, and division take two inputs and wait until both inputs arrive to release the result is reminiscent of LabVIEW, but they way you use horizontal and vertical to mean different things is different and very interesting. Direction is mostly meaningless in LabVIEW, so I love the way that AsciiDots ascribes a meaning to horizontal vs. vertical. Can that idea go even deeper?

- Having the "dot" carry information and have a value (not just be the point of execution) is very consistent with LabVIEW and a difference from some other text-based visual languages.

- LabVIEW "wires" (the connections between things) have different thicknesses and colors to tell the user what datatype they carry. It sounds clunky but ends up giving a lot of readability to LabVIEW programs. Not sure if a similar idea could help make AsciiDots programs more readable...?

- LabVIEW has a "highlight execution" mode that slows the program down and highlights the flow of data; very reminiscent of your animated GIF. More than just a pretty gimmick, it helps debug LabVIEW programs and it'd be a great addition to your "try it online" Heroku app.

- For when arithmetic becomes a spaghetti of symbols, LabVIEW has a "formula node" that lets you type in traditional code in C++, thereby mixing graphical and traditional languages. Maybe an interesting paradigm for AsciiDots?

All in all, AsciiDots seems to have a much lower entry barrier than other text-based graphical languages like befunge. It could even be practical for some things, the same way LabVIEW has an interesting niche in the data acquisition and instrument control world. Maybe it could be used for data analysis, where arrays flow from "open file" to "manipulate data" and "plot results"? Or a very interesting way for children to learn some programming concepts, combining the visual-ness of things like Scratch and Lightbot while still having the kids use a text editor?!

I'll shut up now. Fantastic work! Thank you for sharing it!

wgrover··on Illustrated Self-Guided Course on How to Use the Slide Rule (2012)
If you want to get the ones you had in the '70s again, eBay has loads of gorgeous slide rules for around $10 or $20, sometimes with their original cases and instructions.
wgrover··on Declaration of Independence in American (1921)
Remarkable how much this reads like the libretto of Hamilton, 90 years earlier.
wgrover··on Dr J's Guide to Drawing 3D ASCII Pictures (1994)
Proof of concept for Z-dimension Python indenting (cross your eyes):

  for line in file:          for line in file:
  print line                  print line
  print "all done!"          print "all done!"
wgrover··on Dr J's Guide to Drawing 3D ASCII Pictures (1994)
Now I want a 3D text editor. Syntax highlighting by depth? or Python indents in the third dimension!
wgrover··on Computational Complexity of Air Travel Planning (2003) [pdf]
Neat to see the graphical presentation of flight options (page 38) that would presumably evolve into Hipmunk seven years later.
wgrover··on Formerly Top Secret NSA Cryptologs From 1974-1997
Seeing redacted docs like this always makes me wonder - for brief blacked-out passages, couldn't you make measurements of the remaining letters/words on the line, their sizes and spacing, and algorithmically generate a few likely candidates for the blacked-out text?

You could at least estimate the length in characters of the blacked-out text. For a monospaced font this character count is trivial; for a proportionately-spaced font it'd be a little harder but you have lots of other non-censored characters to learn from.

wgrover··on OldSF – Pictures of San Francisco from 1850-2000
I recommend Sutro Baths:

http://www.oldsf.org/#ll:37.780073|-122.513765&m:37.7772...

and building the Palace of Fine Arts:

http://www.oldsf.org/#ll:37.802903|-122.447580&m:37.8027...

wgrover··on MIT website hacked by Lulzsec
Also plays "The Star Spangled Banner"...
wgrover··on Tomorrow Theme
I like your assessment of LabVIEW. I find that if your code is turning to spaghetti, you're not using enough sub-VIs. Try to find blocks of code that accomplish one thing and put that code in its own VI. As a bonus you get to design a little icon for your new sub-VI. :)

Your "rabbit hole" analogy is spot-on and I'm not sure how NI can address some of those problems. Some things like Ctags that are so valuable in text-based languages just seem to have no obvious analogy in a graphical programming language... it's fun to imagine though.

(Caveat, chemist talking about programming)

wgrover··on Tomorrow Theme
You're right, the auto-wire-organizer tool is fantastic. Every time I use it I wonder what algorithm LabVIEW is using to rearrange things - not an easy problem computationally I'm sure. I use it for small sub-VIs but I find that if I use it on a large project I can't find anything after using it - I was relying on spatial layout of the VI which was lost after auto-formatting.

I guess this is analogous to algorithmically reformatting code in a normal text-based programming language...

wgrover··on Tomorrow Theme
You might find graphical programming languages like LabVIEW interesting; here's a little tutorial that shows what LabVIEW programs look like:

http://www.ee.buffalo.edu/faculty/paololiu/edtech/roaldi/tut...

"Wires" that carry values are color-coded according to their contents (integers are blue, floating point values are orange, booleans are green, etc.). Loops like FOR and WHILE are actual "loops" that encircle the repeated code. The flow of information along the wires determines the order of execution for the code, and you can debug your code by turning on a special mode that actually shows the information moving down the wires.

wgrover··on John Hunter [matplotlib.sourceforge.net] has died.
As Fernando noted, if you use matplotlib regularly, check the price on a MATLAB license (looks like USD $2150.00 for a single commercial user) and then consider donating to John's family: http://numfocus.org/johnhunter/
wgrover··on Python for Data Analysis (new O'Reilly book from creator of Pandas)
Didn't know about that one - thanks for the tip!
wgrover··on Python for Data Analysis (new O'Reilly book from creator of Pandas)
Sounds good. I can't tell you how thrilled I am to have a book like this coming out. I'm very interested in using it as a text for an instrumental analysis class I'm putting together. Thanks so much!
wgrover··on Python for Data Analysis (new O'Reilly book from creator of Pandas)
wesm, do you cover using cloud-based computing resources for tackling computationally intensive data analysis problems? I use Python and PiCloud to turn what is an hours-long data analysis problem on my Mac into a minutes-long job on Amazon's hardware.

I don't know MATLAB, R, etc. well enough to say whether they can use the cloud as easily as Python, but it sure was easy with Python.

wgrover··on Why I can't return to Tennessee
Thanks twoodfin, and point taken. "Science education has no value in Tennessee" is of course hyperbole too. I tried to clarify these with the last paragraph ("I know that Tennesseans really do value science...") with debatable success.

I disagree that the bill is merely a "mild bit of meddling," but I'll remember your admonition about civil debate when writing missives in the future.

wgrover··on Why I can't return to Tennessee
That's what makes it hard to criticize this bill - of course teachers should encourage debate and critical thinking. And there are lots of subjects in science that merit debate. But the authors of the bill have a specific subject in mind - the fundamental validity of all of evolution - and giving students the impression that there is ANY debate among biologists about the fundamental validity of evolution is just dishonest.

Opponents of the bill claim that it's written the way it is (emphasizing critical thinking) to differentiate the bill from various earlier pro-creationism legislation that got overturned by the courts; details [1] and [2]. But anyway, I hope you're right and the bill ends up encouraging debate about real science.

[1] http://ncse.com/news/2012/04/boos-tennessees-monkey-law-0073...

[2] http://thedianerehmshow.org/shows/2012-04-09/debate-over-how...

wgrover··on Why I can't return to Tennessee
You're right, science keeps chugging along and I don't feel particularly persecuted as a scientist, as validating as that would be! :)

For me it comes down to the fear that because of this law, the rest of the world will view Tennesseans as less desirable to have in the world's companies/universities/laboratories/etc. because Tennesseans spend time learning about creationism instead of real science. As a Tennessean that embarrasses and worries me.

wgrover··on Why I can't return to Tennessee
Thanks - I wasn't as specific as I should have been because this was originally written as a "letter to the editor" for a couple newspapers, so I tried to keep things short. I'll make some edits accordingly.

For me, what's troubling is the language in the bill that "the teaching of some subjects, including... biological evolution... can cause controversy." The bill's authors aren't referring to any real subtle controversy about the fine details of evolution, they're referring to some controversy about the fundamental validity of evolution, a controversy that just doesn't exist.

Teaching students critical thinking is of course hugely important, and that's what makes this bill so threatening. In the guise of "encouraging critical thinking" the bill allows teachers to teach creationism, or flat-earth-ism, or whatever other unsupported pseudoscience they like. There are plenty of real debates in the scientific community that make excellent examples for teaching critical thinking - there's no need to invent fake debates.

wgrover··on Kickstarter for Science
More discussion about petridish.org on HN:

http://news.ycombinator.com/item?id=3680033

http://news.ycombinator.com/item?id=3680002

wgrover··on Show HN: Petridish.org, a kickstarter for scientific research
That's a real risk. But the longer I'm in science, the more I believe that "ideas are cheap, follow-through is everything." If I'm scooped, it's not because someone else had the same idea (probably lots of people had that same idea); it's because I didn't reduce it to practice first. If getting funding from Petridish helps you reduce your idea to practice first, maybe it's worth the risk of getting scooped.
wgrover··on Show HN: Petridish.org, a kickstarter for scientific research
My favorite thing about this is how it exposes non-scientists to the first (and IMHO most exciting and least appreciated) phase of research - thinking up experiments.
wgrover··on MIT Techtalks saturday - TED speakers, MacArthur fellows and more.
For anyone interested in going, I highly recommend hearing Ed Boyden's talk on "Engineering the Brain." Fantastic research and an amazing guy.
← PreviousPage 2 of 4Next →