HN user

toddkaufmann

31 karma

an information forager who loves to graze. writes software. has more than enough interests.

if you want to contact me, my id at gmail will probably work.

something meta.

Posts0
Comments54
View on HN
No posts found.
[dead] 11 years ago

Looks interesting for some tables, but I'm not sold yet. Seems to (mostly) only show analysis of a single dimension at a time, though it looks like there is some scrubbing capability?

For multiple dimensions (and I would consider a table with N columns akin to a list of N-dimensional points), GGobi has a number of tools for showing the relation and co-relations. A brief demo of only a few of the features are illustrated here: https://vimeo.com/12292239 Parallel coordinates are not show in that video (it is in others), but is something that looks like it could easily fit in the top part of your table.

I know the names Ramana Rao and Stuart K. Card but hadn't seen that paper before, I'll have to look closer. Diane Cook (creator of xgobi and ggobi) also had a paper in IEEE Vis that same year.

Very interesting. So Zatocoding [1] allows for a card to have multiple index entries, and then any of those could be used to retrieve it.

For completeness, the 1951 paper is here [1]. Apparently has been covered in undergraduate algorithms at U. of I. [2] (with Bloom filters) so be getting more exposure.

Is the "needed improvement" of the 1976 paper due to better methods available (e.g. proof rigor, or understanding of sorting algorithms) or a better explanation of the methods (perhaps because of more widespread knowledge of information theory, and a better defined terminology).

