HNHacker News
TopNewBestAskShowJobs

dracodoc

124 karma · joined May 31, 2017

submissionscomments
dracodoc··on Show HN: Visualizing disk IO activity using log-scale banded graphs
Different color could be a little bit distracting for minimal design, maybe there could be gaps between bands. The bands are independent with each other, a 999M 999K 999B band look like a continuous band but it should be 3 separate bars.

This is just pure nick picking, your current design probably suit your need already.

dracodoc··on Show HN: Visualizing disk IO activity using log-scale banded graphs
Maybe you can use slightly different color/background color for the bands? That way it's more obvious that the 3 bands are separated instead of one continuous band.
dracodoc··on Compressing and enhancing hand-written notes (2016)
I used to use a free software "ComicEnhancerPro" (The author is Chinese, there is English version but may not easy to find reliable download site) specially designed to enhance scanned comics.

You can remove the background very effectively by dragging a curve with preview.

You almost always need to preview and adjust some parameters, unless you have a template for similar cases.

dracodoc··on Show HN: Cross-platform desktop applications with PyQT
For an internal GUI application, Java/Swing is actually a mature solution. With Groovy and Swingbuilder, writing a swing GUI is quite easy.
dracodoc··on Fujifilm to take over Xerox in $6.1B Deal
Interestingly this pattern doesn't work with pure research: the Institute for Advanced Study (IAS) in Princeton hosted Einstein, Hermann Weyl, John von Neumann and Kurt Gödel, but there is little important work done in there.
dracodoc··on Shotcut: Free, open source, cross-platform video editor
My use case is to cut segments from one video file and append the segments together. This way I can trim ads or parts I don't want.

The aged virtualdub does this as long as the container is avi (the codec could be avc/h.264 etc). I used avidemux to convert mp4 to avi without reencoding (just change the container format), then use virtualdub to trim it.

Actually I just write time stamps in a text file then use a groovy script to generate a script can be read by virtualdub, run virtualdub with the script to do the trimming.

It has worked for me for many years.

dracodoc··on Things I did wrong as a professor (2016)
First with 4 years as assistant Prof. From the CV:

Harvard University School of Engineering and Applied Sciences

Gordon McKay Professor of Computer Science

July 1, 2010 ­ July 1, 2011

Harvard University School of Engineering and Applied Sciences

Thomas D. Cabot Associate Professor of Computer Science

July 1, 2007 ­ June 30, 2010

Harvard University School of Engineering and Applied Sciences

Assistant Professor of Computer Science

July 1, 2003 ­ June 30, 2007

Intel Research, Berkeley

Senior Researcher

August 2002 ­ July 2003

dracodoc··on IBM has simulated a quantum computer with 56 qubits on a classical computer
This news raise so many questions that not answered, provided little information for the issue.

This link is much better.

https://www.newscientist.com/article/2151032-googles-quantum...

dracodoc··on How Merkle Trees Enable the Decentralized Web
To rephrase my comment:

Some disadvantage of OP's method:

- hash code is difficult to read for human. Urls under some hierarchy share some common patterns, it also bear some meanings. All hash code will look same and have nothing to hint on the content.

- You have to copy it, almost impossible to type it, or compare two visually similar string.

- You may end up with some link shortening service for hash code, but you can use link shortening to solve the portable file host problem already.

The Merkle Trees can solve some problems, but I don't think portable urls are the right one.

dracodoc··on How Merkle Trees Enable the Decentralized Web
Or you can go one step further, use third party server to provide the link, because it's a burden to maintain your own server for many people. "Your server" is most likely somebody else's server anyway.

That will be google voice for url. The OP's method is use people's name as phone number.

Another problem with OP's method is that it's difficult to read for human, and very difficult to verify by eye. There is also no common parts for files organized in same hierarchy.

dracodoc··on How Merkle Trees Enable the Decentralized Web
It's totally possible the reality is different from the theoretical limit. See collision attacks against MD5, SHA-0 by Wang Xiaoyun.

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

