skysight-inc/HackerNews huggingface dataset:
Ask HN: How to improve low level design? Need help
I'm a software engineer who has mostly been working in niche startups, until the last 1 year where I'm experiencing a larger team and scale.

Over the last 1 year I'm able to observe that it takes at least 1-2 rounds of self/peer review for my code to be in a decent shape. Any suggestions on how I can improve?
Unsurprisingly it gets too much spam to be useful.
Some were indeed "dumb" X terminals, but most were top of the line Sun workstations provided at greatly reduced cost to the university.

The best machines were the few HP PA-RISC ones though. Blazing fast.
This idea seems to rely on the flawed assumption that you can’t security audit closed source software. This is not an assumption I’ve ever seen an actual security researcher make.

Quite the opposite, they start with techniques they work on the binary and only use the source (if available) as a helpful reference. Hiding back doors in source has a long and storied history so relying on it to audit security has long been out of favor.
You might very well think that, but I've read articles saying [1] that Apple has engaged in legal battles with Fruit Union Suisse and a cycle path. It has even set its sights on logos that involve other fruits, like oranges and pears [2].

While you and I might think it's obviously legal to start Apple Airlines or Apple Faucets or Apple Fans, apparently this is not obvious to Apple's trademark lawyers.

I'm not sure intellectual property law operates according to any rational rules that can be understood by us mere mortals.

[1] https://www.wired.co.uk/article/apple-vs-apples-trademark-ba...
[2] https://archive.is/MKQpW
Not Chicago, but here’s a couple of related historical anecdotes about 19th century Baltimore’s similar railroad problem:

- The Baltimore Riots of 1861 occurred as northern soldiers from Massachusetts and Pennsylvania had to March between Camden Station (now the baseball stadium site) and President Street station to connect to Washington DC

- President-elect Lincoln had to travel incognito and at night to avoid assassins as he had to connect between the same two stations in Baltimore on the way to his inauguration.

Baltimore was such a hotbed of civil unrest and an important strategic location that cannons were placed by the Union on Federal Hill pointed at the city within range of both railroad stations.

Railroad interconnections (gauge and ownership) have been a problem in many places since the beginning. The U.S. was (and still is in many ways) the “Wild West” of commercial development (backed in no small part by London investors), and the building of the railroads was perhaps the most crazy, frenzied, back-room corrupt development of the 19th century.

An interesting (but long) read: “Railroaded”, by Richard White.
Someone could probably make an AutoCAD clone similar to this using Textual and maybe a library like https://github.com/sinclairzx81/zero
That sounds cheap for a pretty unique looking electronic instrument though, although the quality will be pretty meh if it's aimed at children.
> In the 90s we also had tons of closed code on our computers

Sure, there was much closed code, but there was no signed or trusted code. You could still reverse engineer, patch and reflash every single bit of it to your liking, provided you knew what you were doing. On modern hardware, even dumping the decrypted binary for the "trusted execution environment" is a challenge, and getting the thing to run your modified version is simply impossible because it needs to be signed with a key you don't have.
Not entirely sure what your comment objects to, but Nordic countries already have this information freely present and its a good way for them to write meaningful speeding tickets that impact poor and rich alike.

Why not a subscription model tied to the same banding model?
> If you parse HTML with regex you are giving in to Them and their blasphemous ways which doom us all to inhuman toil for the One whose Name cannot be expressed in the Basic Multilingual Plane, he comes.

Jesus this is cringe
Uber and Lyft’s Pricey Electric Vehicle Problem
The EU really needs to learn the idea of small business exemptions from the regulatory burden. It should be possible to sell a few hundred to a few thousand devices without having to deal with regulations aimed at hundreds of millions of devices.
Yeah. 15 years ago going to Auchan, Carrefour, Tesco or Real was all the rage. Right now Tesco and Real are dead, and everyone just walks to the nearest Lidl/Aldi/Biedronka

