HNHacker News
TopNewBestAskShowJobs

gopiandcode

1,210 karma · joined June 5, 2019

pronouns: she/her

url: kirancodes.me

submissionscomments
gopiandcode··on Hexing the Technical Interview (2017)
I can't speak for the context in which the magic number was chosen, but in this context, the creation of classes, the usage of "babe" seems to more closely refer the definition wherein it refers to a "a baby infant". In fact, I initially didn't realise where the claim of sexism came from until I read the phrase a second time and remembered that there was also another definition of that word.
gopiandcode··on Giant, free index to world's research papers released online
“We have seen some initiatives run into trouble, however, when the necessary rights have not been secured to enable their sustainability,”

I love the double-speak that these corrupt publishers use - it really highlights how mafia-esque the whole situation is. "Pay your protection fee, or we won't be able to /protect/ you". Intellectual slavery and copyright is just another tool of opression used to keep the wealthy in their positions of power.

gopiandcode··on Using the BBC: Why we’re asking you to sign in
..and it's not like there hasn't been precedent for that before. I'm still a little sour about the collaboration between google and the NHS - the NHS is great, but who gave them permission to share the private information of British citizens with an evil american spyware ad-tech company? Fool me once, shame on you, fool me twice...
gopiandcode··on Show HN: Pimp My Readme
Being slightly cynical here, I'd presume that's not a bug, but rather the intended outcome, and this phenomenon with markdown is just a canary for M$'s impeding extinguish phase (after having embraced and extended git forges like github).
gopiandcode··on Delete Your Facebook App
Putting aside the quality of forbes, at the end of the day, the FB app is proprietary software - we don't know if it is using the data for tracking, and even if security researchers were to determine whether one particular version of the app were not using accelerometer data, there's nothing stopping FB covertly pushing a later update that enables it later (it wouldn't even need to change the permissions).

FB is a company that doesn't deserve the benefit of the doubt, ringing the alarm bells is perfectly justified.

gopiandcode··on SmarterEveryDay's 4privacy can, and cannot, meet its goals
I think the worst example of this that comes to mind was the video by Veritasium on genome sequencing, which was just a glorified ad for those companies, and completely glossed over the privacy concerns (I mean, literally every interview that he had about the topic was with a person who had a monetary incentive to downplay the consequences).

I thought it was particularly funny that he chose the running case study for the video as the use of genomic data to catch a serial killer (a real won't someone think about the children moment), but somehow "forgot" to mention that the killer was a police officer, and thus would have also had access to any genomic data available to the police, and potentially have abused it to avoid detection, find more victims etc.

gopiandcode··on Can we trust Microsoft with open source?
There are a lot of things that China does that other countries don't do, some of these things are bad, and personally I wouldn't want them to be implemented where I live (social credit score, censorship etc.). I don't see how engaging in a race to the bottom with China here is a particularly useful line of thought.
gopiandcode··on I’m a Data Scientist – Here’s why I work at Facebook
TL;DR: Big fat paychecks, and the rest of the article is just some mental acrobatics to satisfy the author's moral conscience.

In yesterday's news: I'm a Marlboro scientist, here's why I still falsify science for them.

gopiandcode··on Facebook Recruiter Correspondence
This. I've lost my respect for so many developers who have decided to go to work for these net-social-negative surveillance companies for a fat paycheck and justify their decision by the argument that if they didn't accept the offer, then someone worse would accept.

What annoys me is not that they took the job for the paycheck (we all have to eat at the end of the say), but rather the fact that all it takes to appease their moral conscience is such a weak and flimsy bit of moral acrobatics. Have a spine and accept the real consequences of your actions at least.

gopiandcode··on Part of Windows 11 is a revamped Windows Subsystem for Linux
Don't forget, before the last step, they'll first subsidise universities and schools to explicitly train their students to have a dependence on WSL, so that they can maximally exploit their users when they introduce a fee.
gopiandcode··on Soupault is a tool that helps you create and manage static websites
An interesting thing about this application is that it's written in OCaml.
gopiandcode··on The delights and the dangers of deplatforming extremists
This post was suprisingly more nuanced and well-balanced than the comments seemed to make it out to be.

The author notes the effectiveness of deplatforming when it comes to reducing the ability of extremist groups to radicalise others, but also discusses the problems with adopting it as the main tool for enacting social change. In particular, that we, as a society, are outsourcing the global gatekeeping of free expression to unelected malevolant american mega-coorporations.

Overall, I thought this was a good article that identifies and reasonably evaluates a lot of the simple traps that permeates such discussions about free speech and social media.

Definitely worth a read.

gopiandcode··on A notable JavaScript developer shamelessly copied one of my most downloaded nod
I think it's likely indicative of the fact that the JS ecosystem doesn't really understand the meaning of open source (or the distinction between "open source" and free/libre software).

The author's comments are quite enlightening of their incomplete understanding of the licenses they use:

> nanocolors implementation and API are the same as

> Colorette. You essentially pirated my work.

After using a license that explicitly allows others to take their work, it's suprising the author thinks that someone "pirated" their work.

Hopefully this signals the start of an awakening within the JS ecosystem, with more and more developers switching to licenses like the GPL that actually respect the developers.

gopiandcode··on Go’s New Code of Conduct Arrives with a High Profile Ban
Indeed, what perfect poetic irony - Peter was certainly hoisted by his own petard. You'd think that he'd be aware of the CoC looming over him in conversations given his familiarity with it but I guess he was too short-sighted.
gopiandcode··on Three ex-US intelligence officers admit hacking for UAE
> It's been awhile since I saw the film, but that's what I remember.

Slightly OT, but you might want to clarify that you are talking about a film rather than the classical story.

If you haven't had the pleasure of reading it, it might be worthwhile to check it out, the version I read as a child had a suprisingly morbid ending for a children's book.

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

gopiandcode··on Go’ing Insane: Endless Error Handling
What you're looking for is OCaml: https://ocaml.org/
gopiandcode··on Functional programming is not popular because it is weird (2016)
Declarative languages are characterised by having the programmer specify _what they want_ but not _how to get it_ (i.e to get a sorted list, you would specify that the elements are in increasing order, but not the specific algorithm to use). In contrast, functional languages are characterised by treating functions as first class values (amongst other things, but these are harder to summarise).

Prolog for example is a declarative language, Haskell is a functional language.

gopiandcode··on I refuse to let Amazon define Rust
There was an interesting quote under one of the replies:

> The power of rust is that it's for the people... not for massive orgs to wield in order to make more money

Given that most rust code is licensed under non-copyleft licenses (MIT, etc.) I wonder where this impression came from? I have always had the impression that rust was exactly that - just another tool for massive orgs to make more money.

In contrast, a language ecosystem more like elisp, where most code is GPLed seems more "for the people".

gopiandcode··on Monads are monoids in the category of endofunctors
This. By that same virtue (although admittedly with far greater stakes), I wonder if the GP would call safety regulations on civil engineering a similar kind of "gatekeeping" in need of "disruption".
gopiandcode··on OCaml at Bloomberg
Yes, my point exactly, and in the places where people use OCaml, the overhead from not monomorphising generics isn't a performance bottleneck.
gopiandcode··on OCaml at Bloomberg
Even in these domains people still balance performance against the expressiveness of the language, or else why wouldn't everyone write their games/HFT/robotics in assembly for that "bare metal" performance?

For example, many popular game engines provide C# scripting engines _even though_ using a garbage collected language (even just for scripting) is slow (and throwing away % of performance) because the performance is _good enough_ for their usecases.

gopiandcode··on OCaml at Bloomberg
It feels somewhat disingenuous to include a turing-complete meta-programming language (i.e macros) in your definition of the C++ type system.

Because vanilla OCaml doesn't have any mechanism for expressing compile-time computations, the same level of transformations aren't possible, but I wouldn't call this a limitation of the type-system, rather the meta-programming capabilities.

Although, you can somewhat approximate it with modules and functors:

     module type M = sig type t val t: t end

     let my_type (type a) (v: a) : (module M) =
       let module M = struct
         type t = a
         let t = v
       end in
       (module M : M)

     module T1 = (val my_type 123)
     type t1 = T1.t
     let val1 : t1 = T1.t
     module T2 = (val my_type val1)
     type t2 = T2.t
gopiandcode··on Piped: A privacy-friendly YouTube front end which is efficient by design
I'd argue that it's unfair for Google to use their market power in search to subsidise their video hosting products, thereby limiting the number of competitors, and then start forcing people to participate in their unethical privacy invasive ad network to consume video content online. Using services like this is a way to protest that injustice.
gopiandcode··on Piped: A privacy-friendly YouTube front end which is efficient by design
I think the difference here is that Piped is using a custom backend server (piped-backend) which scrapes youtube html to obtain the video content/metadata (a-la invidious), while your app was using the youtube API. Google is allowed to shut your app down, but AFAIK can't police who can and can't consume their publicly available HTML.
gopiandcode··on Piped: A privacy-friendly YouTube front end which is efficient by design
> They are an unethical use of the data produced by Youtube creators, who miss out on ad revenue which they worked hard to earn.

There are many creators who don't only rely on unethical privacy invasive ads and support more ethical donations based support systems.

Just because a creator refuses to support a more ethical payment system, doesn't make it unethical to bypass participating in a system (the ad network) that actively harms you (by unethically violating your privacy).

gopiandcode··on MacKichan Software, maker of Scientific Word, has gone out of business
> Since both Scientific WorkPlace and Scientific Notebook contain the proprietary computer algebra system MuPAD, they cannot be made open source.

Don't you just hate the viral nature of infectious *proprietary* code?

To co-opt some propaganda used against GPL in the past:

Using a proprietary library in your application mandates that significant swaths of your application be released proprietary as well. That's not a problem if you wanted to release proprietary software to start with, but it's a problem for anyone else on either side of the spectrum.

For this reason, developers have to be quite careful about how they use proprietary software to make sure that it doesn't impose unwanted licensing restrictions.

gopiandcode··on Alan Turing in America
I can't agree more - it seems very disrespectful to imply that Turing was only/primarily interested in OP's father due to his sexual preferences. I think the over-sexualisation is quite evident if you simply consider changing the gender here - "Mother was a good-looking football player who was interested in logic - I don't think she understood (at least at the time) why Djikstra was interested in her!"
gopiandcode··on Schrödinger's Code
> The current attitude popular amongst compiler writers is that of strict legality; the term "language-lawyering" certainly applies.

The difference is that morality is inherently subjective whereas a programming language is pretty much the exact opposite - it is /exactly/ defined by its specification. You may disagree with the design of the language (which is subjective), but that is strictly different from "language-lawyering" and determining what is and isn't allowed by the specification as it is objectively written.

> Yet for some reason, when C and UB comes up, for some reason it seems not agreeing with those ruthlessly exploiting the standard and belittling everyone who dares question them is a highly unpopular and controversial opinion?

Barring the rather unreasonable characterisation of compiler writers as "exploiting" and "belittling" developers, if people have a problem with compiler writers optimizing to the extents allowed by the programming language, then the place to voice these concerns is not through opposition to the compiler writers (who are just doing their job), but to the standards committee writing the specification for the language.

gopiandcode··on The future of programming with certified program synthesis
Yes, that is correct. The precondition for the function states that the pointer should not be null.

The specification for the listcopy is listed slightly lower down on the article as follows:

  // r :-> x ** linked_list(x,S)
  void listcopy(void **r)
  // r :-> y ** linked_list(y,S) ** linked_list(x,S)

As the precondition explicitly states that r points to a value x, it can not be NULL, so no NULL checks are needed.

I'm not sure what the sibling post is trying to imply with recursive calls though.

gopiandcode··on Rally, a novel privacy-first data sharing platform
Looking through the FAQ, It seems like Rally requires users to send their raw data straight to the aggregation service, with the only privacy guarantees being that the data is encrypted during transport, and a "promise" that they will run internal audits to make sure private data isn't released from their servers.

IMO this seems to provide worse privacy than even Google and Micro$oft's telemetry, which at least use differential privacy to make sure that each individual's privacy is somewhat protected (the data you send is randomised so even if the aggregator is compromised by a malicious third party (e.g. NSA) individuals have some degree of plausible deniability).

Sure, Mozilla's intentions may be more "pure" (or is that just their propaganda speaking?), but in terms of privacy guarantees this seems like it is a strict downgrade, that abuses their goodwill to hide its deficiencies.

← PreviousPage 3 of 6Next →