I thought edge-notched cards [3] had been used for a long time (and have: since 1896)--I remember reading about them used for fingerprint card retrieval (indexed by feature, on each finger. This didn't use superimposed coding, but instead was a type of content-addressable memory--the time to retrieve all cards with e.g. a whorl on the thumb is O(1).

Apparently the cards are still used some places, see Kevin Kelly's [3] site for some images and interesting comments.

Finally found a fingerprint filing reference: "For example, as early as 1934 the FBI tried a punchcard and sorting system for searching fingerprints, but the technology at that time could not handle the large number of records in the Ident files." [5]

    1. https://courses.engr.illinois.edu/cs473/fa2013/misc/zatocoding.pdf
       (or buy from Wiley for $38)
    2. https://courses.engr.illinois.edu/cs473/fa2013/lectures.html
    3. http://en.wikipedia.org/wiki/Edge-notched_card
    4. http://kk.org/thetechnium/one-dead-media/
    5. Chapter 3: Evolution to Computerized Criminal History Records
       https://www.princeton.edu/~ota/disk3/1982/8203/820306.PDF

There are tools and data available at the Science of Science (Sci^2) site [1], part of the Cyberinfrastructure for Network Science Center, funded by NSF.

I haven't looked closely in a couple years, but my impression is NSF hopes such tools can help show the effects (and "ROI") of research grant money, connection with PI's and institutions, and their impact both on publication citation and economic impact (development of technology etc.).

Ideally this could also be used to measure growth in technical fields to determine whether more (or less) funding is required to answer bigger questions in basic science (which may not have economic incentives yet), methodologies, public policy, and education (will there be enough Ph.D's in the pipeline to meet demands for fields that will exist in ten years?).

Scientometrics [2] (the journal) has been around for nearly 40 years, and I assume people were thinking about such issues then. Sci^2 looks to me like a more "big data" approach to not only understanding this, but seeing if it is possible to "push" the frontiers (but I admit I don't know anything that goes on at NSF or how their decision-making process works).

Another tool, Publish Or Perish [3], is aimed at individual academics to understand their (or another's) impact in terms of citation metrics that are used in the games for academic (and other) hiring purposes.

I stumbled on Sci^2 when trying to learn some new fields (computer vision, hpc / parallel computing, network science, sensemaking) and wanted to quickly find seminal papers (ie highly cited, or literature reviews) to quickly get a broad overview. Not having the patience or time to read lots, playing with interesting tools and trying to extract data from Google Scholar and the like was more attractive.

Being impatient, I wanted a way to process knowledge like data. To measure something like growth of a field, it seems something like scientometrics with some natural language processing and ontology engineering is needed.

The Google paper seems to be more about an analysis of Google Scholar data and what can be gleaned there. Maybe an update of Google Scholar Metrics is coming? I am surprised no reference to scientometrics in the arXiv paper (maybe they aren't familiar with the literature?).

1. https://sci2.cns.iu.edu/user/index.php 2. http://en.wikipedia.org/wiki/Scientometrics_%28journal%29 3. http://www.harzing.com/pop.htm

Go to https://www.meteor.com/ and Start tutorial. After installed you can go through the tutorial in an hour or two depending how deep you go, and it comes with a number of examples (show with "meteor create --list").

Discover Meteor has some more; they were giving their book away (see https://www.discovermeteor.com/blog/we-made-our-book-free/ -- first 4 chapters are free).

That may be enough for the basics. Then look at telescope, or one of the chat apps listed here or search on github. Also plenty of conference talks on youtube.

Haven't tried, but I think I would find this intrusive and annoying--I'd be mentally keeping track of how many tabs I had open and then checking my bookmarks if I went over. Not for me, but maybe useful for some.

I've tried session managers too, and those are okay for restoring state when things crash.

THE GREATEST THING is Tabs Outliner (chrome only). This displays all your windows and tabs as a tree and lets you rearrange, easily close and restore windows, selectively restore, add notes to tabs, etc.

A slight learning curve, but worth it for the power surfer. Demo of some of the features in this video: https://www.youtube.com/watch?v=OqjcrfKjobY

(this comment has nothing to do with this distro, just the general state of software installation and the transmission of such instructions on the internet.)

I'm not sure anybody else gets you, but I'm totally with changing the copy-paste way of transmitting instructions. And I don't mean a gui and a whole lot of clicking.

System Requirements (hw/sw, pre-reqs) / applicability tests (will this work for me?), tailoring instructions to my configuration(s) (automatically), recommended and trusted instructions (using PKI) with data and statistics to back up the confidence I should have, time estimates and ENV-impact statement, testing and follow up discussion, and transactional rollback of any step to previous state of the system.

See instructions. Install instructions. Should be easy as a click. Something breaks, undo should be just as easy.

Copy and pasting instructions is like typing in BASIC from magazine listings decades ago. "Clipboard is the new fax machine"

At the other extreme are "apps" which are nice when they don't break, but opaque and not developer-friendly.

Willing to discuss elsewhere or learning about existing efforts which try to address these problems.

You don't have to wait. You can turn that off with '-n'.

When you jump to the end of the file ('>' command) you'll see "Calculating line numbers... (interrupt to abort)" and interrupt (ctrl-C) here will also turn them off.

At the other end of the spectrum from practicing "scales", there is the growing size and complexity of libraries and APIs. If you only scratch the surface, learn the minimal necessary, then go on to learning something else, then it's hard gain fluency.

On the other hand, you should only be repeating the same patterns so many times before you build something so you don't have to replace yourself again...

Maybe it's an 80/20 mix; mostly repetition, part novel content.

The Shut-In Economy 11 years ago

Beer is very easy. So is wine--actually easier. Lots of people have made them over the past 5000+ years, so how hard can it be?

I had helped a friend a bit with some beer, but it wasn't until a few years later I tried on my own. I started with wine, initially with a book from author of _The Joy of Home Winemaking_ [1]. Apple, blueberry, raspberry, strawberry, elderberry, and also grapes (piesporter, carmenere, barolo, grenache, viognier, etc.). Cabernet / chardonnay are boring choices for boring people; there are so many other choices available.

Good results right away. More extreme experiments, perhaps questionable results, but learned a lot in all of them.

For beer, can't go wrong with _The Complete Joy of Homebrewing_ [2].

I went to my public library and got a dozen books on each subject before going to the bookstore. Besides the techniques and recipes, there tend to be a lot of history and related books on those shelves, so definitely check your library and return for more.

It can seem like a lot of details, but it's not that hard. Easier with a friend. Even easier, you can go to a brew-on-premises place (with a friend). There's probably a homebrew group near you, maybe a meetup; go to your local brewing supply store and check it out--they're knowledgeable and usually pretty friendly too. Relax! have a homebrew.

And don't forget cider, mead, metheglin, cyser, perry, etc.

[1] http://www.joyofwine.net/ [2] http://www.amazon.com/The-Complete-Homebrewing-Fourth-Editio...

This is something that interests me very much.

My vision is an "active" notebook--something I can record ideas or hypotheses in, come back later and find them explored, implemented, fleshed out and connected to the rest of the world's knowledge.

Blog comments don't cut it. They can you help make simple discoveries or connect you to others. But, they're better than nothing.

Right now a software project with issue tracker is probably the closest thing, but this is like manual labor. I might have 5 ideas in the morning (or just from reading an article like this one). I look forward to the active lazyweb of the future.

So how many bugs remain?

Mostly rhetorical question, but can any extrapolation be done? If you go back five years, can any of those numbers correlate to the findings since? Do any metrics such as cyclomatic complexity, #defects/kLoC[1][2], unit tests or code coverage help?

In most cases the definition of "defect" is not well-defined, nor in many cases easily comparable (e.g., a typo in a debug message compared to handling SSL flags wrong). Is is a requirements or documentation bug: the specification to the the implementer was not sufficiently clear or was ambiguous. Also, when do we start counting defects? If I misspelled a keyword and the compiler flagged it, does that count? Only after the code is commited? Caught by QA? Or after it is deployed or released in a product?

Is it related to the programming language? Programmer skill level and fluency with language/libraries/tools? Did they not get enough sleep the night before when they coded that section? Or were they deep in thought thinking about 4 edges cases for this method when someone popped their head in to ask about lunch plans and knocked one of them out? Does faster coding == more "productive" programmer == more defects long term?

I'm not sure if we're still programming cavemen or have created paleolithic programming tools yet[3][4].

p.s.: satisified user of cURL since at least 1998!

    [1] http://www.infoq.com/news/2012/03/Defects-Open-Source-Commercial
    [2] http://programmers.stackexchange.com/questions/185660/is-the-average-number-of-bugs-per-loc-the-same-for-different-programming-languag
    [3] https://vimeo.com/9270320 - Greg Wilson - What We Actually Know About Software Development, and Why We Believe It's True
    (probably shorter, more recent talks exists (links appreciated))
    [4] https://www.youtube.com/watch?v=ubaX1Smg6pY - Alan Kay - Is it really "Complex"? Or did we just make it "Complicated"?
    (tangentially about software engineering, but eye-opening for how much more they were doing, and with fewer lines of code) (also, any of his talks)

Good points.

But it can also be illuminating to try one of the wagons on for a bit and see how it feels. "This is the big thing everyone's talking about? It's just like some X I put together 10 years ago, with a couple layer of warts to deal with concerns that didn't affect me."

Me too. Maybe 30+. I have alternately thought that it was procrastinating, ADD, FOMO, the distraction of shiny objects, etc.--new terms keep appearing.

In the past this has been "useful", because I learned a number of tools before I had need for them. "Useful" in quotes because I might not have been most productive at that moment but maybe it amortizes over time (ie, maybe I "10x" for spurts at later time), and it got me skills and opportunities that I wouldn't have otherwise.

If I don't a creatively productive day in doing what I'm "supposed" to be doing, I need to feed that hunger by learning something new. Sometimes it's shopping for shiny things, other times it's going deeper into something... still looking for the balance.

Suppose 100 top spam sites all had a portion of some top legitimate content site (like NYT). Wouldn't this lower the ranking of the legitimate site?

Ignoring other factors like number of incoming links--which for whocalled.us is probably a low number (why would anyone link to it?)--it seems like spam could (temporarily at least) pull down the others somewhat especially once any results can make it to the first page and get some clicks. In fact if there are 10 spam sites that link to each other or use some slimy affiliates they might get better listings.

I use services "like" whocalled.us all the time, usually for nearly every incoming number I don't recognize, before answering. I've seen whocalled.us and used it before, others equally often. I've noted a couple times (and even bookmarked I think) "this site seems less spammy than the others), but I don't remember which.

If there were some way to differentiate yourself from the others... allow people to register themselves as not telemarketers, or a business listing, or say who you are? I don't see how to verify or prevent abuse. I'm sure you've thought about this much more than me.

For long-term (at least, how they did last month) is not in the top 5 (for 3 locations I checked, at least).

No problem with that; nice interface. This site compares various "weather providers" and compares how they did: http://forecastadvisor.com/

"Past Performance is Not Necessarily Indicative of Future Results"

Whenever I hear about Microsoft, I just think irrelevant. Am I bad? Sometimes I think I might have missed out on something, but in 30+ years of programming I've never done any real development on it (unless you count java), and I often go months without encountering it (except for remote desktop occasionally).

I think it was good to have competition Apple/Linux/Google, but it doesn't seem like they've kept up.

What other languages/frameworks have similar tools?

I wrote something like this for cgi-bin scripts in 1996. Problem: you don't necessarily see everything happening in the browser, especially someone else's, especially if they're remote (or unknown), and the only evidence might be a a line in the error log. "playback <script>" would create a wrapper script that saved all environment/server variables and POST data to a file (for later playback) and then call the original script. When run from the command line or debugger, a file containing the selected playback info would be "re-hydrated" into the proper settings, and then call the original script, and it would run as it had previously on the server.

There was a library to extend this to arbitrary data (within the framework). The idiom was something like (after some initial setup):

  if ( $PLAYBACK_MODE ) {
    $result1 = get_playback_value('result1');
  } else {
     $result1 = normal_function_call();
     save_playback_value('result1', $result1);
  }
Which is pretty much portable to any language. If your language supports it, maybe automagically wrap normal_function_call so the caller doesn't have to--if you want this for every call. Recording multiple values could be done by appending something to the identifier (e.g. "result1:$i"). Generally, too much data collected in tight loops (or every db request, etc.), but you could programmatically turn it on in certain cases, only save after an assertion has failed, etc.

Playback use can be great for debugging, somewhere in between unit tests and end-to-end testing, kind of like a mock for medium-level complexity. Decouple data, events, etc. from the context in which they occur ("the real world") for later examination in a more controlled environment. Helping make irreproducible results more produceable.

I think the results from "social search" are in there, they're just incorporated at a deeper level.

I wish people who (tried to) write about search engines had a better understanding of modern information retrieval techniques (document similarity, use of metadata, bag of words, etc) and that results are no longer just keyword matching, but try to infer the users intent from context and past interactions.

Search engines could probably due a better job conveying this in the presentation of results.

Why are you getting ads ? Install adblock and/or ghostery. Fewer distractions, fewer cycles going to adware. I don't see ads in search results or gmail, and not a lot of other places either. Noticeably different on a tablet though, where it doesn't run.

At the other extreme is adnauseum, which clicks on every ad link in the background (so you don't have to).