HNHacker News
TopNewBestAskShowJobs

sgdread

126 karma · joined January 29, 2014

submissionscomments
sgdread··on Oculus accused of destroying evidence, Zuckerberg to testify in VR theft trial
You must count the fact that computers these days were luxury and one simply cannot afford one like we do nowadays.
sgdread··on Visualizing How Developers Rate Their Own Programming Skills
John Carmack?
sgdread··on Ask HN: How many of you have paid for sublime text?
$70 feels significantly overpriced: IntelliJ gives you full-blown IDE for $89. Switched to atom for simple text editing. IMO fair price is $15.
sgdread··on Go fonts
I usually prefer DejaVu fonts [1]. One of the best fonts for terminal and coding under free license.

[1] http://dejavu-fonts.org/wiki/Main_Page

sgdread··on Why is electricity so hard to understand? (1989)
I wish academia took more time to explain things in digestible way instead of dumping loads of dry papers in rigorous form. For instance, my life would be so much easier if I saw just this thing below [1]. Alternating current described in complex numbers has so much sense after going through that material.

[1] https://acko.net/blog/how-to-fold-a-julia-fractal/

sgdread··on Sharing a secret key amongst a group of people
I read about this algorithm when playing with Hashicorp's vault. Very elegant solution to a problem.

[1] https://www.vaultproject.io/docs/concepts/seal.html

sgdread··on Why You Will Marry the Wrong Person
There're random factors you can't control. Good example is post-partum depression. Every child birth is 20% chance; once happening, it can significantly change both partners.
sgdread··on Executable code snippets in Bing
You might harden policy files for Java process to prevent usage of Runtime. Not sure about any attack vectors, but I can execute linux commands. Also interesting that you allowed threads.

import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; class Solution {

    public static void main(String[] args) throws IOException, InterruptedException {
        final Runtime rt = Runtime.getRuntime();
        final Process pr = rt.exec("uname -a");
        new Thread(new Runnable() {
            public void run() {
                BufferedReader input = new BufferedReader(new InputStreamReader(pr.getInputStream()));
                String line = null;

                try {
                    while ((line = input.readLine()) != null)
                        System.out.println(line);
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }).start();

        pr.waitFor();
    }
	
		
}
sgdread··on Would you propose with a diamond grown in a lab?
There was a nice article [1] on how De Beers succeeded beyond even its most optimistic expectations in Japan:

"Until 1959, the importation of diamonds had not even been permitted by the postwar Japanese government. When the campaign began, in 1967, not quite 5 percent of engaged Japanese women received a diamond engagement ring. By 1972, the proportion had risen to 27 percent. By 1978, half of all Japanese women who were married wore a diamond; by 1981, some 60 percent of Japanese brides wore diamonds. In a mere fourteen years, the 1,500-year Japanese tradition had been radically revised. Diamonds became a staple of the Japanese marriage. Japan became the second largest market, after the United States, for the sale of diamond engagement rings."

[1] http://www.theatlantic.com/magazine/archive/1982/02/have-you...

sgdread··on Introducing Complex Event Processing (CEP) with Apache Flink
Some CEPs even have query languages which look very like SQL (Esper [1]). But... it's different: 1) it's push model vs pull in database (you toss data in meatgrinder and see outcome on other side as stuff goes in vs going to data and picking what you need); 2) CEPs usually keep track of data only in specified windows (time/distance); you explicitly have to manage manual data windows; this means queries to join everything with everything between two data streams will result in memory explosion on large data sets; 3) CEPs trigger evaluation on message inserts/removals - this means you can't trigger re-evaluation at will without any stimulus event and you can't do joins with absence of something; you can't simply ask CEP to fire an event if no new events happened in last 5 minutes - that needs some query trickery.

[1] http://www.espertech.com/products/esper.php

sgdread··on Ask HN: What are the best books on startups that discuss failure?
Another couple books for inspiration. I read them one after another (huge contrast in a way to run a company):

- Brad Stone's "The Everything Store: Jeff Bezos and the Age of Amazon" [1]

- Richard Branson's "Everything I Know About Leadership The Virgin Way" [2]

[1] http://www.amazon.com/Everything-Store-Jeff-Bezos-Amazon/dp/...

[2] http://www.amazon.com/Everything-About-Leadership-Virgin-Har...

sgdread··on Ask HN: What are the best books on startups that discuss failure?
I really liked Ben Horowitz's "The Hard Thing About Hard Things: Building a Business When There Are No Easy Answers" [1]

The book is not focused on failures, but it's full of really good advices on what to do when a company is moving into disaster.

[1] http://www.amazon.com/The-Hard-Thing-About-Things/dp/0062273...

