HNHacker News
TopNewBestAskShowJobs

greydius

1,002 karma · joined July 1, 2015

submissionscomments
greydius··on The Essence of Event-Driven Programming [pdf]
It's common to use Γ (gamma) as well.
greydius··on All the Math Methods I Learned in My University Math Degree Are Now Obsolete
> what is required today is a sufficiently deep understanding of all those procedures, and the underlying concepts they are built on

This has always been the case for mathematicians. People that just learn how to do computations are called engineers.

greydius··on Why recursive data structures?
Correct. A bijection implies isomorphism in the category of sets. Thus an isomorphism exists. I suppose we need to convince ourselves that algorithms and abstract syntax trees do indeed form sets. (Exclude such things as "the algorithm that computes the set of all algorithms", etc.)
greydius··on Why recursive data structures?
> They are not two equivalent representations of the same thing.

Algorithms encoded as a program end up as an abstract syntax tree in the compiler. Algorithm -> Data structure. The compiler then turns that ast into some other representation (e.g. machine instructions, JavaScript) which is again the algorithm. Data structure -> algorithm. Bijection identified.

greydius··on A recruiter sent me a message in code. I fixed it
They exist to mess with people that copy/paste code from the internet.
greydius··on Why Clojure? (2010)
I would create a Cocktail data structure and an instance of Monad for it.

    sazerac = do
        add ice
        add ryeWhisky
        add bitters
        add absinthe
        shake
        strainInto glass
        add lemonGarnish

    main = serve $ makeCocktail sazerac
greydius··on Ask HN: How do you choose the programming language for a project?
There are a lot of variables that go into this decision.

First of all, is this a solo project or is a group of people going to be working on it? If it's a solo project, then you are far less constrained. If it was a small proof of concept or otherwise throwaway project, I'd probably use it as an opportunity to try a new language. If it's a real deliverable and doesn't involve hard real time performance, I'd choose Haskell because it's a language with which I'm proficient and I enjoy using.

If this project is going to be developed and maintained by more than just myself, then the story changes. With an existing group of developers, you have to play to their strengths and get buy-in, so use either a language they already know, something similar, or something they've shown an interest to learn. If you don't yet have developers, consider the difficulty of hiring for certain technologies. There are also performance and correctness requirements to consider.

If you happen to be an enterprise decision maker (which is unlikely since this is a community for intelligent critical-thinkers) then the only correct choice is Java. No one gets fired for choosing Java. There's a framework for everything. There are plenty of cheap developers. It's popular, so it must be good.

