5 ms·
I started out a biochemist before I discovered computers. This article is rofl funny. "invigorate itself all over the ceiling..." yeah, got the t-shirt. That
by OliverJones 7y ago
I started out a biochemist before I discovered computers. This article is rofl funny. "invigorate itself all over the ceiling..." yeah, got the t-shirt. That's why they took away my bunsen burner and gave me a mouse.
Seriously.... fellow programmers, designers, entrepreneurs. What are the things you won't work with?
For my part:
Web code written in any language without a well-integrated string data type. strcpy() is a target painted on my back if I did that.
Anybody who claims they've got amazing new data- or media= compression technology and wants funding for it.
Transferring peoples' data from a protected realm (like a HIPAA-covered pharmacy system) to an unprotected realm (like direct marketing).
- sansnomme 7y agoTo be fair, neural networks are very effective for (lossy) VR compression/representation. See: papers by Facebook Research.
- ben_w 7y ago> Anybody who claims they've got amazing new data- or media= compression technology and wants funding for it. Anyone whose business plan names an existing famous company — “Uber for aircraft”, “Facebook for political activists”, that sort of thing.
- Niksko 7y agoWhy? These sorts of descriptions are incredibly useful for getting people to understand your value proposition. Just because you mention this doesn't mean you're going to adopt Uber or Facebook's moral code.
- lightedman 7y agoWhat's more accurate, saying "Delivery for X" or "Uber for X"? In almost every spiel I've heard as an "Uber for X" it has been a delivery service. The usage of a pre-existing company name is meant to mislead people into using their service. This has been a common practice for a long time, which is one of the myriad reasons why we have things like trademark laws to curb such language in advertising (in which a sales pitch counts as such.) I've been guilty of the same thing roughly 15 years ago. Once I realized the wrong I was actually committing, I stopped. I've got a strong sense of justice/fairness, and the usage of another company's name to hawk your similar yet wholly unrelated service rang wrong with me once I understood the history behind the laws.
- spookthesunset 7y ago“Uber for XYZ” implies a hell of a lot more than “delivery for XYZ”. For example, it implies some kind of “everybody is a contractor” business model. People have been saying “the $brand of XYZ” forever and quite frankly there is nothing wrong with that at all.
- andrepd 7y ago>Uber or Facebook's moral code They are corporations, corporations don't have morals apart from "maximise profit".
- deleted 7y ago[deleted]
- earthboundkid 7y agoUber repeatedly flouted bans and circumvented regulators.
- Karunamon 7y agoArguably to everyone's benefit. It took Uber coming in and flouting those regulations to prove that the medallion laws and such were more about regulatory capture than safety, and as a bonus it provided a kick in the ass to the established players to start competing on serivce, if not price.
- earthboundkid 7y agoNo. The rules around breaking the law are very clear. If you feel that a law is unjust, you can do an MLK and openly flout it and then take the consequences. If you think it's just unwise, you can lobby against it. You don't get to just break laws "because internet and libertarianism". That behavior should get you thrown in jail. On the specific question of medallions, medallions have the ostensible purpose of managing traffic congestion. Libertarians contend that this reasoning is just a cover for rent seeking by suppressing competition. Libertarians have been proven wrong by the huge increase in traffic in NYC as ride hailing congests the streets.
- ddalex 7y agoPeople running Uber did. Uber is a magical entity that lives in the minds of people, it has no will on its own.
- 7y ago
- toomanybeersies 7y agoIn the specific case of "Facebook for X", it's because there's a company that exists to do exactly that, it's called Facebook. More generally if your business model is "X for Y", where X is an existing company, you've possibly a lazy and uninspired USP which can easily be copied and your only real selling point is having the first-movers advantage and hopefully enough capitalisation that you can lead the market before the competition. You're just copying a business model and applying it to a different market, it's often a solution in search for a problem. I could make an Uber for farriers (the people who put horseshoes on horses), but is there actually a need? Do horse owners currently have a problem finding farriers? And if they did, some other company could easily make a competing app, and if they had more capital and resources could easily crush Horse-Shuber.
- ajuc 7y agoThe only thing worse than no good string data type is 5 different string data types in one application. std::string, OString, QString, char*, QByteArray OString was our wrapper around database library strings. And there were automatic cast between SOME of these. I especially liked the helpful automatic cast to bool from OString (true if it wasn't empty if you're wondering). It meant that doing OString("password") == OString("wrong password") returned true because it converted both to bool.
- adrianN 7y agoFive different string datatypes are actually a good idea in many scenarios, but you have to be very careful with automatic conversions.
- klodolph 7y agoI think five different string datatypes are reasonable if they’re types like String, HTMLFragment, JavaScriptFragment, etc. If you’re just dealing with interop with char*, std::string, Qt, LibICU, etc. it’s a nightmare.
- gHosts 7y ago> ...and you will at all times want to be suited up like you’re going to going to spay a velociraptor. Brand new sentence... PS: If you must do battle with the likes of strcpy(), avoid strncpy() and strlcpy() and head straight for strscpy()
- deleted 7y ago[deleted]
- msla 7y ago> Web code written in any language without a well-integrated string data type. strcpy() is a target painted on my back if I did that. Writing a URI parser in C which extracts hostname, port, and path is about the upper limit of what I want to do there. I've done it, it works, I learned about strstr(3) in the process, and I don't want to do it again. http://man7.org/linux/man-pages/man3/strstr.3.html http://man7.org/linux/man-pages/man3/strstr.3.html > Anybody who claims they've got amazing new data- or media= compression technology and wants funding for it. Encryption is probably worse for snakeoil, but I like reading about crypto snake oil. Schneier has a good series on it called The Doghouse. Example entry: https://www.schneier.com/blog/archives/2019/09/the_doghouse_cr_1.html https://www.schneier.com/blog/archives/2019/09/the_doghouse_... Phil Zimmermann (PGP) has an essay on recognizing it: https://philzimmermann.com/EN/essays/SnakeOil.html https://philzimmermann.com/EN/essays/SnakeOil.html djb even has a competition: https://snakeoil.cr.yp.to/ https://snakeoil.cr.yp.to/
- rstuart4133 7y agoThe code I'm most likely to waste an inordinate time on is any kind of non-determinism in the hands of an inexperienced programmer. Threads are the worst (possibly because languages like Java make them so easily available), but interrupts and multiple parallel even javascript promises returning in an unexpected order 1 time in 1000 can all create heisenbugs that take forever to find.
- partyboat1586 7y agoInexperienced devs should pair program async and threaded code before they can do it on their own. They drive with the experienced dev over their shoulder to point out the footguns. Or at least have an interactive code review. Unfortunately lots of teams are under too much pressure to deliver so pair programming doesn't get done as much as it should. It's how I learnt to write safe threaded code and I can still hear the voice of the senior dev in the back of my mind when I write it now.