HNHacker News
TopNewBestAskShowJobs

lizard

177 karma · joined July 31, 2013

submissionscomments
lizard··on The worst programmer I know
You know, after I wrote this I got to thinking, "Why don't I have have more social Zoom calls?"

The answer is that I never was good at social things like inviting people to coffee.

But it doesn't help that we're taught to "protect" our time and avoid unnecessary calls and meetings. Presumably so we can write more lines of code, close more tickets, or earn more points like the story and other anecdotes here.

I think I may try something new in my calendar. Worst case I'll end up sitting in front of my computer alone with a block for the next hour and nothing to do but work on all those things I need to do anyways.

lizard··on I mirrored all the code from PyPI to GitHub and analysed it
According to the stats on the original link, there are over 25,000 identified secret ids/keys/tokens in the data. And it looks like that's just identifiable secrets, e.g. "Google API Keys" that I'm guessing are identifiable because they have a specific pattern, and may be missing other secrets that use less recognizable patterns.

I mean, sure, compared to the 478,876 Projects claimed on https://pypi.org/, that's a pretty small minority. On the other hand, I'd guess many Python packages don't use these particular services, or even need to connect to a remote service at all, so the area for this class of mistake should be smaller.

And mistakes do happen, but that's a pretty big thing to miss if you are knowingly publishing your code with the expectation other people will be reading it.

lizard··on I mirrored all the code from PyPI to GitHub and analysed it
Kinda like you say yourself, the service is probably the least interesting part.

It doesn't really matter whether its a public repository or if you use thing your friends shared only within their network. When it comes to what people expect and how they'll feel about breaking those expectations, the only difference is that a smaller network of generally like-minded people _may_ already be cool with it, or at least it's easier to ask.

I'm not even saying they're right to feel weird about it. Just that people are going to feel what they're going to feel, and doing something they didn't expect is a sure-fire way to get them to feel _something_.

lizard··on I mirrored all the code from PyPI to GitHub and analysed it
> Isn't this quite circular? People using code you publish publicly makes you reluctant to publish code publicly?

Not that I disagree with this project, but just to maybe help see it from a little different perspective...

When people publish their code, I think they typically expect it's going to be used like

    import my_package
    do_something_cool()
So it is a little weird when things like this come along and change that expectation.

It's kind of like, "I scanned millions of Facebook photos for soda cans to see if people prefer Pepsi or Coke!" People didn't post those photos be be part of a project, they just wanted to share some pictures with their friends.

lizard··on The worst programmer I know
I don't know about you, but I don't tend to have breakfast and lunch over Zoom.

While I did go out to lunch with coworkers more often while working in the office it was almost exclusively with direct teammates, and other groups I occasionally saw where also on the same team.

Now that I'm fully remote, I will typically do a few "hacking sessions" over Zoom every week. Its much easier and more comfortable than standing over their shoulder in tiny cubes we used to have.

That said, especially now that i am fully remote, I've been trying and mostly failing to get developers especially across teams to talk and collaborate more. But its not too suprising: I was recently in a call and I was introduced to another developer who I replied, "Yeah, I know you. I was in the cube next to you for 2 years and on your team for 6 months."

Remote creates some new challenges, but its a culture thing, not a technology thing.

lizard··on FCC refuses to scrap rule requiring ISPs to list every monthly fee
> My stake here is just to alert people that their municipalities are taxing them for using the Internet, and hiding it in "fees" that most customers assume are Comcast soaking them (see: this very thread).

This is what surprises and concerns me most about the ISP's dispute. Why wouldn't they be excited to "pass the buck" and blame the government for your higher bill?

While these pass-through fees probably are a logistical nightmare for them, the fees themselves don't seem to be anything new thing so they must already be dealing with them anyways and the rule is just telling them share that information with the customer. Unless they've been absorbing the fees them as a cost of business and just charging higher service rates, in which case they aren't actually being passed through. Which seems like it would either make the whole conversation moot, or is something they could get in trouble for.