I do miss it. Tesco Value Beer was great.
If you read some LLM output, you'll pick up on lots of patterns. LLM generated content isn't terribly difficult to identify.
the form input boxes, are extremely slow. I'm running it on safari, but the letters are lagging behind every stroke. Are you re rendering the PDF after every stroke?
Oh yes I know. But the split VSCode process is where a key part of the value lies for me. Not just that my entire toolchain is there, including tests, etc... we've had that for years with vagrant, for example. But also that the actual IDE is running there, and all contained in the repo, is awesome. I never achieved that level of seamlessness and consistency even with vim.
Still does in trace amounts iirc.
That's pretty uncomfortable, also since 99% of that will be men offering it to women.
Edit: sorry HN'ers, I Hadn't noticed it was a troll comment!
Linux and Windows Kernel Comparison (2004)
The cost would be much more than $44B, but even if it wasn't 3% of total house assets is certainly not pocket money.

This commenter's analysis seems more credible to me https://news.ycombinator.com/item?id=36858613
Might make more sense for invoking 3rd party API but for self run LLMs TypeChat w/ JSON is just fine instead of adapting to YAML across your stack
The effect of EIM + EIF is that if a private port reaches out to somewhere on the Internet, then anywhere on the Internet can reach back to that port. So a port scan can find it. Off the shelf consumer NAT "routers" tend to have an "allow out by default" policy.

Now given the garbage one tends to find in the software of lot of off the shelf devices, the only way to ensure they don't "reach out to the Internet" is with an explicit outbound firewall, which prevents them reaching out.

A web browser these days opens so may connections, and is so vulnerable, that one should view those sitting behind a consumer NAT is not behind a firewall.

FWIW - My day job includes implementing and maintaining (i.e. writing the software) for commercial NAT and firewall devices.
I am not affiliated with this company, I discovered this baked into HeidiSQL and it seems interesting. Their site is not complete (pricing goes nowhere).
If you know that your data has a well-defined mean and standard deviation but you know nothing else about it then you start with a Gaussian distribution. This isn't an assumption. The Gaussian distribution has the highest entropy and hence encodes the least information possible about the data.
Then as you learn more about your data, you would update this distribution using Bayes' theorem. This could give rise to skew or multiple maxima.
That was neither clear (nor funny).
The Android app is not working either
This looks nice and simple.

I got frustrated with the invoicing landscape being too complex and pricy and have been using a Google Sheet for the last ~10 years. It has an export to PDF button and then I email the PDF to the client. It’s easy enough for any grid-style design which is all you need with an invoice.

What advantages does Invoice Dragon have over a Google Sheet?
If this wasn't a thread 8 times a week it would get more attention.

Additionally, it feels like threads about this subject are not open to discussion unless that discussion matches the HN crowd.

Further, look at the headline and content of the article. It's a non-stop fear campaign that has two main reactions:
1. Fear that, could be argued, crosses into terrorism.
2. Ignorance because the government has gone above and beyond to signal that they only care about their own power and the power of their families.

Now at the bottom I will mention that I have not created garbage in almost 5 years. I don't use gas and I have adapted my diet to use far less meat. I pickup recycling materials that have become litter so they don't reach landfills. I use less water for anything I can. I avoid harmful chemicals. I don't buy junk that breaks if I can help it. I fix things. My code is unreasonably efficient. I have used my talents to force positive environmental changes from billion dollar corporations using the letter of law.

I get called a right wing bigot all the time in threads like this because I disagree with the methods that are being used. They are clearly ineffective.

Of course the only solution that will be proposed is that of the removal of freedom. My freedom to do the right thing isn't going to save me from this fact.

Maybe all the devs at HN can stop writing slow, gross, and overengineered slop. No more 100mb websites that spin up fans to handle a paragraph or less worth of text.

What is the deal with 2030 anyway? We won't make it, what's plan B and when is 2030 too close for plan A to work?
Stability is not the goal. Comfort is the goal. And pre-industrial societies switched to industrial societies as fast as they could!
He continues through it all in the rest of the thread.
> the installation should happen in class

