skysight-inc/HackerNews huggingface dataset:
Ask HN: How to share productivity tips and tools among developers in a company
As a software engineer, on my own I’ve been able to increase my efficiency and productivity at my current job over the years with the help of various programs such as command line interfaces (CLIs), GUI extensions (VS, VS Code, Chrome), software applications, and other shortcuts (aliases, etc.). I know everyone has different preferences and work styles, but I can’t help but think what I’ve been able to apply would be useful for other developers at my company.

Undoubtedly, there are other developers at my company have their own set of programs/workflows they use to increase their efficiency that I think could be useful to me and others.

I'm curious to know what strategies other developers use or have used within their company to share productivity tips and programs with their colleagues. For example, is there a dedicated Teams/Slack channel, an internal wiki, or some other type of software where engineers can share/demo programs and shortcuts they use in their day-to-day work?
Regardless, what's the alternative? Have corporations run everything and only majority share holders get any say? How do you think that'll work out?

Yet, that's exactly what the "government doesn't work" crowd seems to be pushing for. It's great if you're a billionaire neo-feudalist and terrible if you're literally anyone else.
30 million American have no health coverage.

The common refrain is that they can go to a hospital, except an emergency room is not going to help chronic conditions.

Any idea that a majority of these people are choosing to have no coverage, goes against all research on this topic.
Were you ever considered to be a strong reader? You mention you used not have trouble with any topic, but were you academically 'excellent'? Depending on where you are, your curriculum may not have been all that rigorous in reading.

Not asking in a facetious way, but is this medical program a level up from what you've done in the past?
Oh, I wouldn't even try a single wish with a genie I wasn't very, very sure wasn't hostile. It's hopeless.
It's funny because Frank Lloyd Wright's buildings almost all have leaky roofs but he kept building them to the point that flat roofs with odd joins are an inseparable part of his aesthetic.
The rate seems to be 23%, and given that this is only a sales tax this would mean the federal government is taxing at maybe 10-15% of GDP. If I remember correctly, federal government expenditures are around 30% of GDP.
You might want to check dbus… most desktop applications have a dbus interface. I normally use qdbus from command line.
That's the trade off. You have to decide whether or not it's worth it. But if you never do it, then you end up a with a system where nothing means what it says and that's awful.

I feel the best time to rename something is as early in the development process as possible. Because the longer something is wrong the more entrenched it becomes.
> is it free, open, documented and legal?

I think it says something that we live in a world where NOAA data could be seen as an underground or less than legal means of getting the weather.

Perhaps AccuWeather has been successful in their campaign to keep free weather data as obscure as possible.
That's a good observation. It's not just the neurological changes as a result of frequent exposure to clip-style internet content, but also simply adjacency to these things, as a consequence of their simply existing in ones environment.

In order to read like I read as a teenager, I now need to be on a beach and have detoxed from work/responsibility for a day or so.

I suspect the two are strongly linked. I.e. my subconscious at most times is actually continually running "normal adult life/parent shit" in the background, versus teenager-me had those cycles free.
> The "R" in ORM means relational, so whatever is working with non-relational DBs is not an ORM.

It used to mean that. No one that I'm aware of has yet proposed a better name because many of these are the same tools. (EF has some low level support for both SQL-based relational databases and some classes of Document-based databases and keeps exploring ways to improve that.) I think ORM several years back passed the point where the initial acronym was all that important and "ORM" itself is now just the generic name, no acronym at all.

We could probably use a better name as an industry, but as the adage goes naming things is one of the hardest problems in software.

> To put it another way, you could start with the relational way of doing things and probably never encounter enough pain to warrant going to an ORM.

No kidding, and also this is what most of the other threads in this Ask are about and I've never argued against it. What I have argued for, because there aren't as many voices speaking for it, is that the same happens the other way round:

You could start with a good ORM in a nice language/ecosystem doing the ORM's comfy way of doing things and probably never encounter enough pain to warrant going directly to SQL (or whatever).

Not enough people are saying that. That's most of what I wanted to contribute. I'm not sure why you are battling me on semantics or so adamant that I'm so wrong about "ORMs can be nice sometimes" other than yes it sounds like you can show me where an ORM hurt you once, but that's not my point. ORMs hurt lots people. Not every ORM is great, and not every ORM is great for you. That should all go without saying. ORMs can be nice sometimes. In an Ask full of ORM negativity, I thought I'd offer some positivity. I'm sorry?

> The web went through something vaguely similar with HTTP methods. It was cool at some point to conform to a standardized CRUD interface of GET/PUT/PATCH/DELETE on objects, but it's never that simple. Nowadays, plenty of APIs just use POST for everything with freeform requests/responses. I see DELETE sometimes, can't remember the last time I saw PATCH or PUT though.

I'm definitely lost here at this aside. I don't actually know what it has to do with the point you are making.

For what it is worth as an aside: I see plenty of REST APIs still that focus on POST/GET/PUT/DELETE (that's the direct CRUD analog in CRUD order). I haven't seen a "POST only" API since my rough and tumble PHP youth, but we presumably have very different APIs we work with. (ETA: With the obvious exception of GraphQL, which is its own sort of special, and I don't really think of an as HTTP API.)

PATCH is absolutely rare, I'll give you that, but was never a CRUD HTTP verb to begin with. It was always an extension HTTP verb from WebDAV and elsewhere. It is often hard to implement right (PUT is much easier), though increasingly accepted standards like JSON Patch (RFC 6902) and various libraries that support it have started to make it somewhat easier again and I've been seeing PATCH with expected content-type: application/json-patch+json (and only that content type) start to show up again in some APIs.
> I was able to fix a soon to be broken DarkSky bitbar script

Please fork it for us lazy ones
Netflix, movies, TV shows, hobbies, personal life. Sometimes work stuff.
A large part of the value is not the software, but the knowledge built around the software, and that knowledge must be known and understood by someone (the developers). This includes everything from domain knowledge, the history of why things are the way they are, what failed and what succeeded, the technical idiosyncrasies, etc. The software is in a sense secondary, certainly secondary to business goals as its entire purpose is to serve business goals. Software is a means and an instrument, not an end.

But perverse incentives make churn attractive. Switching jobs is often the best way to raise your income, for example.
When you look at the die shots, do you get any idea of how the masks were drawn in those days? I assume computers of the day would not have been powerful enough for a CAD tool to design a silicon or metal layer of that complexity. Were they designed in smaller parts and then stitched together into a final design? -- perhaps evident by different parts having different design styles, or not quite using all the space between functional units. Were all parts done on a computer, or some pieces hand-drawn?
Pretty sure it’s a metaphor. Edit: parent comment was edited.
Is it that you don't "know how" or that you aren't motivated to do it?

As I've gotten older (and overall more competent) my threshold for novelty / interest has gotten higher. Drudge work, that once might have been fresh for a younger version of myself, now feels repetitive. I already "know how" to do something, since I've done things like it before, and as soon as I sketch out the high level overview in my mind grinding through the implementation bores me. It's simply become harder to find projects I have an interest in.

This manifests in my work. The stuff I find boring/lame I am terrible at - when I sit down to work, my mind wanders.

For me, at least, this feels a lot like school. "I know this already. Or at least, I know the broad strokes enough that I can see how I'd go fill in the gaps. Time to zone out and think about something more interesting."
Weird - I thought his post was very kind to the work of OpenAI and was extremely balanced in how it weighed the two approaches against each other. It seems like with Wolfram there is always a lot of people who presume the worst intentions.
In this context, I'm using "bit rot" as a metaphor in the same way that the author does:

> The first is that it’s a partial explanation for bitrot, the phenomenon where working software seems to deteriorate even when the code is untouched.
An interface must be a small as possible to fulfill it's purpose, no smaller and no larger. It's not about implementation, it's about the mental model of what is expected and why.

Another way to say this is that an interface must be perfectly sized, but perhaps that is to abstract to be useful.

Rob Pike mentioned few methods because that is the only thing that interfaces mean in Go - he might have used different terminology in another context or speaking about abstraction of systems instead of interfaces alone as abstractions.
I tend to agree with you. Hard to unpack all this nuance in an HN comment. I've found that there's a middle ground between "making" a child do something and being involved in their life.
I read it as 'one to one', like a ratio. Also one person talking to one other.

Interesting though, and now you say it I realise the submitter also wrote '1-on-1s'.
If you don't have anything to say, why not simply start the conversation with "I don't have much to talk about today. I could give you a quick update on my progress since last week. Is there anything you would like to take up first?"

If there's nothing else to talk about 5 minutes into the meeting, just end with "I don't have much more to talk about today. Let's meet again next time?"
> Of course it costs more, this is why. You essentially get what you pay for.

The pricing isn't that different. It's just a worse service.

- Can't open the damn window in >95% of hotels. It's often too warm.

- Noisy ventilation you can't turn off in a significant number.

- No way to prepare your own food. If I'm staying somewhere for a week (or longer) then I don't want to eat out every day.

- There's rarely decent desk to work at. That thing with 20cm depth and a height suitable for midgets does not count.

- There's rarely a decent sofa.

People don't choose AirBnB because it's cheaper. They choose it because it gives them a better service.
Looks like everyone is trying to save money. Instead of laying people off, I think companies should inspect their cloud architecture and processes.
"This led French explorers to dub the tree the bois d’arc, meaning “wood of the bow” (and, of course, English speakers dubbed it the Osage orange after the tribe that famously put it to use)."

And, in southwestern American speech, "bowdock", I believe.

There are a couple of osage orange trees near where I live in Washington, DC.
> taxing at time of consumption is fairly hard to implement

Yet very amusing to imagine.[1]

[1]: In a Monty Python or Douglas Adams way, natch.
> He would pay taxes on whatever he spends that 100B on.

that's depends if reinvesting is counted as spend.
OP is likely from Oregon and it sounds like it could be very hard, as the delay may be imposed in association with needing further licensing after he misses the cutoff. It is my understanding there may not even be a way to get the license yet after he misses the cutoff.

AFAIK the new ballot approved scheme requires this currently unobtonium new permit even for those with a CCW, and this delay may push him into unobtanium being in force.
Not an "instead of" approach, but the best thing I'd implemented when running an ecom site was a typo detector that prompted people to fix their email if it looked wrong, like "joe@gnail.com", "Did you mean joe@gmail.com?".

At the time I used "mailcheck": https://github.com/mailcheck/mailcheck

There appears to be a more modern implementation here: https://github.com/ZooTools/email-spell-checker

It reduced the amount of badly entered emails more than any other approach I tried.
Totally, because the _expected future value_ changes with the new information. If they had actually created something of value, that wouldn't change because of new information. But they hadn't, and yet their companies were worth billions.

"Provides value" is loosely connected to "expected future value", but it's certainly not the same thing.
Because nobody adopts your product if you advertise yourself as "the Oracle of {new thing}".
Except for Elon Musk, who is/was extremely passionate about the product, the names on the list are not the peak of these companies. Steve Balmer performed reasonably at Microsoft after Gates, Tim Cook arguably after Steve Jobs and Google is lately a hit or miss on many fronts.
The kind of people who want to govern other people are not the kind of people we should encourage.
Very flattered to see kons-9 mentioned.

It is wonderful to be back developing in CL after so many years. I hope 2023 will see a community of users grow around the system. I would love to see what uses people put it to.

That, after all, is why I started to project, combining my two favorite software things: Common Lisp and 3D graphics.
I was raised evangelical Christian and was quite earnest about it. I had the good fortune of experiencing a number of life circumstances and events that "other"-ed me enough to reconsider those views. I've been allergic to Christianity ever since, though I do find myself more interested in alternative perspectives and so appreciate this recommendation.
In finance you can absolutely thrive on BS. In fact the vast majority of finance jobs are BS and produce below average returns for their clients with very much above average fees. They even have their own astrology (TA)
> How often does bezos sell 100B of stock, vs how often does he buy cars and boats and houses?

Bezos very likely sold much more stocks value wise than spent on boats and cars.
That does sound horrid. Makes green field projects look ever more so nice.
> X runs on so many more platforms than Wayland [...] Python3 is strictly an improvement on every platform, I don't think they're analogous because there really is no good reason to keep Python2 around

X runs on more platforms than Wayland because...it was ported to them. Just like things use Python 3 because they were ported to it.

This is also understating the reach of X I think: it's widely used in the embedded world, is seeing increasing support in BSDs, and has even been used on macOS (https://github.com/owl-compositor/owl). People have even used it to embed an entire compositor inside a GTK app (https://github.com/alexlarsson/wakefield).

That isn't to say that libwayland has a lot of Linux-isms in it, but afaik they're not really structural as much as there is lack of interest to generalize things more. Heck, the protocol-oriented architecture would even make it easier for anything Linux-esque to be removed in favor of alternative protocols.
In our company - while we all have varying skills and experience levels - we are all peers - we don't have managers.

As such we 'guide' each other, being a guide for our peers is opt-in but everyone has a guide.

This is by _far_ both the most effective and natural process I've ever experienced, and my peers seem to feel the same way.

I have three folks I that I guide.

I have a 20-60 minute one on one VC with each of them roughly every 2 to 3 weeks.

We all talk to each other more frequently than that on Slack so the feedback cycle for anything important doesn't ever need to take that long.

If they don't feel like having a catch-up that day I'll happily move it for them (for example shift it forward a week), but we do have at least one a month and sometimes two.

With new starters and less experienced engineers I like to start at a higher frequency for less time, e.g. twice in the first and second weeks, then weekly for a month etc...

We do a 360 / self and peer review every 3 to 6 months - this mainly involves sending out a small survey to people we've been working with I given project/client to ask for their feedback.

If anyone wants to shift who they're peered up with that is absolutely fine (and encouraged).

Everyone who wishes to guide others meets up (virtually) for a general sync and sometimes some training / educational talks once a month.

We maintain a handbook / guide to being a guide on our wiki.

Topics of conversation are mostly organic but the common themes are:

- How's life?

- How's the project / product you're working on at the moment?

- How's your work / life balance?

- Anything you need extra support with (that you haven't already raised throughout the week)?

- Are you planning to join/attend any of these (meetup/talk/Brownbag etc...) this week/month? <x,y,z>

- You're due to send out a 360 to your peers in the next X weeks, do you have any questions about doing so?

- What are you watching/listening to at the moment?

- General discussion on any shared hobbies / interests.

Etc...

As someone whose worked in tech for 17~ years - this method really is pretty great when most others have been more of a pain than value add.

For reference the company is a (modern) tech consultancy, with a size currently around 750, mostly engineers / developers of varying specialities, it seems to scale very well and operates pretty much the same as 3 years ago when we only had around 200.
BeeLine founder here. We do not monetize user data at all! The B2C tools (browser extensions, document converters) were just a way for us to prove up demand, in order to help us license our technology to content platforms.

We do charge for our B2C tools, but just a few dollars per month. The vast bulk of our revenue comes from B2B licensing, from customers like Blackboard and digital textbook platforms.
Your newsletter isn’t working heads up
Here's where you lose me:

> You say these are easy to change, but when your infrastructure is set up correctly services are also easy to change, it is all just code.

Unless you have extremely simple infrastructure, it's very much not "all just code": it's programs that are running on different machines that don't intrinsically know about each other.

Then it becomes a coordination problem. For example, if service B calls service A and you want to change the hostname of service A, you need to first make sure that service A will respond to the new hostname, and then that your discovery layer knows about that change before service B — and also that it still handles the old name correctly until service B has been updated.

"Oh, but I have all my infrastructure in [Terraform/Cloudformation/Pulumi/etc], that's not a problem for me." First of all, there are a ton of reasons things might slip through the cracks. Maybe you're migrating from one system to another, or maybe some dependency doesn't have great support, etc. But second of all, infrastructure is stateful and things can go wrong. If your change fails halfway through for some reason, and only some pieces are aware of the new name, are you sure your system is consistent?

Code, on the other hand, is just code — changes are atomic and self-contained. If I change a function name, I know that everything that could possibly use that function is contained within my codebase. When I deploy, it's either using the new name or not — and it doesn't matter if half of my servers have different names for the function, because they don't interfere with each other.

The one exception to this is public APIs, which are difficult to change without breaking downstream consumers. But consumers can always choose not to upgrade their version of the library. And when they can't — when it's a proxy for an external dependency, like a web service — the issue isn't the name in the code, but the name in the infrastructure.
But here they seem to have that option avaiable:

"free non-commercial development account"

But yes, they are clear they don't want to do low volume buisness, once you actually do buisness, which is a shame, for those who start small, but I would not rule out the possibility, that they might arrange for a "try it out".
You would typically use a read-only filesystem in an embedded system, not the default raspbian style distro.
This allows you to a) not require a clean shutdown and b) saves your physical media from writes.
> Yet you participate in society. Curious!

You didn't say "the internet sucks", you said "I'd get rid of it if I could".

> Definitely not true yet. Maybe some day. Maybe never

Medicine has come further since the internet than it did in 50 years prior, imagine the hit COVID would have had if nobody fucking knew about it until someone they knew got it.

So many things depend on global information sharing, saying "blow it all up" because you don't like TikTok or Instagram is so ignorant it's unreal. The internet isn't just cat videos and short form content, it's the backbone of the last 50 years of innovation.
> That mental model can only be learned by having worked on the project while it grew or by working alongside somebody who did, who can help you absorb the theory.

Maybe it's because I've done so much reverse-engineering, but I reject that claim. It's quite possible to start with a binary ROM dump and build up the theory of the code. If you have source code that's even better. And the whole point of design documents is to explain the theory.

Curiously, the book quoted at the top of the article gets this correct: "Revival of a program is the rebuilding of its theory by a new programmer team." But the article says that the only way to rebuild the theory is by writing new code.
Show HN: Syncthing-map – a utility to map syncthing devices and folders
If you use the excellent Syncthing[1], you may quickly be lost in the various shares between devices. I was.

This was the trigger to write a small application that creates a map of your devices, their folders, and how each is shared. It is directly based on the configuration file of each device.

The stable version[2] generates a HTML file you can render in a browser to show the map (based on mermaid.js[3]).

I just released an experimental feature[4] that starts a web server which will dynamically create the map based on configurations shared by the devices. Binaries are available as well[5].

I would be glad to hear any comments or advice (I am an amateur developper). Thanks!

[1] https://syncthing.net/

[2] https://github.com/wsw70/syncthing-map/releases/tag/master

[3] https://mermaid.js.org/#/

[4] https://github.com/wsw70/syncthing-map/blob/dev/README.md#au...

[5] https://github.com/wsw70/syncthing-map/releases/tag/dev
1) Wins for the week

2) Losses for the week

3) Ongoing struggles

4) Professional development

5) Is there anything I can do to make your life easier?
https://archive.ph/IOS5Q