Maybe I am just being cynical, my opinion of ISPs has been soured of late, but I suspect there is more to than just logistics. Possibly, people are being charged "unfairly" paying different rates for the same service regardless of location, but in the other direction: I.e. "Everyone" is paying $X for Y Mbps Down / Z Mbps Up, but some of them are paying $10 in pass-through fees while others are paying $20, and the ISPs are pocketing the difference.

Alternatively, particularly if there is actually competition in the area, it may reveal that where ISPs appear to be offering comparable services at a similar rate have actually negotiated different pass-through fees are just charging more for the base service instead of passing those saving on to customers.

It's probably debatable whether these things are actually bad or just the market at work, but it does make sense that ISP wouldn't want people catching onto them. In general, the current ambiguity would work in their favor because every time your bill goes up they can just hand-wave it as, "Oh, that includes various government fees and so on" where not the bill would have to actually say who's rates are going up.

lizard··on FCC refuses to scrap rule requiring ISPs to list every monthly fee
I imagine some people won't be thrilled about the "Fee listing fee" that's going to show up on their bill.
lizard··on Failing to draw lines between ‘script’ and ‘program’
Does being able to say

  I have a labrador.
instead of,

  I have a dog.
give any value?

It depends what you are doing and who you are working with, I suppose.

lizard··on CLI tools hidden in the Python standard library
Its notable, perhaps, that the

  if __name__ == "__main__":
block allows you to do this for a _module_, i.e. a single *.py file. If you want to do this for a package, add a `__main__.py`

You can also use either of these throughout your code so that you can have

  python -m foo
  python -m foo.bar
  python -m foo.bar.baz
each doing different, but hopefully somewhat related, things.
lizard··on Failing to draw lines between ‘script’ and ‘program’
I think of scripts as a sub-type of program; it is more appropriate to contrast it to a library, such that the intent changes a few expectations about how the program is built and maintained.

A script is specifically a program intended to perform a user process.

Scripts may be maintained by the "user" who has knowledge of the process, rather than the domain or software engineering. Things like style guides don't matter for a script if just needs to gets the job done. They may be messy and easier to replace than refactor if the process or environment change.

In Python I also make the distinction that a script (can) use hyphens in the name, which can be executed, e.g. `python do-thing.py`, but can't be imported through a typical `import` statement (because they generally shouldn't be).

As you say, this isn't really _important_. Scripts _can be_ well written and follow engineering principles. I just use this distinction to recognize the need for these "fast and loose" programs, where there's more emphasis on making a thing happen than maintaining the code.

By saying, "This is a script," I'm really saying, "I don't expect to put a lot of energy into it."

lizard··on How's business at Stack Overflow?
It seems like there's an opportunity here for SO to use an LLM to provide an immediate response to questions, then allow the community to discuss, clarify, expand, and even correct the response.

This could even be done collaboratively with the LLM to improve its training with real expertise instead of feeding back into itself.

This would be a bit of a product shift for SO though, and some people would undoubtedly be opposed to it and leave the platform. But if LLMs pose a threat to the platform it may be better than to alternative.

lizard··on Samsung's AI photo feature adds creepy teeth to baby photos
Yes, it does add something.

To be vain about it, there's enough drama and messiness in day-to-day life. I don't want to be reminded of that when I look back; I want to see the good parts, that it was all worthwhile.

But, more practically even, photographs capture history. You may not be thinking about it when you're just taking a personal photo, but a fair bit of history does come from personal collections. Especially less significant figures or events where those personal artifacts are the only things that even exist.

Its difficult to gain much useful information when the images are blurry, distorted, or covered in shadow. You may appreciate the funny face, but can a historian or a great-great-grandchild confirm the person in the photo when they are covering half their face in a sneeze?

That said, the pendulum definitely swings in the other direction, too. Despite all the information we gather these days, there may be less meaningful history for the next several decades because you simply can't trust any of it is actually genuine.

lizard··on Samsung's AI photo feature adds creepy teeth to baby photos
On one hand, I'm not a photographer, I don't want to be a photographer, and I don't want to spend 30 minutes trying to get everything lined up and everyone looking in the right direction and not blinking or sneezing or whatever. I just want a decent picture that captures people being happy doing a thing.

