Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple APILearn More
Search - "mythical"
If you hire nine women to make a baby, you won't get a baby in one month.
But if you hire one woman a month and impregnate her immediately, it will still take you nine months to get the first baby, but after that you'll get one baby per month for the rest of the year.
That's the difference between latency and throughput (and that's also how pineapple farms work, since it can take up to a year to grow pineapples).11
Why does almost everyone act as if the world they live in is perfect, or is supposed to be perfect?
This is about approaching IT infrastructures, but goes way beyond IT, into daily lives.
Daniel Kahneman wrote about the "Econs" - a mythical creature that behaves according to rules and rational thoughts, that everybody is guided by, as opposed to Humans, who are irrational, intuitive and emotional.
My beef is with a wider perception, beyond economical analysis, profit, investment and so on.
Organization A uses a 15 year old system that is crappy beyond description, but any recent attempt to replace it have failed. Josh thinks that this is a crappy organization, any problem lies within the replacement of that system, and all resources should be devoted to that. Josh lives in a perfect world - where shit can be replaced, where people don't have to live with crappy systems. Josh is stupid, unless he can replace that old system with something better. Don't be Josh. Adapt to the fucking reality, unless you have the power to change it.
Peter is a moron who downloads pirated software with cracks, at the office. He introduced a ransomware that encrypted the entire company NAS. Peter was fired obviously, but Sylvia, the systems administrator, got off easily because Peter the moron was the scapegoat. Sylvia truly believes that it's not her fault, that Peter happened to be a cosmic overgrown lobotomized amoeba. Sylvia is a fucking idiot, because she didn't do backups, restrict access, etc. Because she relied on all people being rational and smart, as people in her imaginary world would be.
Amit finished a project for his company, which is a nice modern website frontend. Tom, the manager says that the website doesn't work with Internet Explorer 8, and Amit is outraged that Tom would even ask this, quoting that IE8 is a dinosaur that should've been euthanized before even hatching. Amit doesn't give a shit about the fact that 20% of the revenue comes from customers that use IE8, what's more important to him is that in his perfect imaginary world everybody uses new hardware and software, and if someone doesn't - it's their fault and that's final. Amit is a fucking asshole. Don't be like Amit.
React to the REAL world, not what you WANT the world to be. Otherwise you're one of them.
The real world can be determined by looking at all the fuck ups and bad situations, admit that they happen, that they're real, that they will keep happening unless you do something that will make them impossible to happen or exist.
Acting as if these bad things don't exist, or that they won't exist because someone would or should change it, is retarded.10
Finally after one year I understood how to carry out my job. I should do exactly NOTHING. I stopped completely organizing the team, solving bugs, helping the team developing and solving problems, explore and try stupid things said by CEO, PM and consultants.
I stopped for 2 months now and nothing happened.
I work remotely, nobody knows if I'm working or not, because nobody cares really about priorities, bugs, customers or products development.
I gain 10K$ (ten thousand) per month.
I attend skype meeting once per week or less. I say yes to everything, nobody gives a shit to what I say, even if they consider me the technical director. Actually in the meetings I only take care of being considered the technical director.
I achieved the mythical 4 hours working week.
I keep skype open in all my devices in order to answer promptly in case of problem, wherever I'm am, that's the most important thing right now.
I attended some meeting from the toilet or from the bedroom.
It was hard. To understand that the board is only after the next funding and not looking to develop a real product. It's hard to pretend helping people while thinking inside you "fuck you".
You have to let go the "guilt": if you can't login, I KNOW that is my fault, that there is a bug, that is possible to solve it, that resources and planning are needed etc. That's guilt. Just let go and say "next release" and never include it in the next release.
In this way I discovered that some users are paying the application even if they can't login.
The company is not going to disappear in the next 5 years. On the contrary, it's going to receive more money.
So the only "bad" thing is, what will I write in my CV in 5 years?20
Woohoo!!! I made it to 1000++s :) Now I feel less newbie-like around here :)
So... I don't want to shit-post, so in gratitude to all you guys for this awesome community you've built, specially @trogus and @dfox, I'll post here a list of my ideas/projects for the future, so you guys can have something to talk about or at least laugh at.
Here we go!
Current Project: Ensayador.
It's a webapp that intends to ease and help students write essays. I'm making it with history students in mind, but it should also help in other discipline's essay production. It will store the thesis, arguments, keywords and bibliography so students can create a guideline before the moment of writting. It will also let students catalogue their reads with the same fields they'd use for an essay: that is thesis, arguments, keywords and bibliography, for their further use in other essays. The bibliography field will consist on foreign keys to reads catalogued. The idea is to build upon the models natural/logical relations.
Apps: All the apps that will come next could be integrated in just one big app that I would call "ChatPo" ("Po" is a contextual word we use in my country when we end sentences, I think it derived from "Pues"). But I guess it's better to think about them as different apps, just so I don't find myself lost in a neverending side-project.
A subchat(similar to a subreddit)-based chat app:
An app where people can join/create sub-chats where they can talk about things they are interested in. In my country, this is normally done by facebook groups making a whatsapp group and posting the link in the group, but I think that an integrated app would let people find/create/join groups more easily. I'm not sure if this should work with nicknames or real names and phone numbers, but let's save that for the future.
A slack clone:
Yes, you read it right. I want to make a slack clone. You see, in my country, enterprise communications are shitty as hell: everything consists in emails and informal whatsapp groups. Slack solves all these problems, but nobody even knows what it is over here. I think a more localized solution would be perfect to fill this void, and it would be cool to make it myself (with a team of friends of course), and hopefully profit out of it.
A labour chat-app marketplace:
This is a big hybrid I'd like to make based on the premise of contracting services on a reliable manner and paying through the app. "Are you in need of a plumber, but don't know where to find a reliable one? Maybe you want a new look on your wall, but don't want to paint it yourself? Don't worry, we got you covered. In <Insert app name> you can find a professional perfect to suit your needs. Payment? It's just a tap away!". I guess you get the idea. I think wechat made something like this, I wonder how it worked out.
* Why so many chat apps? Well... I want to learn Erlang, it is something close to mythical to me, and it's perfect for the backend of a comms app. So I want to learn it and put it in practice in any of these ideas.*
Flat-land arena: A top down arena game based on the book "flat land". Different symmetrical shapes will fight on a 2d plane of existence, having different rotating and moving speeds, and attack mechanics. For example, the triangle could have a "lance" on the front, making it agressive but leaving the rest defenseless. The field of view will be small, but there'll be a 2d POV all around the screen, which will consist on a line that fills with the colors of surrounding objects, scaling from dark colors to lighter colors to give a sense of distance.
This read could help understand the concept better:
A 2D darksouls-like class based adventure: I've thought very little about this, but it's a project I'm considering to build with my brothers. I hope we can make it.
Imposible/distant future projects:
History-reading AI: History is best teached when you start from a linguistic approach. That is, you first teach both the disciplinar vocabulary and the propper keywords, and from that you build on causality's logic. It would be cool to make an AI recognize keywords and disciplinary vocabulary to make sense of historical texts and maybe reformat them into another text/platform/database. (this is very close to the next idea)
Extensive Historical DB: A database containing the most historical phenomena posible, which is crazy, I know. It would be a neverending iterative software in which, through historical documents, it would store historical process, events, dates, figures, etc. All this would then be presented in a webapp in which you could query historical data and it would return it in a wikipedia like manner, but much more concize and prioritized, with links to documents about the data requested. This could be automated to an extent by History-reading AI.
I'm out of characters, but this was fun. Plus, I don't want this to be any more cringy than it already is.12
Forgot to post a book yesterday, so maybe I’ll post two books today...
Anyway, this book, I found it recently never seen it before. But boy is it great.
It’s similar to the programming pearls book as far as what it’s about. Think of the refactoring book, clean code, programming pearls, and the mythical man month books, thrown in a blender, added some new spice and some new things, and filtered down into 100 or so page book, simple quick and enjoyable actually.
This book the references staple books by Sedgwick, knuth, Brooks, Myers, and so many others. It’s funny how things come full circle.
My favorite quote from the book. I’ve been essentially saying this for years, but to see it on a book, it’s lovely... more people need to realize it too.
“Understanding how things work at a low level becomes a base for making good decisions at the high level”
Followed up with if you’ve never built a computer from scratch your missing out... get yourself a breadboard and some TTL logic.. and build a 4 bit CPU, once you know how to program in assembly the next step is building your own computer ... if your university didn’t teach a class that did this they ripped you off....
Don’t bitch at me.. the book said that.. and I agree! 100% because it’s true, you can’t debate that.
Oh and btw this is another book written by a female developer.. kudos to her for nailing so many topics in such a short book!35
Green-Tea, some ambient music,staring into space dreaming up wonderful mythical places..
Who are the people who are pushing for phones, laptops and desktops to be even thinner? Do they actually exist?! Or are that mythical creatures invented by Apple engineers so they can get paid to invent new stuff?
"Yeah, we need to invent a new keyboard design as customers are complaining how fat our pro laptops are."
I don't think I've looked at a laptop built in the last decade and wondered how I'll carry it with my tiny frame.
Just give me a Mac Pro that is a solid chunk of aluminum with a removable drive and access to the RAM. It'll look fine and it's going to sit quietly on my desk. I promise not to move it without hiring at least two men with appropriate safety equipment.
I want someone to stand up at an Apple keynote and say, "We made this thicker---you're welcome."13
So much irrelevant shit keeps popping on my feed here. So I’m going to post a software industry related book a day.
Hopefully others continue as well. And we can have book discussions.
So many books on the industry, the industry is always changes so much. Things are forgotten but the things that remain frozen in time are always the books. Some are timeless but much of the “forgotten” things can be found in the books.
Soo I will officially start the daily post NOW.
The Mythical Man-Month... adding more people to a late project will only make it more late.7
For me the best of being a dev was described by Fred Brooks in his "The Mythical Man-Month":
...The programmer, like the poet, works only slightly removed from pure thought-stuff. He builds his castles in the air, from air, creating by exertion of the imagination. Few media of creation are so flexible, so easy to polish and rework, so readily capable of realizing grand conceptual structures....
Yet the program construct, unlike the poet's words, is real in the sense that it moves and works, producing visible outputs separate from the construct itself. […] The magic of myth and legend has come true in our time. One types the correct incantation on a keyboard, and a display screen comes to life, showing things that never were nor could be...
It’s throw back Thursday!
Back to 1979... before the time of the red dragon book compiler book, (forgetting about the green dragon book) ... there was a time where only a few well written compiler and assembler “theory” books existed.
What’s special about this one? Well Calingaert was the co patentor of the OS/360. .. “okay soo? ... well Fred Brook’s Mythical Man-Month book I posted the other day. Calingaert is basically the counterpart of brooks on the OS/360.
Anyway, the code is in assembly (obviously) and the compiler code is basic.
Other than this book and from my understanding 2-3 other books that’s all that was available on compilers and assemblers as far as books written goes at the token.
ALLL the rest of knowledge for compilers existed in the ACM and other computing journals of the time.
Is this book relevant today, eh not really, other than giving prospective, it’s a short in comparison to the red dragon books.
If you did read it, it’s more of a book that gives you more lecture and background and concepts.. rather than here’s a swath of code.. copy it and run.. done.. nope didn’t happen in this book.. apply what you lean here13
Hmm...recently I've seen an increase in the idea of raising security awareness at a user level...but really now , it gets me thinking , why not raise security awareness at a coding level ? Just having one guy do encryption and encoding most certainly isn't enough for an app to be considered secure . In this day an age where most apps are web based and even open source some of them , I think that first of all it should be our duty to protect the customer/consumer rather than make him protect himself . Most of everyone knows how to get user input from the UI but how many out here actually think that the normal dummy user might actually type unintentional malicious code which would break the app or give him access to something he shouldn't be allowed into ? I've seen very few developers/software architects/engineers actually take the blame for insecure code . I've seen people build apps starting on an unacceptable idea security wise and then in the end thinking of patching in filters , encryptions , encodings , tokens and days before release realise that their app is half broken because they didn't start the whole project in a more secure way for the user .
Just my two cents...we as devs should be more aware of coding in a way that makes apps more secure from and for the user rather than saying that we had some epic mythical hackers pull all the user tables that also contained unhashed unencrypted passwords by using magix . It certainly isn't magic , it's just our bad coding that lets outside code interact with our own code .
Here's some of my favorite quotes from "The Mythical Man-Month":
"The bearing of a child takes nine months no matter how many women are assigned".
"The management question ... is not whether to build a pilot system and throw it away. You will do that. The only question is whether to plan in advance to build a throwaway, or to promise to deliver the throwaway to customers."
"I once knew a boss who invariably picked up the phone to give orders before the end of the first paragraph in a status report. That response is guaranteed to squelch full disclosure."
I think the author of Mythical Man Month would be interested to see how wildly popular devRant has become. Maybe we are all optimists when we start out programming, but once you expose us to clients, PMs and deadlines. Well.. we're going to need somewhere to rant.
(and in case you haven't yet had the pleasure of reading it):
All programmers are optimists. Perhaps this modern sorcery especially attracts those who believe in happy endings and fairy godmothers. Perhaps the hundreds of nitty frustrations drive away all but those who habitually focus on the end goal. Perhaps it is merely that computers are young, programmers are younger, and the young are always optimists. But however the selection process works, the result is indisputable: 'This time it will surely run,' or 'I just found the last bug'
( The Mythical Man Month ).
- Frederick Brooks, Jr.
Just started reading The Mythical Man-Month, and already in the first two chapters I went "oh hey this [fatal flaw in planning] sounds familiar!"
Is this a good or a bad sign...?6
Looking for next book to read:
*Googled "Mythical Man Moth"
*Realized that it auto corrected to "Mythical Man-Month"
Ever since I heard of the book I pondered what the hell the title could mean, thinking about analogies of devs to moths...
I've never felt so stupid and disappointed at the same time.1
Honestly idk but that one chapter from mythical man month, "Plan to Throw One Away", stuck with me:
"Where a new system concept or new technology is used, one has to build a system to throw away, for even the best planning is not so omniscient as to get it right the first time."
In my current project I've seen this play out, initial development was very prototype-ish and just not well designed but when we got a somewhat decent state we had to continue with it instead of starting again and doing it properly. And now the consequences of that are hitting, progress for new features is incredibly slow, the software is very error prone, a bunch of dead code all around, ...10
Weekend thought: Is Youtube becoming more like Facebook?
So I'm at work today and my coworker is watching YouTube. And by watching YouTube I mean watching very "mainstream" content like Mojo top 10 lists and Good Mythical Morning. When he's not doing that he's watching Twtich streaming for 6-8 hours a day.
I've noticed that I watch YouTube a lot less than I used to because there's less content I find interesting anymore. And I wonder if it's because the platform's algorithm for showing content has been skewed so much away from original content. I'm not saying that YouTube was a bastion of fantastic content 5 years ago, but in my opinion it was easier to find good content over the click bait that I feel plagues it these days.
I might be feeling this because a number of channels I've enjoyed have had to turn to patreon to get money from the demonetization of advertisements over the past year. It hasn't affected viewership but it does affect what I think YouTube "wants" the users to watch.6
A new project kicked off, where a new feature will be added to our app. The mythical creature called "Project Manager" asked us to take OT's and weekend work to rush and finish it. Aaaare you f*ckin' kiddin' meeee??!2
So I ordered an SSD. It's 1TB for some programs I want to startup faster. I have 3*1TB HDDs to store some movies, series and personal stuff (you know what I am talking about) and a 128 M.2 SSD for Windows. After connecting the new SATA SSD it wouldn't show up. After half an hour searching for a problem related to the wiring, UEFI configuration and other mythical problems coming to my mind I took the instructions of my motherboard. This was the moment I found out that those fuck faces implemented the biological feature of turning one thing off when using another.5
Here’s Today’s book, a little late in the day but we had a storm here and lost power. Powers back
Anyway Programming Pearls, this books isn’t so much a tutorial book, or like “how to program book” it’s more an influential book and thought book. Similar to the mythical man month book.
It’s short book little over 200 pages, of short essays on problems that have irritated programmers over the years. Hence the amage to pearls as a pearl is developed from grains of sand that irritate oysters. This book is a collection of irritants of programmers. (No not the social or business side of things) but technical problems we all face.
These articles are compiled from the original postings that occurred in the Communications of ACM journal, back in the late 90s.
This books offers workable solutions to these “pearls”.
Think of this like one of the precursors to what we have now as stack overflow .. information was shared via journals since the internet wasn’t available but not so much question then respond like we do more of hey I had this problem here’s the solution sort of system.
It’s the type of book, when your bored and you don’t want to read some “how to book” you read this, just like mythical man month and others.
This book references items from knuths books. As well as references to others.
So here’s to the pearls the plague us all.2
My coworker has been freaking out that our company doesn't do Agile or Scrum right and it will negatively impact his career. He claims that some elite company will want him to prove he worked in well oiled Agile machine. He also claims his last company had it down to a T yet he voluntarily left so they couldn't have been that damn spectacular.
I'm on my 7th company and no one does this shit "right", everyone makes it up. Also it's impossible to prove that you worked in a perfect environment to a different employer, if they even care at all. If someone asks, just tell them what they want to hear because no one actually works in this mythical world of Agile perfection.1
Does the perfect codebase exist? Or is it just a myth?
PS. I'm just a new grad with ~3 years of experience, and in my 4th company now.10
1. Be lost in thought less.
2. Listen to people more attentively.
3. Read 3 computer science books.
Note: Last year my resolution was to read 3 computer science books and I'm proud to say that I read 2.5 computer science books. Didn't fully reach it but 2 and a half books in a year is damn better than 0. They were: "Clean Code", "The Mythical Man-Month", and half of "Algorithms 4th Edition".
TMW you realise you're working for Oroboro, the mythical snake that eats its own tail.
A product manager and a designer arrive at the project, spend a month doing lots of research, tell the devs that what they've built "isn't suitable for users" and come up with solution that has the exact same features that were implemented before.
The mythical creatures who solve all the problems of lesser mortals without having to move from their desks.