Hacker Newsnew | past | comments | ask | show | jobs | submit | more BiteCode_dev's commentslogin

Last year I worked for a client that gave me a lot of time, money and autonomy to lead dev on a critical software rewrite.

We got a small team of competent people, with domain experts to peer code with the devs.

It was wonderful. We could test, document and clean up. Having people who knew the trade and users at hand removed second guessing.

The result was so good we found bugs even in competitors' implementations.

We also got x5 in perfs compared to the system it was replacing and more features.


Similar thing.

Had time and autonomy from a client, so took sweet time examining the domain, the existing systems et al. Spent a few months writing the basis and the framework around what will be done, based on years and years of experience I had with bad frameworks and codebases, combined with working on the same domain for their parent company years ago.

And it worked. We delivered features insanely fast, hundreds of forms were migrated, feature generators would create 90% of the boilerplate code and the code was small, readable and neatly clustered. Maintaining it was a piece of cake, leading to us not having enough work after a while so I negotiated our time to half a week for the same money.

After a while, client deemed us too expensive to pay for only 2.5 days of work - after all, how does it make sense - if we are paying them that much, they should work 5 days!

So they cut us out. Two things happened:

1. Devs that got moved to other projects in the company told me they didn't know development could be so smooth and tried to replicate it in future projects, even tho they say it failed a lot of lessons they picked up from the framework were highly relevant in their future careers.

2. The company found a cheaper developer, he said "this is unusable and has to be rewritten" and rewrote it into "clean code", taking longer than the original project took. At least he works 5 days a week now.


We were going to do this. Get several months to set up a clean base for our new system with only the four most competent people working on it.

Then I went on vacation for a week.

Come back to a system that needs to be delivered to prod next month with 20 randos submitting PR’s…

WTF happened. Did you learn nothing from previous failures?


What was the lesson they where supposed to have learned?


9 women cannot have a baby in a month.

There’s a limited amount of people that can work on a system at the start of a project if you want it to be a coherent whole, so that you can have everyone iterate on it in the same style later. If you start out with 20 (junior) engineers, you get a kind of frankenstein where all issues are waved away because ‘we need to deliver in a week’


Aka "Brooks's Law" or more broadly, the idea that "adding manpower to a late software project makes it later" from Brook's "Mythical Man-Month"


Good for you. Magical moments in careers are hard to find in my experience but they are so satisfying when you get there.

Glad whomever was over this didnt just drop the "dont rewrite" joel spolsky article and fight making it happen.


I actually was the one telling them not to rewrite, lol.

But the original code was a mess of matlab spaghetti, they couldn't find a way to hire for that. Not to mention turning it into a web service was already a big hack of java parsing a raw dump of matlab datastructures that nobody dared to touch.

I had to read the matlab code, and it tooks hours to decypher a few lines. Plus the language doesn't have great debugging and error handling capabilities and the tooling is quite terrible.

So rewriting to python won, and for once, I must say it was a good call.


Joel has since said that that he doesn't really agree with that advice anymore, at least not in the same way. Super annoying that it gets parroted over and over again as though it's the word of the lord.


I agree it shouldn't be parroted as though it's the word of the lord, like any advice it will be more or less applicable on specific situations. I've been on both sides of the let's redesign a thing plenty of times.

The balance is somewhere in the middle, it's valuable advice for what can go wrong when you don't think through the implications of the decision making process, understand how and why the system works the way it does, and what risks exist for what can go wrong with a big redesign. But like anything, if the risks are understood, then those risks can be accepted, mitigated, or rejected if appropriate, or provide guidance on why the redesign investment isn't worth the associated risks.


Depends who is providing it.

Django and pydantic meta programming usually make the code easier to deal with.

In shop written meta programming usually sucks.


True, but the prices you list are the price of the board + the CPU.

On this main board ($340):

https://frame.work/products/cooler-master-mainboard-case-and...

The CPU is worth $250 already.

You pay a $100 to get a swapable CPU on a laptop which is guaranteed to be compatible.

You might value or not this feature, and that's fair.

But I do value it a lot.

Even on a tower, matching a board and a CPU is not a given. On a laptop, forget about it.


You will not get mac level finish or integration, nor battery life.

But you will get a lot of ram and disk for this price, a robust and fast laptop.