On the other hand, maybe the world needs more reminders that most people are pretty mundane, hardly able to get more than 2 people looking in the same direction for long enough to snap a shutter, just trying to get through life.

lizard··on Greenland ice sheet is close to a melting point of no return
Sure, but that's kinda the point. Changing society's beliefs and especially behaviors can take generations.

Today's adults are talking about it, but not doing enough about it. But for many of them it only became a problem after decades of not really hearing or caring about it. They have decades of experience not worrying about it and not seeing any consequences of it.

Today's kids have been hearing about it for most or all their lives. They'll grow up seeing more evidence of what's happening and how it will impact them. They won't know a world that's not talking about it.

Is that a guarantee they'll do something about it? Of course not.

lizard··on Greenland ice sheet is close to a melting point of no return
As a fairly new parent, I'm not thrilled about the world my daughter will inherit. I struggle with a lot of questions like whether I should raise her to be a "good" person or a "successful" person.

But, I've heard that studies show that younger generations are more concerned about the environment. Both in that they are showing an interest in the subject at younger ages and they are more likely than older generations to acknowledge it as an issue that affects them.

This suggests that our children may not only be better equipped to handle these issues than we are (assuming we continue to advance science and technology without major catastrophe in the meanwhile), but will be more interested in pursuing these problems both personally and professionally and, in the worst case, more willing to make the necessary sacrifices to see actual change.

While I certainly hope we can do more and that I can have some confidence my children will actually be better off than myself, changing the way the world thinks is a very slow and difficult thing to do. It may be the case the best we can accomplish is to hold it together the best we can while teaching our children to care about the world around them, and, when the time comes, step aside to let them solve these problems.

lizard··on NPR cancels 4 podcasts amid major layoffs
> To what extent is this an actual "issue?" What are we sacrificing for having a plethora of divergent ideas?

There's nothing wrong with divergent ideas per se, but divergent ideas themselves don't really do anything. You and I probably have different ideas about something. And we can leave it at that and both go on with our lives, never interacting and learning about another idea than our own.

In the best case, nothing is gained by this, and that's OK and probably even describes the majority of interactions we will ever have with distinct people. But the "value" of divergent ideas is when they converge back together and generate brand new ideas their neither party would have on their own.

But, in the worst case we continue to diverge in our own ideas, only ever converging with people with the same ideas, building "echo chambers" that separate us from anything new and "in-groups" and "out-groups" that further divide us.

And this seems to be the problem with American politics, and bleeding into American society in general. Everything's a partisan issue and everything's on the extremes, so you're either a left-extremist, a right-extremist, or you're not even part of the conversation. If something isn't promoting our ideas, isn't serving us and shouldn't be supported.

So, what we seem to be sacrificing for having these divergent ideas is having any meaningful conversations that can create new ways forward. Which certainly does seem to be creating a lot of issues.

But for what it's worth, considering how our federal congress behaves these days, I'm inclinded to agree that a tax funded public broadcaster would probably not really be in our best interest.

lizard··on America’s online privacy problems are much bigger than TikTok
I don't know if anyone is arguing that a forced transfer like this is a good thing. But there's a fair discussion at least, like for many things we do, about whether it can--or perhaps must--be used for some "greater good."

I mean, you may not care about that discussion--and that's fine, you do you--but to ignore the circumstances around this situation means that once decided that it's going to happen, and therefore must be "good", we have to start asking other questions like, "Meta has been kinda lame lately, why don't we force them to sell to a someone we like better?" and "Probably Google, too?"

lizard··on A battle royal is brewing over copyright and AI
I think there's room for some middle ground here. It does not seem unreasonable to put some constraints on the AI such that if prompted

> produce a work in the style of $living_artist

it could respond

> With respect to $living_artist, I can't generate work in their style, but if you enjoy their work you can support them at $studio.

The whole "living" thing meaning that at some point this protection expires so you can ask for things in the style of DaVinci, Van Gogh, etc.

lizard··on Telehealth startup Cerebral shared millions of patients’ data with advertisers
Right?! If the first breach included 2 records and this only 1, it would still be the "second biggest" breach of the year.

But, the necessary context is right in the first paragraph:

> ...more than 3.1 million patients in the United States...