greydius··on Library-managed 'arXiv' spreads scientific advances rapidly and worldwide
This is an excellent point. It makes one wonder why academic journal publishers even need to exist anymore. The peer reviewers (who don't get paid anyway) could just as easily do the same job and issue a "stamp of approval".
greydius··on Finger Trees: A Simple General-Purpose Data Structure (2006)
They can be used to implement an immutable deque.
greydius··on Things I hate about Git (2012)
I'm not anywhere near an expert with git, but I'm proficient enough to use it effectively with my normal workflow. I like git, but admittedly the bar was set really low by subversion.

This article raises some valid points, though. One that resonates most with me is that git exposes its entire model. I really wish there was a git-lite that just had the few basic commands that junior developers can grok and not fuck up so I wouldn't have to waste my time explaining the same stuff for the umpteenth time.

greydius··on Show HN: CreepyCodeCollection- a Nonsense Collection of Disgusting Codes
I always thought it was "programming".
greydius··on Google is profiting from Holocaust denial, says Jewish museum
Google profits off a lot of stuff I disagree with too. I don't really blame Google, though. They're just a search engine, right? The real problem is that people can say things I don't agree with on the Internet. Something needs to be done about this. We should really look to China for leadership in this area.

Ok, enough sarcasm. What is really interesting about this is that the old saying "history is written by the winner" may have to be changed to "history is auctioned off to the highest bidder".

greydius··on Show HN: CreepyCodeCollection- a Nonsense Collection of Disgusting Codes
Why do some people call programs "codes"? I hear this a lot from mathematicians and physicists.
greydius··on Ask HN: How would you invest $500K?
I'd buy as much property as I could in the middle of nowhere and build a cabin.
greydius··on Silicon Valley Engineers Pledge to Never Build a Muslim Registry
Less competition for Oracle.
greydius··on How I use Anki to learn mathematics
That may be the case, but most people don't know what they are and what their original meanings are, so they might as well be foreign words.
greydius··on Talks that changed the way I think about programming
> The programming style demonstrated in this video is a real mind bender

You might also be interested in:

https://hackage.haskell.org/package/djinn

Djinn writes the code for you. Cut out the middle-man. (Don't show your boss.)

greydius··on Barely Half of 30-Year-Olds in the U.S. Earn More Than Their Parents Did at 30
> we should be teaching that life is hard and you should count your lucky stars if you are able to afford anymore more than an apartment

Interestingly, my father did his best to instill this lesson with his persistently defeatist and pessimistic outlook on everything.

I now (in my 30s) make more than both of my parents combined.

greydius··on What Future Java Might Look Like
This is going to happen anyway.
greydius··on An Ode to Linux Desktop Users Everywhere
> How else can you stare at an empty screen and know that you have to blacklist your video card driver? Or sit in silence while tweaking alsamixer on the command line? Or write bash aliases to reload your network driver kernel module each time your laptop resumes from suspension?

The good old days! I've been a desktop Linux user for going on a decade. Yes, it used to be a mess. Something only someone with technical acumen, enormous amounts of free time, and an endless supply of patience would subject themselves to. It's amazing how much has changed. Maybe I was lucky. I transitioned from 'student with plenty of time to mess around with my computer' into 'adult who actually needs to get work done' at around the time that Linux desktops were becoming mature. I've been using Ubuntu for the last two years and rarely have problems. Granted, I'm not a typical computer user. I don't need everything dumbed down and made pretty. I need a stable and reliable system that I have complete control over. It doesn't hurt that any software I need is an 'apt-get install' away as well.

So thank you Linux, and thanks to all the developers that contribute to the ecosystem.

greydius··on The world’s worst air force
The modern list will start with the F-35.
greydius··on The 'Washington Post' 'Blacklist' Story Is Shameful and Disgusting
Let's assume the Russian conspiracy is bogus. The question I want answered is: were all the news stories they claim to be fake really fake?
greydius··on The Unsound Playground: Java and Scala's Type Systems are Unsound
I agree that a comprehensive test suite is valuable, but I don't think it's safe to assume that errors like this will always be caught, no matter how good your tests are. It's not reasonable to write a test for every possible situation that could ever occur. In fact, it's a giant waste of time.

> of how much value is a rigorous type system?

It saves a lot of time on those tests you won't have to write and maintain just to ensure that you're getting your types correct. Strong static types are also good documentation. Some type systems (e.g. Haskell) can even explicitly indicate whether a procedure is pure or has effects. Static types also enable dispatch that can be resolved at compile-time, resulting in more efficient execution. And the list goes on.

Of course, advocates of languages without static types have heard and dismissed all these arguments before. I guess it's really just a matter of taste.

greydius··on Mastering Time-to-Market with Haskell
> Haskell developers are self-selecting

This is not going to change.

I love Haskell, and I appreciate the effort many are making to evangelize the language, but I am experienced (ie. cynical) enough to believe that it's never going to become truly mainstream.

greydius··on Swift and the Legacy of Functional Programming
Most people would agree that in functional programming we can pass functions around as first class objects. What we disagree on is the definition of function.
greydius··on Cursing Linked to Higher F*#@%$* Intelligence
Social science is complete bullshit.
greydius··on You Are Not Paid to Write Code
> It seemed like the best idea was to let him try and learn why that was a bad idea

This is exactly why it's a good idea to try your own implementations. You get intimately familiar with the problem. You understand the trade-offs, corner cases, api design, etc. far better that way. And there might be a slight chance that you come up with a better solution.

I've heard that Feynman had a motta something like "If I can't build it, I can't claim to understand it."

Also, I like the idea of apprenticeships. At some point our academic culture seems to have shifted from liberal education to some kind of quasi-vocational preparation. This is probably in response to the death of apprenticeships when we started requiring a bachelor's degree for entry level professional jobs.

greydius··on China, Japan, Russia, and South Korea Plan Renewable Energy Super Grid
What about all the coal miners that will lose their jobs because of renewable energy?
greydius··on 2 in 3 employed adults would take a pay cut to be happy at work
I'm the guy who is already happy at work and would require a (significant) raise to be less happy.
greydius··on Nvidia adds telemetry to latest drivers
Nouveau has no CUDA support, unfortunately.
← PreviousPage 5 of 10Next →