And something you can repair.

If you are a mac person, there is no substitute for the mac, by definition.

If you don't care about mac, then the framework is a good machine.

I rocked dell for a long time, I switched to framework, and so far, it's been great. The keyboard is comfy, the touchpad is good (for a non mac), the mate screen is productive and I enjoy its format.

The specs have not let me down perf wise, the extension system is fantastic, and the value proposition of being able to be repaired is unmatched. I assembled it, and you can see they care a lot.

Dual boot windows + linux on it is quick and easy. Support is perfect, including sleep, wifi, fingerprint reader, webcam, etc. The mechanical off switch for the mic and cam is a plus.

The battery life sucks, and I can hear the fans more than I want. It's not as stylish as other notebooks.

That's it.

Mostly, I forgot about the machine in a week and it's transparent to me: it's plugged on a USB dongle that powers it, hook me to ethernet and extends the screen. I used it on the go twice, nothing special to report.

It just works and I get things done.

Which is probably what a lot of people want.


I'll co-sign everything you said, other than to say that if you care about the webcam or the sound, this isn't the laptop for you. I'd still recommend it highly despite those failings, though, as the configuration and the longevity is more than worth it.

Plus, who knows, they might come out with a webcam or sound upgrade kit one day.


The new screen option for the 13" model has a much better webcam.


True, I forgot to mention it because I almost never use them. Laptop cams and mics are never up to my standard, even on mac, and since I remote work 90% of the time, I always travel with a full mic stand and external cam.

This is too important for good communication for me.

But indeed, it's not on the higher end for sound and image quality.

It's not the worse either. Just meh.


I think I saw a video from their CEO showcasing some of the things in their pipeline, they are upgrading the webcams significantly. Best thing about a framework is you can just get the webcam and upgrade it.


Yep.

Also, the new screen looks nice.

Might upgrade in a year or two if I feel I need more brightness.

The fact you can change it slowly, piece by piece, is fantastic. It spreads the cost of upgrading the machines over the years instead of having to pull the entire cash at once. No need to reinstall everything every time.

You can upgrade the battery when you need to. Then maybe the RAM 3 years later once electron app with embedded AI model takes over the world and a hello world eats 4go.

This is, to me, the killer feature.

Young me would have hated it.

I wanted a new poney regularly.


Yeah but you update the mainboard once every 10 years.

Usually what you upgrade are: ram, disk and cpu.

Comparing a tower with a laptop makes little sense. They don't have the same use cases and compromises at all.

It's like saying "I much rather stay on a framework, because all the part are upgradable, but I exchange the bigger price for portability and not having to by a battery to protect against power down".

It has little to do with the framework proposition, which is to be a laptop that happens to be easier and cheaper to repair than the competition.

I tried to repair my previous laptop. I killed it because the parts are so hard to manipulate.

Cost me $2000.

I think anything is cheaper than that.


But we can't self host, right?

So it's locked in.


We're source available, and a helm chart will be coming soon. We're actually doing the last of any queue migrations now.

One of our key aspects is reliability. We were apprehensive of officially supporting self hosting with awkward queue and state store migrations until you could "Set it and forget it". Otherwise, you're almost certainly going to be many versions behind with a very tedious upgrade path.