Class time is far too valuable for this kind of nonsense.
Right. I meant a specific very prescriptive guide for the kids.
Why can’t we just Pair Program more? There is enough open source out there. Enough user groups meeting. Enough hack-a-thons. Just make them Pair Programming sessions. Please! please I beg of you!
Way worse performance than llama.cpp based LLM deployments
Is there a way to hide everything from nytimes.com?
I'm out of the loop of current DRM.

I assume it's something like the old Protected Media Path.

For example, if you try to screenshot a Netflix video all you screenshot is a dark-pinkish square, because the video is probably added by the graphics card at the last moment.
TikTok is Launching U.S. E-Commerce Business
> It's great to see this getting more attention. User-agent discrimination (i.e. "go away if you're not using the latest version of Chrome") needs to become illegal.

I really hate this attempt by Google and hope they don't follow through, but why should this be illegal?

Software users agent strings are just an identifier added on by a browser to give the server context, it's not a protected class. Google has every right to gate use of their software however they choose, we can just stop using it.

We don't have a fundamental right to an open internet, no one owes us this. I hope we can get back to the days when the internet was much more open and less commercialized, but that day won't come by legal regulation.
The semantic layer is not enough. Data consumers need context
The moderation became absolutely abhorrent.
Quickly:

> Or seed the atmosphere with sulfur dioxide

That's not solving the situation, that's temporarily mitigating some effects with poisons for a short term and at the same time emitting a ton of emissions from a lot of flights.

> global warming is bad (but manageable)

Warming, or better climate change, is only one of the symptoms of the overshoot. We've managed almost zero, nil, zilch in past 50 years (coal is still at 82%).

> but pre-industrial society is far, far worse

Calling mitigation strategies return to pre-industrial society ... i don't have words for that. But if we don't start solving it, and fast (yesterday was late), the nature will solve the problem for us. One way is better than the other.

If you're interested where else you're wrong, you should really spend some 30 mins here: https://www.youtube.com/watch?v=qPb_0JZ6-Rc
In 1993 my freshman CS class was taught in scheme. All of our assignments had to be developed and tested on some shared Digital machine running Ultrix. The scheme interpreter was kind of slow to start, especially when there were 20+ users logged in. Helpfully, our TA taught us how to ctrl-z to suspend the interpreter, then edit our program in vi, and then "fg" to get back into the interpreter.

Unfortunately the fg part of the equation was lost on about 2/3 of our class... after editing they would start another scheme instance! I recall being in the terminal lab the night one of our first assignments was due, and the machine slowed to an absolute crawl. Can't remember exactly how it was resolved but I do recall being taught how to look for classmates running two or more instances of scheme to remind them about fg. (Also not helpful to machine load: "solutions" to the 8 queens problem with infinite recursion. The real lesson here was, in later years, to not be logged in on nights when CS 401 had assignments due.)
I still do not understand how local rail ends up fragmented like this. The Tokyo metropolitan area has like… what? 8 operators? You’d feel like there would be some consolidation and yet.
In my opinion, the comparison to weaponry is pretty loaded and unreasonable. It evokes scenes of mass shootings, secure communication has no similar destructive power.

Warrants are still a thing! The government in the US can still get a warrant and they can compel you to show them the contents of your Signal messages. No fancy E2E backdoors are required. ;-)
To me, thats the minimal necessary solution in case of a vendor going bankrupt but there should be a mandatory minimum Support window after the last sale of a device by the manufacturer and that should be non-trivial for security issues (say 10 years).
Python debugging is most sane when the code just tries to keep it simple. After thousands of pdb sessions I can say most people should not be allowed to do this kind of thing in real code!
This point of view kind of assumes that all immersion is the same and so why bother adding this bizarre contraption to your face. But then why bother buying a TV and build your living room seating around it if you could just sit and read a book ? As more 3D 6DOF experiences are made possible and built there will be more usefulness in the extra immersion levels you get from putting your head into that bucket. Besides it should be more important what is going on inside your head than what is on it.
The Magic Keyboard is so nice, what do you mean? It feels nicer than most laptop keyboards
LangBear – Open-source LangChain prompt admin
A lot of the complexity of invoicing isn't in the PDF generation (which this tool does a wonderful job of doing, nice work!) but on the side of tracking which invoices are open vs. paid, which ones are aging, whether there are discounts that can be applied for early payment, and of course integration with whatever accounting tools you're using.