So to clarify, "We're not even three full months into 2023, and 3.1 million records is the second biggest?" which is quite alarming.

lizard··on Show HN: APIRank.dev – We crawled and ranked public APIs from the internet
I've been having this fight recently at work.

We're implementing a new (cloud) platform that's pretty central to our primary business. Some sub-projects have already spun off, before we had even decided how to set up and maintain the platform, because I said to meet the timeline we need to focus on more broad, general integrations first.

The decision was, instead, to bring in additional developers whom several months later we're still helping learn the APIs and troubleshoot problems (amidst the rest of our integration tasks).

Meanwhile a few weeks ago, I finally got the go-ahead and a DBA's time to do the integration I wanted. We've got a live database of 90-some tables dumped from the platform, including everything these projects are fetching (but with a greater delay between updates), accessible to the entire org. Reporting teams and business analyst are already writing queries to drive the services they need, freeing up our developers to work on other tasks.

A good API can provide very rapid, very specialized development; which is great when that development _is_ your business and so you're paying developers to keep up with it, or it's not so important that is kept up on (personal projects, prototypes, and temporary services). And a well designed and managed API shouldn't change _that_ much _that_ frequently.

But ignoring that an external API is always something you don't control and needs to be maintained is a costly mistake I've seen my org fall into over and over again.

lizard··on Google stopping coding competitions
> at least Microsoft knows how to deal with enterprises.

For what it's worth, this was a big part of why I had a positive image of Google. Enterprises are boring, especially when it comes to technology. They make boring decisions about technology because they are almost always made based on bullet lists of half-truths, rather than by the people who actually have to use it.

Google seemed to make things for the users. Gmail, Google Docs, Google Talk, none of these had feature parity with their competitors at the time, but they were just so much better to use that people abandoned those enterprise products, even if their company was the one paying for them, and Google's popularity skyrocketed.

Many years ago my university asked the students to decide between Google and Microsoft for the (student) email platform. The impression I got from IT folks I knew was that they were strongly in favor of Microsoft. But when both companies were asked to make presentations to the students, I remember leaving the Microsoft one thinking they weren't even trying.

lizard··on Communication as a critical business skill
> New messages which the sender expects to be received ina certain way but there’s no guarantee it will be because we don’t know if the recipient is setup to handle it as you expect.

I think this is one of the biggest points about communication: It requires both sides.

It doesn't matter if you have a clear and well-defined protocol for how you communicate if the other side can't, won't, or don't follow it.

It's like a web browser that only supports HTML. It may get the content your web server sends, but not the context and intent included in your CSS and JS.

And it's a lot easier to just say, "I only need the content, anyways."

lizard··on Microsoft Teams is getting big performance improvements next month
I'm not particularly familiar with Electron and WebView2, but even the Electron blog suggest that WebView2 uses some different IPC formats that can be faster[1]. Considering a big selling point of Teams is as a hub for other Microsoft products, and other plugins, it doesn't seem unreasonable that improvements to the IPC would translate to better performance for Teams, in at least many of the expected usecases.

[1]: https://www.electronjs.org/blog/webview2/#performance-discus...

lizard··on A GPT in 60 Lines of NumPy
Right, I do this with argparse for creating simple CLIs for a module generally intended to be imported and used in another program. argparse has nothing to do with the actual module functions and won't be needed if the module if going to be used in a web app or some other context.

This make even more sense for a non-standard library like fire because you won't even need this dependency if you're going to import the module and write your own interface instead.

The import in main doesn't seem particularly useful in context on a quick read, but considering the line

> utils.py contains the code to download and load the GPT-2 model weights, tokenizer, and hyper-parameters.

it seems possible some downloads are happening on import so does make sense to defer until actually needed, as suggested in sibling comments.

lizard··on Asus put out like 40 models of a laptop called the “Eee PC” (2021)
I recently learned however that the SteamOS desktop is built on a read-only image, with the expectation software will be installed via flatpak.

It is apparently possible to turn the read-only protection off to use pacman or your own thing, but anything you do may be wiped out on the next OS update.

See: https://help.steampowered.com/en/faqs/view/671A-4453-E8D2-32...