dracodoc··on Google Pixel 2 and 2 XL announced
Wifi didn't replace Ethernet after many years. Even wifi has become much more reliable, faster and cheaper, Ethernet is always several steps better.

Pushing progress is not an excuse to force transition with cost and effort burden on customers.

dracodoc··on How China Sidestepped QWERTY
It's familiar because that's the only way to do it with shape. You either select a character by shape or by pinyin. The key challenge here is to design a system that

1. can cover most characters with relative small shape collection 2. use less selection steps 3. easy to learn and memorize

Wubi is optimized on the goal to determine a character with 4 shapes with almost no alternative candidate, so the raw input speed is optimized (4 keystroke for one character, and you don't need to select in most time), but it require a lot of time learning. That enabled typewriter as an job.

Later people found pinyin + good word prediction can achieve acceptable speed, the typewriter job doesn't exist anymore.

However it's still quite painful to input ancient Chinese prose, because most of them are single character word, so you have to select from a long list of characters with same pinyin (in word mode you just input pinyin of two characters, the pinyin combination have much less alternatives). Some pinyin have about 20-30 common used characters, like "ji", "yi" etc.

dracodoc··on How China Sidestepped QWERTY
There are several iterations of most popular input methods in mainland China (Cangjie is only used in HongKong area):

1. Numerous attempts were made by many people, try to encode thousands of Chinese characters in keyboard. The most popular one is Wubi, which can describe single character in 4 keystroke so you don't need to select from options. It's used by professional typewriters, and many regular users spend a lot of time to learn the system.

2. pinyin IME was improved, provided better prediction and word input(input a multi character word directly, instead one by one), it's acceptable even you need to select from a list, and you don't need to learn a system. Most casual users used the one provided by Windows Chinese version.

3. Whole sentence IME appeared, which was trained with Chinese text corpus, try to predict a whole sentence when you just input the pinyin for all of them. This proved to be short-lived since you still need to adjust several places in many cases, even it can get 100% correct in 30% cases.

4. All major IT companies start to develop their own IME as a method to collect user input and provide an entrance to their product.

5. An old IME: double pinyin start to gain more popularity. It's still pinyin, but you can use 2 letter to encode the whole pinyin instead of 4 or 6 letters. All newer IME can switch between different encoding methods, like pinyin, double pinyin, strokes.

6. Senior users tend to just use handwriting in smartphone.

dracodoc··on How China Sidestepped QWERTY
The title make it look like something relate to alternative keyboard layout, but it's actually just typewriter before computer age.

I also don't like this kind of claim:

> Ultimately, their work led to today's sophisticated predictive-text engines, which benefit from increasing processing power and cloud integration.

I highly doubt the modern IME and text engines ever take any hint from this part of history.

dracodoc··on The Hardest Program I've Ever Written (2015)
One of my side project was an auto formatter for R. There are some limits in existing formatters:

- I think most of them doesn't recognize multi line string literals, which is difficult if you consider the case that you can have "" in comments, comment symbol in "" string literals and line breaks. The only way to deal with it is to scan linearly with context.

- It's tricky to wrap a long line: + some points in a long line are more suitable for breaking points in logic level + but sometimes you want less lines and not to break too often, even it's more clear in logic. The lines could be just some parameter list that will be both well represented in one column or multi columns. + with nested code the natural indent position could be at the far right, which make each line very short if you stick to 80 columns rule.

After quite some efforts my code can deal with all the comments, multi line strings, all the operators I known (I need to separate unary and binary operators to determine whether to insert space), but the script take several seconds to run, and I haven't start to deal with indent. I probably can save some time if I do more optimization, but I don't have time to finish it now.

This python formatter talked about its algorithm, worth a read.

https://github.com/google/yapf

dracodoc··on The Uber Dilemma
The summary on TIT FOR TAT is not complete:

when you’re playing for the long run it is better to be nice — you’ll make up any short-term losses with long-term gains.

It also depend on the population distribution. If everybody else is mean, being nice in long run still lose. So the optimal strategies in different culture are obviously different.

I think TIT FOR TAT is good because: 1. it give a gesture for cooperation at first 2. but respond immediately if the response is hostile.

There were some variations of TIT FOR TAT, like being nice for several rounds, then revenge later. Those variations didn't work well.

The random strategy(being nice or mean randomly) also doesn't work because it's difficult for others to predict your behavior.

The experiment was designed for long term survival, so it doesn't apply to these cases:

Being nice for all the time, then use the reputation to scoop the biggest gain in the last step.

So the experiment is very interesting and revealed a lot of points, but the simple takeaway of "being nice is good for long term" is just too limited.

dracodoc··on Clojure will affect the way you think about programming
R and RStudio are actually quite good in this aspect.

- You can evaluate any part of editor in console with keyboard shortcut. The only difference between using console and editor is that your input is easily saved in editor.

- The environment browser make inspecting variables, data structures much easier.

Besides, in R you want to use vectorized functions for better performance, so you search for general functions and combine them, which actually promote good functional programming style instead of a big control block with many processes intertwined.

dracodoc··on Operation Luigi: How I hacked my friend without her noticing
Correction on the password part:

3.2 Tumblr used same salt for everybody, but author don't know the salt. He searched the hashed password and found 20 other users have same password hash, using same password.

3.3 Linkedin leak have no salt, by looking for the 20 other users he found the plain text password, which should be the target password.

3.4 The password no longer worked.

dracodoc··on What happens when you type Google.com into the address box and press enter
That point (arbitrary domains) become less impressive for me when I knew everybody can have some less known knowledge to others.

I found I often can learn from slickdeals discussion in various topics, which is actually a good way to hear seasoned opinions.

dracodoc··on What happens when you type Google.com into the address box and press enter
It's lacking the biology part and physics part, and chemistry, and ....

Some of the sections are just out of context and become showing offs(like the keyboard part. For a hardware position that is not enough, for a software position that's non-relevant), which doesn't mean more sophisticated, just different interest domains.

dracodoc··on Sparrho raises $3M to democratize access to science research
The proper title should be "pinterest for science". Basically it just collect publicly available abstracts, like a better RSS for daily skimming.

For the actual access to content, it does nothing.

dracodoc··on Counterintuitive problem: People in a room keep giving dollars to random others
The policy is not symmetric:

1. everybody need to give 1, but may receive 0 (99/100 probability) or 1 (1/100 probability)

2. when somebody run out of money, the total give out is no longer 100 (before this, 100 changed hand in every tick), and the probability of receiving money also changed.

So this is history dependent. The simulation need to run many rounds then compare the results of all rounds.

dracodoc··on Safety lapses hobble Los Alamos National Lab’s work on U.S. nuclear warheads
The report didn't tell the background about the private firms managing the lab, this is a much cleaner report: https://www.aps.org/publications/apsnews/201006/losalamos.cf...

Another related story https://www.washingtonpost.com/world/national-security/safet...

dracodoc··on A Terrible, Horrible, No Good, Very Bad Hardbound Update
To scale, I think you need to go either organic or mechanic:

- mechanic is scalable with more resources. Throw in more computers, programs and get more output immediately with a much higher rate compare to human

- organic is good but it take time. If you need quality work of human, it doesn't scale easily. It's possible to grow slowly with low cost.

dracodoc··on If companies interviewed tech recruiters the way they interview programmers
Yes, almost byte by byte translation, and a bad one. The original is much better.

I guess this title is better aimed at audience though, since many people may not have interest on translation.

Strongly suggest people not read yet to read the original post https://medium.freecodecamp.com/welcome-to-the-software-inte...

dracodoc··on Tad, a tabular data viewer
You can check RStudio's data viewer for reference https://support.rstudio.com/hc/en-us/articles/205175388-Usin...

It's a modified dataTable(so search is builtin. I didn't see search in Tad yet), with selectize for categorical variable filters(which is a searchable dropdown list)

Another good to have feature is to show column index. We often need to manipulate the columns in code, a column index is helpful.

Based on column index, you can also select a subset of columns faster with numeric input -- over 100 columns are normal, using checkbox to select is too cumbersome.

← PreviousPage 2 of 2