But this looks like a great, simple tool for people who need to occasionally send an invoice or two. Thanks for sharing it.
What'd be the difference with the Remote-SSH option?
I’ve been using the pro version for a year or so and I love it! It was exactly what I was looking for, allowing me to create multiple plans to see how different financial decisions will affect my upcoming retirement.
Keep up the good work!
The cherry on top is that it's all fueled even harder by the hyperindividualism that thrived on the second half of the 20th century onward. No sense of community or belonging to a social group, atomised individuals each acting on their own wants and needs, with no cohesive social force to impel a sense of duty to the collective.

Atomising society from the late 70s to today might end up being not only a major historical mistake but a catastrophic one.
> Someone have to pay for the ongoing support.

It’s a question of incentive. Right now, supporting software is costly for a long time because very little attention is given to making software maintenance cheap.

That’s why it’s reasonable to force company to offer long term support after sells. It means they will have to design software so that it remains viable with a minimum of changes for a long time. Things that don’t make sense today because of their costs like formally proving code and design suddenly become important and as there is an incentive to make it cheaper to be competitive we should see new investments in this field which is currently quite neglected.

Overall it’s a net gain for all of us. In exchange for marginally more expensive computers for a bit (or less profits if that’s how companies want to compete), we will end up with safer more robust software and longer lived appliances.

It would be a major step in the right direction. As someone trained as an engineer, I still think that the software industry tolerance for subpar under-engineered and tested solutions is shameful.
>advertisers - the companies trying to reach you - wants. They would most likely prefer ways that didn't bug you, as they want happy customers.

They don't give a single shit about my happiness, as long as I buy their product. Whether that's through a happy ad that made me laugh, or through being blasted with it every day for a year so that their brand is the only one I think of when I need to buy X.

Companies do not see you as a person. They don't even lack empathy, they didn't have any to begin with. You're a walking wallet they have to empty, by any means necessary, and if that's through making you feel that you're ugly and you should buy their new skincare, they will.
I watch all my DRM on Edge just to be annoying.
> But it requires a strike like this almost every decade (or even more frequently) because as technology keeps evolving

If I were a studio right now, I would be pouring *more* money into AI since people keep going on strike
> i wonder if you could implement the ide functionality you want with a 'wrap' menu of popular functions that are applicable to the thing to the left of your cursor

This is already implemented in IntelliJ for Java - they call it "Postfix Completion". For example you can type ".cast" after an expression to wrap what's before the cursor in a cast expression, so type "a + b.cast", then pick cast to "float", and pick how large a preceding expression you want to cast, and you can end up with "(float)(a + b)" and go from there. They have postfix completion that can extract expressions into variables, create if-statements and switch-statements from expressions, and so many more things that I wish I had when doing non-trivial Python coding in my IDE of choice (which is not by Jetbrains)...
But there is no "rest of the thread" that I can see. Like I said, the thread ends at alt.f*.

If there is more, how do you get to it?
> While other countries press forward, many Silicon Valley engineers remain opposed to working on software projects that may have offensive military applications, including machine learning systems that make possible the more systematic targeting and elimination of enemies on the battlefield. Many of these engineers will build algorithms that optimize the placement of ads on social media platforms, but they will not build software for the U.S. Marines.
Google has gone down the drain. As I've written recently somewhere here, they could easily fix their search by hiring maybe a dozen people per country to moderate common search request results or to, hell, listen to users like here, and respond by booting the scammers.