sgdread··on You're a moron, Torvalds, not a cryptographer
Very interesting way to start a blogging career: never learn about subject (SHA-1 and it's role in git), call creator moron and then rant on security issues with SHA-1 without realizing SHA-1 is just hash and has no security function in git (at least in context Linus posted his reply 10 years ago).
sgdread··on Tim Sweeney: Microsoft wants to monopolise games development on PC
The second Microsoft will try to lock down distribution of software from platforms like Steam and GoG to gain competitive advantage and profits, they will be sued by Steam, EA and other platform owners. Apple with 10 major book publishers tried to do same on eBooks markets with Amazon. Ended up bad for them. "Sue the bastards!" (c) Richard Branson
sgdread··on Wintergatan – Marble Machine (music instrument using 2000 marbles)
The coolness factor points that it's a pretty nice art performance.
sgdread··on Why I killed my standing desk
The chair he has in a picture (IKEA Markus) gave me a huge back pain also it is not very good at supporting you in 135 degree position.
sgdread··on Are paper books really disappearing?
I buy lots of technical books in early-access programs like MEAP from Manning and read chapter as they come. Since price difference between eBook and eBook+print is just $10, I usually buy paper book too (for backup). In MEAP chapters come as they ready and by the time book is printed, I already read the whole book. Over last 6 years I haven't touched any of these printed books, but I still remember the heaviest boxes during my latest move - all filled with books :D

Audible is another good substitution for non-technical paper books. It transforms daily commute into productive time. You don't need constant connection to network - books can be pre-loaded and then accessed offline without any problems plus I have a luxury to set 1.25x play speed and enjoy speed of reading above average.

Though, while role of paper books is reduced, there's still a lot of value for paper books. Paper books are much easier to follow for home repairs (DIY guides). I like printed catalogues more than electronic ones (like IKEA's one [1]).

[1] IKEA bookbook: https://www.youtube.com/watch?v=MOXQo7nURs0

sgdread··on [dead]
You can't avoid identity theft, because you not in control of all your data. Anthem/OPM/lastpass will get breached or Experian will sell your data, etc. etc. The only thing you can do - harden each line of defense available [1].

[1] http://krebsonsecurity.com/2015/12/opm-breach-credit-monitor...

sgdread··on Your Fitbit fitness tracker might be lying to you
I can tell when I'm crossing 162bpm (I think it's my personal aerobic threshold). If my HR below that I'm recovering; above that - fatigue starts to build up. Also I can tell when it's above 171 - itchy feeling from lactate start to build up much faster. I did VO2 max test once and went as high as 220. It feels absolutely horrible after 190 (long-time exposure to HR at that level most likely will do permanent damage to heart).
sgdread··on Your Fitbit fitness tracker might be lying to you
Threadmill lies to me pretty much all the time. In most cases it doesn't even work for me. Unless you have a medical condition, it is very unlikely that you'll get 180bpm from 5km/h walk (mine usually don't go above 150 even going uphill with 20 pounds weight vest on my shoulders). 180bpm is 3 hearbeats every second - pretty easy to check with finger on your wrist.
sgdread··on Your Fitbit fitness tracker might be lying to you
My practical experience: optical trackers almost always lie to me when I do intervals training (though, I haven't tried expensive high-end dual-wavelength devices), while wet chest strap is pretty accurate. As instructions say: just put some water on strap and it will work.
sgdread··on JetBrains redesigned their website and logos
I liked old site: it was warm and fuzzy.
sgdread··on Metabase: Why we picked Clojure
If there's no single language lock-in, then using polyglot approach, you can get best of both worlds: write DSL parts in Clojure and other parts in Java. We did this recently in one of our porjects (Clojure piece was responsible for interacting with ElasticSearch).
sgdread··on Metabase: Why we picked Clojure
To close standard libs gap, let's assume I have static functions for odd() and take() as well as Java8 stream APIs statically imported. After this, it looks pretty compact and readable:

    take(10, i -> range(0, i)
                    .mapToObj(j -> odd(i))
                    .collect(joining(" ")))
    .collect(joining(" "));
For reference, odd and take will look like this:

    private static String odd(int i) {
        return Boolean.toString(i % 2 != 0);
    }

    private static <T> Stream<T> take(int n, Function<Integer, T> f) {
        return Stream.iterate(1, i -> ++i).map(f).limit(n);
    }
sgdread··on Someone left my Gmail in debug mode
I had idea to use something like this in our test data, but then decided to use "John Malkovich" instead. Indeed, it worked really good when test system accidentally sent data to prod system: everyone was immediately alerted, but nobody were offended.
sgdread··on How JetBrains Lost Years of Customer Loyalty in Just a Few Hours
If you're reimbursing personal licenses, it's actually violation if EULA [1]

[1] https://sales.jetbrains.com/hc/en-gb/articles/200544871-5-Ca...

sgdread··on How JetBrains Lost Years of Customer Loyalty in Just a Few Hours
Now you paying not for upgrades, but the fee to use. No payment - you can't use it.
sgdread··on How JetBrains Lost Years of Customer Loyalty in Just a Few Hours
The main difference is what happens after year term expires:

- old model: you keep using latest version you paid; no new updates;

- new model: you stop using the tool

sgdread··on Biggest image in the smallest space
It is "SORRY, OUR PRINCESS IS IN ANOTHER PIXMAP"
sgdread··on Alcatel-Lucent clocks 300 Gbps over 10,000 km submarine cable
The big question is how good was latency/jitter over that cable.
← PreviousPage 2 of 3Next →