I believe it was mentioned in a previous story that it would at least not void the warranty to replace SteamOS entirely though.

lizard··on uBlock Origin becomes top addon on Firefox
Thanks, that was not clear with the commentary about "paying someone" and "before you read it" that make it sound like something normal people wouldn't do and should be wary of.
lizard··on uBlock Origin becomes top addon on Firefox
You are absolutely allowed to remove the ads from your copy of a magazine, whether you do it yourself, another household member, a visitor, or even someone you pay.

Even if someone does it without your consent, the dispute is with the copy owner not the magazine publisher.

This would be an issue if an unauthorized party took it from your mailbox, but that still has nothing to do with the publisher or content.

lizard··on Launch HN: Optery (YC W22) – Remove your personal info from the internet
I'm not familiar with the rules for data brokers or if Optery is able to compel anyone to actually delete things, especially if they claim not to not have a way to prevent reentry. The platforms I worked with all handled opt-outs with a "Has Opted Out" indicator that could be filtered, in particular on distribution, and deleting profiles was a separate concern with the only crossover that they must be kept long enough to honor opt-out requirements.

Personal profiles are messy. People have different names, addresses, email, phone numbers, and different people sharing any of the aforementioned details. This is complicated enough with the raw data and unless you have a very simple profiles or opt-out rules, such as treating the entire household as one, you're going to need more than a simple hash to figure out if there is existing opt-out history.

Profiles may also need to be kept for transactional purposes. Presumably, data brokers and people who have only heard of you through brokers wouldn't have any transactional activity. But everyone else likely needs to deal with opt-outs on the distribution side, making opt-outs a solved problem that doesn't need to happen on intake.

So...sure, you can.

But I wouldn't hold your breath that this will be seen as a reasonable expectation for most developers or businesses to implement.

lizard··on Launch HN: Optery (YC W22) – Remove your personal info from the internet
Not in California, but spent some time several years ago working on the tech for a sales arm.

My impression there was that people where pretty conscious of opt-outs and wanting to manage them carefully, if only because the consequences of not doing so could be costly. We spent a lot of time talking about opt-outs and trying to honor them across different tools they used.

Many prospects came from purchased lists. Some were contracts where some other firm was specifically handling a marketing campaign for us, but others were clearly just purchased from a data broker who, presumably, filtered their data for people who indicated an interest in us.

When we asked how to handle these, the decision was that if you showed up on one of these lists, you had opted in. After all, that is what the broker told us.

This presents the first problem: If you buy data from a broker who you have not specifically engaged to campaign on your behalf, its a little gray what that data actually represents. This may be resolved by probing into to broker's collection and segmentation more, but as far as I can tell there's not a lot of incentive for the decision makers to care.

Anyways, I was not particularly thrilled with this approach, especially after working with some lists we purchased several times a year that always had a significant number of duplicates time after time. So I wrote that particular import to check for duplicates and filter them out.

Well, this worked great until the prospects, having no recent activity, grew stale and were cleaned from the system. Then when they showed up in the list again wouldn't match and get a fresh new subscription.

Which presents the second problem: If you don't hold on to their identifiable information, you cannot determine if they have previously requested to be removed from your offerings. So it may be dumb to have to opt out again, bit the alternative is to trust them not to use your information in the mean time.

lizard··on Ask HN: What is your “I don't care if this succeeds” project?
I like my job. I mean, it's not necessarily my _passion_, but I care about the cause and believe I contribute directly and significantly to it. And while there is a lot of plumbing to do, I also have freedom to explore news ideas and learn new things.

But "anything I do for work" was my first thought when I saw this post.

What it comes down to is that there's only so much I can do to help my work's projects succeed. There's just too much out of my control. Decisions have already been made; contracts are already being signed; the clients believe they've done enough testing.

I can pick up the slack, go above and beyond, and do other people's job. But the project can still fail to get user buy-in, fail to make any notable impact, fail to make or save money, or just outright fail for reasons I can do nothing about.

That doesn't mean I don't try. I just don't care if these projects succeed. If we did what we could and learned things we can carry forward, I'm satisfied.

← PreviousPage 2 of 3Next →