The problem is, they won't, because active moderation beyond responding to legal (DMCA, right to be forgotten, anti-CSAM) demands would massively endanger their "we are an impartial search engine" defense.
One interesting aspect is that trademarks have to be in use in order to be defended.

If Musk’s X moves away from the name “Twitter” and the bird logo as completely as they seem likely to, those will become essentially undefended trademarks that someone else could start using.

Want to found Twitter all over again?

There are ways (legal tricks) to rebrand while defending the old brand. But these require detailed legal advice, disciplined ops, and a will to do so. I’d say that it looks like Musk is lacking all three of those at X right now.
See "new visits" in the first chart. You can reduce the window for extra clarity. Something very specific must have happened in that week, nothing that can be explained with a "grand theory of decay".
Every railroad in the USA should be nationalized, modernized and much of it transformed into commuter railways. This article is a perfect example of the inefficiencies of mass infrastructure created by the "free market"; which was entirely created by the US government anyway.
This is not planned obsolescence tho, this is just "well, we don't sell it anymore so we don't support it". Someone have to pay for the ongoing support. I think the most that should be required from manufacturer is opening up the boot (so alternatives can be EASILY installed), and ship drivers with permissive license after they stop updating it
In theory - yes, but in practice TikTok gets a lot of bashing while its American equivalents manage to get away with basically the same behavior. Meta and Google aside, Uber created Greyball to avoid regulations, they even had (still have?) a special "Ripley" button to use when facing audit, so how can we expect a foreign regime to abide by our laws if we give our own companies a free pass? And when local governments try to limit Uber's unlawful[0] actions, we threaten them with freezing our investments in other sectors? [1]

[0] https://us.boell.org/en/2019/10/17/web-partner-companies-kee...

[1] https://tvpworld.com/40781592/another-letter-from-us-ambassa...
Right, which I do locally.

But, I used to use vscode’s server version directly on my remote server. Microsoft has recently made this impossible to do with their branded version of VSCode, instead opting to force people to make tunnels from potentially secured servers to vscode.dev.

I was more curious is the parent had figured out a way around this.

The server module from Openvscode and coder.com still both work for remote access, but you don’t get to use the Microsoft marketplace from those versions.

And now that I’m thinking about it more, I’m not sure if you can even use the devcontainer function from the server vscode (or vscode.dev) in the first place.
I don't think HN supports any form of blacklisting natively, so... userscript? Possibly there's already relevant ones available.

You might even be able to do it via userstyles thanks to the :has selector.
Yes. But then folks realized that the supposed-AI tool actually used people pretending to be bots: https://www.theguardian.com/technology/2018/jul/06/artificia...

X.ai was subsequently acquired in 2021 by Bizzabo: https://www.globenewswire.com/news-release/2021/06/03/224127...

Bizzabo then shut down the X.ai tool: https://www.bizzabo.com/blog/xai-sunset

And then they sold the X.ai domain to you know who: https://www.theverge.com/2023/4/14/23684005/elon-musk-new-ai...
Of course, on that platform they can just say "install our app and come back" for the same basic effect.
Makes so much sense! Thankfully, I've never had one. Perks of having a rather uncommon name :)
Even a readonly version is very useful. The tree-based file browser on the left and in-editor navigation are helpful for browsing the code. Recent github updates added a tree to the file view, making this less important, but the vscode experience is still superior.
Dumb question: wouldn’t this actually reduce ad revenue as you would be eliminating ad fraud for which providing platforms collect money?
Why do people blame OpenBSD but not the coordinator is beyond me.
Signal privacy-focused messaging app aka treasure trove of metadata for NSA.
The thread continues and he actually got through all of them.
Because industrial society is based on abundant, cheap energy; and we don't have yet any alternative to fossil fuels; and the most drastic plans proposed are not even expected to produce a noticeable result for several decades.
I actually created an over-engineered LaTex template for my invoices, and it was such a pain in the arse. I can't believe I never thought of using Google Sheets or Excel.