So, if you're a cowboy, totally self hostable. If you're not (which makes sense — you're using durable execution), check back in a short amount of time :)


> In most of the west, you can go to jail or be punished for speech. Most of the west doesn't have free speech that we do in america.

I'm going to assume you don't travel much cause on our side of the pound we can very much speak out loud of many things the US can't.

In fact, we don't have the absurd taboos that force the US to use alternative words. We can:

- Report "He disrespected his colleague, calling him a niger". No need to hide that behind "the n-word".

- We can call pedophilia what it is and debate about how to punish it, instead of using acronyms like CSAM for fear of being labeled in a certain way.

- We can show tits or talk about vagina and not get "porn" tagged all over.


> I'm going to assume you don't travel much cause on our side of the pound we can very much speak out loud of many things the US can't.

Pound? What country are you from? Why are people so sneaky? Hiding behind 'the west'.

> In fact, we don't have the absurd taboos that force the US to use alternative words.

What? None of what you wrote applies to the US and none of it has anything to do with free speech. It applies to woke social media. What does 'porn tag' have to do with free speech? Besides, my point was being jailed or punished by the government.

> We can:

Question the holocaust without going to jail?


I love the readme:

"DO NOT USE IN PRODUCTION OR YOU WILL BE FIRED. UNLESS YOU WORK AT EDGEDB."

For context, this is a way to share data between the new subinterpretter feature in Python.

Given there is no doc, the tests give a glimpse of what it looks like:

https://github.com/edgedb/memhive/blob/main/tests/test_basic...


I think we have vastly enough material to criticize Russia, we don't need more.

Our societies are already convinced those are dictatorships.

But it took Snowden and Assange to show us how deeply messed up our societies are.

It's very possible they are both Russian assets, but what they reported have been verified, and we needed to know it.

The way you are reacting is close to a religious interpretation of the world. It's not us VS them. It's not a football match.

We have a society to build, and it's been taken from us, one piece at a time. If we don't want to end up like Russia, we need all info we can get.

And given the huge price they paid for it, yes, I consider them heroes. And I think history will remember them as such.


Chat apps are hard, this doesn't strike me as a proof of bad quality as many competitors had such bugs.

And Telegram has been so far the most reliable, feature full and easy to use chat app I have had to use.


Which other chat app has displayed messages to the wrong users? That seems like one of the worst things a chat app could possibly ever do.



Wow, I'm truly baffled! Is this a rite of passage for instant messenger developers!?


Or OS developers. Video codec developers. Network stack developer. Driver developers. Web browser developers. Web service developers. Office suite developers.

And if you are a developer and your software is used in any decent scale, you are unlikely to be the exception.



Wow, touche

And in an Apples-to-Apples comparison, WhatsApp fared far worse than Telegram on privacy, and not to mention its parent company.

The only benefit I can think of WhatsApp has is claiming to be encrypted by default. So I dont need to press an extra button. I just have to take their word for it.


> And in an Apples-to-Apples comparison, WhatsApp fared far worse than Telegram on privacy, and not to mention its parent company.

I'd like to see that comparison. Considering that WhatsApp is end-to-end encrypted, and Telegram persistently stores almost all of their users' messages on their backend in a way that lets them read them, I find that very hard to believe.

> So I dont need to press an extra button.

Nobody presses an extra button, especially not one that opts you out of multi-device support.


Whatsapp is not open source and facebook was part of the PRISM program.

I don't think it's reasonable to expect them to actually be e2e encrypted.

Espacially since Zuckerberg has many years of poor track record for privacy, and made the famous quote "they trust me the dumb fucks"


So we have one app that claims to be end-to-end encrypted and is under intense scrutiny of security researchers across the world, and another one that's provably not encrypted and stores everything server side. Which one should I use?


I don't care that the russian spy on my messages, I care that my gov does.

Russian can't affect my life as much as my gov.


Exactly! Good points. Facebook’s been caught spying on you with audio, video, contacts, cameras you name it. What makes the true believers so sure their WhatsApp chats are really E2E encrypted and FB cant decrypt them and isnt scanning at the edge? LMAO


> Facebook’s been caught spying on you with audio, video, contacts, cameras you name it.

For contacts: I have no expectations of any contact privacy on WhatsApp. It's known and documented [1] that they upload your entire phone book for contact matching. Private set intersection would be better, but I don't see anything sneaky going on.

Audio, video, cameras: What are you referring to?

> What makes the true believers so sure their WhatsApp chats are really E2E encrypted and FB cant decrypt them and isnt scanning at the edge?

The amount of scrutiny they're under from security researchers worldwide, and the fact that many governments are currently throwing a fit about not being able to gain access to the data either.

[1] https://faq.whatsapp.com/1191526044909364


See, FB gets away with it because everyone mostly forgets.

2016 Audio: they listened to what you did through your microphone until they got caught

https://www.nbc4i.com/news/spying-secrets-is-facebook-eavesd...

2019: Facebook caught activating camera without permission, to spy on you

https://www.pcmag.com/news/facebook-app-caught-activating-ph...

2020: Facebook a year later still secretly using your camera to spy on you, this time through Instagram

https://news.ycombinator.com/item?id=24514433

This is the company you are now trusting with the mere claim that WhatsApp is end-to-end secured.

2018: Facebook, not satisfied with getting its own users’ data only, bought and hijacked a VPN app in order to — wait for it — bypass encryption that millions of people trusted for ALL SITES ON THE INTERNET in order to analyze traffic and be able to get the dirt on its competitors!

https://arstechnica.com/tech-policy/2018/08/facebook-violate...

Now about WhatsApp…

Oh yeah… it’s already sending a lot of telemetry to Facebook:

https://www.wired.com/story/whatsapp-instagram-facebook-data...

And has been since 2016:

https://www.wired.com/story/whatsapp-facebook-data-share-not...

Oh, but at least the content of your messages is not analyzed by FB? Well, as far as we know that might be true, but if the other user flags your convo, it is in fact sent to Facebook:

https://www.propublica.org/article/how-facebook-undermines-p...

But wait, there’s more. Sometimes the mask slips due to People You May Know, which is the carefully guarded mix of “secret” algorithms that has helped Facebook aggressively grow beyond 100 million people:

https://medium.com/hackernoon/facebook-is-reading-my-encrypt...

https://gizmodo.com/people-you-may-know-a-controversial-face...

Mark Z knows what’s up:

https://www.theguardian.com/technology/2016/jun/22/mark-zuck...

https://amp.theguardian.com/technology/2018/apr/17/facebook-...

Telegram has NEVER tried to do any of these types of things.

So, given a choice, would I trust Zuck and co, or a guy who literally had to flee Russia because at great personal cost he had refused disclose the identities of the Maidan protestors, and losing his company to their Mail.ru conglomerate?

https://www.forbes.com/profile/pavel-durov/

https://www.quora.com/Why-was-Pavel-Durov-so-careless-in-his...

https://www.cnn.com/2016/02/23/europe/pavel-durov-telegram-e...

The answer is: neither (although Pavel Durov is like 1000x more trustworthy in my opinion).

https://itc.ua/en/news/durov-boasts-that-telegram-employs-ab...

I prefer open source software

https://community.intercoin.app/t/web3-moxie-signal-telegram...

And here’s why:

https://community.qbix.com/t/the-global-war-on-end-to-end-en...


There should be a site to remember all those:

- list the problems

- link to sources

- backup the source instead they happen

We forget too easily, and PR works wonders. I used to have such a list for Microsoft, but:

- I have to pull it of every time we talk about the new MS, because people think they are good guys now. They already forgot.

- People don't think it could have been that bad.

- I have to rewrite the list, I can't link to it. Or expand it. And I have to justify its existence and credibility because MS PR is so strong now.

- The links are disappearing from the web, so my previous proofs are fading away, slowly being replaced by references everywhere singing MS praises and stating how a saint Gates is.

The powerful are rewriting history, literally.

karmicarchive.com is available, just saying.



That's a single point of anecdata from Reddit, as far as I can tell at least for the WhatsApp one.

The Signal one somebody has posted in the adjacent thread was definitely real and horrible though: https://news.ycombinator.com/item?id=27950763

The fact that at least two heavily-used messengers got one of the most essential things in instant messaging wrong is nightmare fuel I didn't need to have in my life :(


We just had the xz crisis and that surprises you?

IT is just a series of security breaches.


Don't shift goal posts, please. A supply chain attack and a service sending private messages to the wrong recipient are very different issues.


I don't shift goal post, I'm answering to:

> is nightmare fuel I didn't need to have in my life :(

It's a weird reaction. All software have always been like that as far as I remember.


These two things are as different as you can get in terms of software bugs.

xz: A sophisticated supply chain attack. These are known, scary, and we don't have great ways to prevent them yet.

Apparently half of all popular instant messengers at some point making the same kind of trivial but catastrophic off-by-one error: Not rocket science to prevent. I was hoping at least high-stakes apps would have better QA.


I don't shift goal post, I'm answering to:

> is nightmare fuel I didn't need to have in my life :(


Funny enough, I experienced this in Android in the 2010s. Several times I would text one of my buddies using vulgar language and the texts would go to random people. My grandparents, my pastor, etc. It was horrible. lol


Delivering messages to the intended recipients (and no one else) is the single fundamental purpose of chat. If many chat apps have failed at this, then many chat apps have sucked.


Yes, but in that case, no single chat app ever conceived match your criteria. They all had some kind of similar major bug at some point. Even the big names.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: