Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Search - "esoteric"
-
I'm drunk and I'll probably regret this, but here's a drunken rank of things I've learned as an engineer for the past 10 years.
The best way I've advanced my career is by changing companies.
Technology stacks don't really matter because there are like 15 basic patterns of software engineering in my field that apply. I work in data so it's not going to be the same as webdev or embedded. But all fields have about 10-20 core principles and the tech stack is just trying to make those things easier, so don't fret overit.
There's a reason why people recommend job hunting. If I'm unsatisfied at a job, it's probably time to move on.
I've made some good, lifelong friends at companies I've worked with. I don't need to make that a requirement of every place I work. I've been perfectly happy working at places where I didn't form friendships with my coworkers and I've been unhappy at places where I made some great friends.
I've learned to be honest with my manager. Not too honest, but honest enough where I can be authentic at work. What's the worse that can happen? He fire me? I'll just pick up a new job in 2 weeks.
If I'm awaken at 2am from being on-call for more than once per quarter, then something is seriously wrong and I will either fix it or quit.
pour another glass
Qualities of a good manager share a lot of qualities of a good engineer.
When I first started, I was enamored with technology and programming and computer science. I'm over it.
Good code is code that can be understood by a junior engineer. Great code can be understood by a first year CS freshman. The best code is no code at all.
The most underrated skill to learn as an engineer is how to document. Fuck, someone please teach me how to write good documentation. Seriously, if there's any recommendations, I'd seriously pay for a course (like probably a lot of money, maybe 1k for a course if it guaranteed that I could write good docs.)
Related to above, writing good proposals for changes is a great skill.
Almost every holy war out there (vim vs emacs, mac vs linux, whatever) doesn't matter... except one. See below.
The older I get, the more I appreciate dynamic languages. Fuck, I said it. Fight me.
If I ever find myself thinking I'm the smartest person in the room, it's time to leave.
I don't know why full stack webdevs are paid so poorly. No really, they should be paid like half a mil a year just base salary. Fuck they have to understand both front end AND back end AND how different browsers work AND networking AND databases AND caching AND differences between web and mobile AND omg what the fuck there's another framework out there that companies want to use? Seriously, why are webdevs paid so little.
We should hire more interns, they're awesome. Those energetic little fucks with their ideas. Even better when they can question or criticize something. I love interns.
sip
Don't meet your heroes. I paid 5k to take a course by one of my heroes. He's a brilliant man, but at the end of it I realized that he's making it up as he goes along like the rest of us.
Tech stack matters. OK I just said tech stack doesn't matter, but hear me out. If you hear Python dev vs C++ dev, you think very different things, right? That's because certain tools are really good at certain jobs. If you're not sure what you want to do, just do Java. It's a shitty programming language that's good at almost everything.
The greatest programming language ever is lisp. I should learn lisp.
For beginners, the most lucrative programming language to learn is SQL. Fuck all other languages. If you know SQL and nothing else, you can make bank. Payroll specialtist? Maybe 50k. Payroll specialist who knows SQL? 90k. Average joe with organizational skills at big corp? $40k. Average joe with organization skills AND sql? Call yourself a PM and earn $150k.
Tests are important but TDD is a damn cult.
Cushy government jobs are not what they are cracked up to be, at least for early to mid-career engineers. Sure, $120k + bennies + pension sound great, but you'll be selling your soul to work on esoteric proprietary technology. Much respect to government workers but seriously there's a reason why the median age for engineers at those places is 50+. Advice does not apply to government contractors.
Third party recruiters are leeches. However, if you find a good one, seriously develop a good relationship with them. They can help bootstrap your career. How do you know if you have a good one? If they've been a third party recruiter for more than 3 years, they're probably bad. The good ones typically become recruiters are large companies.
Options are worthless or can make you a millionaire. They're probably worthless unless the headcount of engineering is more than 100. Then maybe they are worth something within this decade.
Work from home is the tits. But lack of whiteboarding sucks.37 -
> Root struggles with her ticket
> Boss struggles too
> Also: random thoughts about this job
I've been sick lately, and it's the kind of sick where I'm exhausted all day, every day (infuriatingly, except at night). While tired, I can't think, so I can't really work, but I'm during my probationary period at work, so I've still been doing my best -- which, honestly, is pretty shit right now.
My current project involves legal agreements, and changing agent authorization methods (written, telephone recording, or letting the user click a link). Each of these, and depending on the type of transaction, requires a different legal agreement. And the logic and structure surrounding these is intricate and confusing to follow. I've been struggling through this and the project's ever-expanding scope for weeks, and specifically the agreements logic for the past few days. I've felt embarrassed and guilty for making so little progress, and that (and a bunch of other things) are making me depressed.
Today, I finally gave up and asked my boss for help. We had an hour and a half call where we worked through it together (at 6pm...). Despite having written quite a bit of the code and tests, he was often saying things like "How is this not working? This doesn't make any sense." So I don't feel quite so bad now.
I knew the code was complex and sprawling and unintuitive, but seeing one of its authors struggling too was really cathartic.
On an unrelated note, I asked the most senior dev (a Macintosh Lisa dev) why everything was using strings instead of symbols (in Rails) since symbols are much faster. That got him looking into the benchmarks, and he found that symbols are about twice as fast (for his minimal test, anyway), and he suggested we switch to those. His word is gold; mine is ignorable. kind of annoying. but anyway, he further went into optimizing the lookup of a giant array of strings, and discovered bsearch. (it's a divide-and-conquer lookup). and here I am wondering why they didn't implement it that way to begin with. 🙄
I don't think I'm learning much here, except how to work with a "mature" codebase. To take a page from @Rutee07, I think "mature" here means the same as in porn: not something you ever want ot see or think about.
I mean, I'm learning other things, too, like how to delegate methods from one model to another, but I have yet to see why you would want to. Every use of it I've explored thus far has just complicated things, like delegating methods on a child of a 1:n relation to the parent. Which child? How does that work? No bloody clue! but it does, somehow, after I copy/pasted a bunch of esoteric legacy bs and fussed with it enough.
I feel like once I get a good grasp of the various payment wrappers, verification/anti-fraud integration, and per-business fraud rules I'll have learned most of what they can offer. Specifically those because I had written a baby version of them at a previous job (Hell), and was trying to architect exactly what this company already has built.
I like a few things about this company. I like my boss. I like the remote work. I like the code reviews. I like the pay. I like the office and some socializing twice a year.
But I don't like the codebase. at all. and I don't have any friends here. My boss is friendly, but he's not a friend. I feel like my last boss (both bosses) were, or could have been if I was more social. But here? I feel alone. I'm assigned work, and my boss is friendly when talking about work, but that's all he's there for. Out of the two female devs I work with, one basically just ignores me, and the other only ever talks about work in ways I can barely understand, and she's a little pushy, and just... really irritating. The "senior" devs (in quotes because they're honestly not amazing) just don't have time, which i understand. but at the same time... i don't have *anyone* to talk to. It really sucks.
I'm not happy here.
I miss my last job.
But the reason I left that one is because this job allows me to move and work remotely. I got a counter-offer from them exactly matching my current job, sans the code reviews. but we haven't moved yet. and if I leave and go back there without having moved, it'll look like i just abandoned them. and that's the last thing I want them to think.
So, I'm stuck here for awhile.
not that it's a bad thing, but i'm feeling overwhelmed and stressed. and it's just not a good fit. but maybe I'll actually start learning things. and I suppose that's also why I took the job.
So, ever onward, I guess.
It would just be nice if I could take some of the happy along with me.7 -
When I joined my current company there was a sales woman who had all kinds of weird esoteric quirks.
Like, she was legitimately afraid the WiFi signal could fry her brain so she put up some sort of mandala or whatever that was supposed to filter all the bad frequencies. She never wondered why WiFi (or her smartphone for that matter) still worked the same way despite the mandala.
Or this one time she brought colored liquids and told everyone to put them on their hands and smell them. She said if you liked the "scent of the color" then that was your color.
I never found my color, I think it's because she didn't have black.5 -
Books and command lines.
I don't like teachers.
I think it's because my learning process is very async and chaotic. When I see a snippet in Golang, I relate it to PHP, Rust and Haskell. I jump to resolving the problem in other languages, trying to find out which approaches work in Go.
Then I read about some computer science concept on Wikipedia and get lost in that while my hunger for knowledge and food increases. After a while I look up a recipe for a pasta salad, and while cutting bell peppers, I see the recipe in terms of typed morphisms, I sprinkle and intersperse ingredients through mapping functions, then decide to write an interpreter for the esoteric "Chef" language in Go so I can interpret my salad recipe while eating it.
Voila, I'm learning Go.
I have no patience for linear mentoring, and others have no patience for mentoring me.
But that's OK.1 -
So yesterday our team got a new toy. A big ass 4k screen to display some graphs on. Took a while to assemble the stand, hang the TV on that stand, but we got there.
So our site admin gets us a new HDMI cable. Coleague told us his lappy supports huge screens as he used to plug his home TV in his work lappy while WFHing. He grabs that HDMI, plugs one end into the screen, another - into his lappy and
.. nothing...
Windows does not recognize any new devices connected. The screen does not show any signs of any changes. Oh well..
Site IT admin installs all the updates, all the new drivers, upgrades BIOS and gives another try.
Nothing.
So naturally the cable is to blame. The port is working for him at home, so it's sure not port's fault. Also he uses his 2-monitor setup at work, so the port is 100% working!
I'm curious. What if..... While they are busy looking for another cable, I take that first one, plug it into my Linux (pretty much stock LinuxMint installation w/ X) lappy,
3.. 2.. 1..
and my desktop is now on the big ass 4k fat screen.
Folks. Enough bitching about Linux being picky about the hardware and Windows being more user friendly, having PnP and so. I'm not talking about esoteric devices. I'm talking about BAU devices that most of home users are using. A monitor, a printer, a TV screen, a scanner, wireless/usb speaker/mouse/keyboard/etc...
Linux just works. Face it
P.S. today they are still trying to make his lappy work with that TV screen. No luck yet.17 -
Objective c is the ugliest most esoteric programming language there is and it has no place in modern development.6
-
For almost twenty years I have sheltered in the protective, safe, warm bosom of Debian. For a long time, it had the largest body of available software of all the distros, and by far when Ubuntu rose to prominence. So I used Ubuntu for years for the depth of package availability, and because if something esoteric was released, it would almost certainly come out first on Ubuntu, and sometimes only on Ubuntu. I was happy. Things were good.
But over time, Ubuntu and even Debian started to lean harder and harder on gnome, which I've always hated, along with all desktop environments, as they obscure the system from the user, and introduce graphical layers of abstraction, so the actual job of getting things done becomes a black art, hidden behind gnome-specific tools. This is my preference, and It's been disheartening in recent years to see the direction the desktop appears to be taking.
Then I joined devrant in 2017, and until then, I had heard peripherally about Arch, but never more than that. I had not heard of Manjaro at all. People started posting success stories and happy screenshots, and I was intrigued.
In 2018 I built a windows machine to use for parsec streaming games that wouldn't run on my linux rig. For not a great deal of money, I built a solid machine that's unequivocally better than any machine I've ever used, and installed windows on it. For a while, I was pleased. I had the best of both worlds: a windows box to stream some games from, and a linux desktop for everything else.
But after a couple months, as proton matured, I found fewer and fewer reasons to use my windows machine. My use of it declined to where I was last week: it had been months since I'd even powered it on. It was the most powerful machine I've ever used, and it was just collecting dust behind the TV in the living room. The full realization came to me while I was fighting a battle in the Gnome Takeover War, and I realized: I don't have to do this.
I pulled the newer machine out from behind the TV and installed Manjaro architect edition on it. The flexibility in the install was staggering. I am using nilfs2 for my /boot and / partitions: an option that Ubuntu has never offered. Normally they just default you into the garbage ext4 filesystem, and if you can dig deep enough, you can install with something else, though you have to really want it, in my opinion.
But Manjaro has been a dream-come-true. Pacman is easily the best package manager I have ever used, and pamac's intuitive and easy commands are a great view into AUR. Booting into the virtual console instead of a display manager has been wonderful too. On Ubuntu, I had to disable systemd's version of runlevel 5 to even get it working. But I just popped my xrandr script into my .xinitrc, and X opens with startx in less than a second. On Ubuntu, it takes about 5-10 seconds.
This has nothing to do with Manjaro, but I also switched to Radeon for this install, and I couldn't be happier about that. No more "installing" nvidia's drivers.
No more gnome. No more PPAs. No more settling. I am a Manjaro user now. Full stop. Thank you, devrant, for bringing it to my attention.11 -
TLDR: programming helped with my math weakness
I've always been bad at math. I always failed my math quizzes, and to be honest the only thing that I remember from that time was that I hated it, I didn't want anything to do with it, to hell with functions and formulas and all of that garbage.
Fast forward a couple of years. I just started my masters degree in machine learning and I'm sort of inclined to applications of deep learning in signal processing. Currently I'm writing a fourier transform in raw python and I've never had more fun. I feel like programming has helped me a lot with math, being able to see how each component behaves when you write a function helps a lot! Being able to plot things helps a lot! Not having to imagine mathematical functions as esoteric mystical wonders but being able to split them up into small components and seeing what you're doing wrong HELPS. A. LOT.
Just felt like sharing. I feel like programming has made me a generally smarter person, in regards to how I approach problems and think about stuff.4 -
I was reading the post made by another ranter in which he was basically asked to lower the complexity of an automation script he wrote in place of something everyone else could understand. Another dev commented that more than likely it had to do with the company being worried that ranter_1 would leave and there would be no one capable of maintaining the code.
I understood this completely from both perspectives. It makes me worry how real this sometimes is. We don't get to implement X tech stack because people are worried that no one would be able to maintain Y project in the event of someone leaving. But fuck man, sometimes one wants to expand more and do things differently.
At work I came to find out that the main reason why the entirety of our stack is built in PHP is because the first dev hired into the web tech department(which is only about 12 years old in my institution) only knew PHP. The other part that deals with Java is due to some extensions to some third party applications that we have, Java knowledge (more specifically Spring and Grails) is used for those, the rest is mostly PHP. And while I LOVE PHP and don't really have anything against the language I really wonder what would it be of the institution had we've had a developer with a more....esoteric taste. Clojure, Elixir, Haskell, F# and many others. These are languages and tech stacks that bring such a forward way of thinking into the way we build things.
On the other hand, I understand if the talent pool for each of these stacks is somewhat hard to come up with, but if we don't push for certain items then they will never grow.
The other week I got scolded by the lead dev from the web tech department for using Clojure to create the demo of an application. He said that the project will most likely fall into his hands and he does not know the stack. I calmly mentioned that I would gladly take care of it if given the opportunity as well as to explain to him how the code works and provide training to everyone for it :D I also (in all of my greatness) built the same program for him in PHP. Now, I outrank him :P so the scold bounced out of the window, plus he is a friend, but the fact remains that we reached the situation in which the performance as well as the benefits of one stack were shadowed by the fact that it holds a more esoteric place in the development community.
In the end I am happy to provide the PHP codebase to him. The head of the department + my boss were already impressed with the fact that I was able to build the product in a small amount of time using a potent tech stack, they know where my abilities are and what I can do. That to me was all that matters, even if the project gets shelved, the fact that I was able to use it at work for something means a lot to me.
That and I got permission to use it for the things that will happen with my new department + the collective interest of everyone in paying me to give support even if I ever leave the institution.
Win.13 -
Combine ascii art, electrical engineering, and programming
https://github.com/aaronduino/...
Why? for the glory of Satan, of course2 -
I fucking hate chained methods. Ok, not all of them. Query things like array.where.first... that stuff is ok.
Specially if it's part of the std lib of a lang, which would be probably written by a very competent coder and under scrutiny.
But if you're not that person, chances are you'll produce VASTLY inferior code.
I'm talking about things like:
expect(n).to.be(x).and.not(y)
And the reason I don't like it is because it's all fine and dandy at first.
But once you get to the corner cases, jesus christ, prepare to read some docpages.
You end up reading their entire fucking docs (which are suboptimal sometimes) trying to figure if this fucking dsl can do what you need.
Then you give up and ask in a github issue. And the dev first condescends you and then tells you that the beautiful eden of code he created doesn't let you do what you want.
The corner cases usually involve nesting or some very specific condition, albeit reasonable.
This kind of design is usually present in testing or validation js libraries. And I hate all of those for it.
If you want a modern js testing lib that doesn't suck ass, check avajs. It's as simple as testing should be.
No magic globals, no chaining, zero config. Fuck globals forced by libs.
But my favorite thing about it that is I can put a breakpoint wherever the fuck I want and the debugger stops right fucking there.
Code is basically lines of statements, that's it, and by overusing chaining, by encouraging the grouping of dozens of statements into one, you are preventing me from controlling these statements on MY code.
As an end dev, I only expect complexity increases to come from the problems themselves rather than from needlessly "beautified" apis.
When people create their own shitty dsl, an image comes to my mind of an incoherent rambling man that likes poetry a lot and creates his own martial art, which looks pretty but will get your ass kicked against the most basic styles of fighting.
I fucking hate esoteric code.
Even if I had to execute a list of functions, I'd rather send them in an array instead of being able to chain them because:
a) tree shaking would spare from all the functions i didn't import
b) that's what fucking arrays are for, to contain several things.
This bad style of coding is a result of how low the barrier to code in higher level langs are.
As a language or library gets easier to use you might think that's a positive thing. But at the same time it breeds laziness.
Js has such a low learning curve that it attacts the wrong kind of devs, the lazy, the uninspired, the medium.com reader, the "i just care about my paycheck" ones.
Someone might think that by bashing bad js devs I'm trying to elevate myself.
That'd be extremely stupid. That's like beating a retarded blind man in a game and then saying "look, I'm way better than this retarded blind man".
I'm not on a risky point of view, just take a stroll down npmjs.com. That place is a landfill. Not really npm's fault, in fact their search algorithm is good.
It's just the community.
Every lang has a ratio of competence. Of competent to incompetent devs.
You have the lang devs and most intelligent lib devs at the top. At the bottom you have the bottom.
Well js has a horrible ratio. I wouldn't be shocked to find out that most js devs still consider using import or await the future.
You could say that js improved a lot, that it was way worse beforr. But I hate chaining now, and i hated back then!
On top of this, you have these blog web companies, sucking the "js tutorial" business tit dry, pumping out the most obscenely unprofessional and bar lowering tutorials you can imagine, further capping the average intelligence of most js devs.
And abusing SEO while they're at it, littering the entire web with copy paste content.2 -
What's everyone's favorite esoteric programming language? Mine is PIET. This image is a PIET program that interprets BrainFuck code (NOT written by me). 😂
Source & Info: http://dangermouse.net/esoteric/...6 -
Fuck android studio updates, fuck OpenGL libraries, fuck nvidia graphics on Linux, fuck it all to hell.
These bullshit updates keep breaking stuff in apps, and then the emulator itself gets broken somehow, then I need to run a bullshit shell script I found on some esoteric Arch Linux forum to symlink OpenGL .so libraries on my Linux machine every time I update because fucking OpenGL and nvidia crappy drivers on Linux, which also broke my xrandr configs and segfaulted the xfce4-display app.
Seriously that's horseshit. Linux will never ever ever break through the glass ceiling and become idiot-proof non-tech user friendly like the botnets Winblows and macPrison.6 -
So, this is probably somewhat esoteric but...
While studying at university I had a "programming paradigms" module, dunno why they called it that, it was more like "introduction to functional programming".
So, it's kinda mind bending, we'd only really started to get our heads around classical object oriented programming and they throw functional programming at us.
It's worse than that though, for do they use an established language, like lisp/scheme, functional Python, or even given Haskell?
No, of course they didn't. They taught us Oz.
You probably won't have heard of it, but this language is burned into the back of my brain, along with a vague understanding of the n-queens problem we had to solve graphically (using qTk, which I dunno if someone took qt and tk and blended them, I stopped asking questions after a while).
To top it off did this language (at the time) have a stand alone interpreter? Did it buggery! It was coupled to the Mozart programming system, which is just Emacs (which has a bloody lisp built into it,so close, yet so far 😭).
It gets worse, though, oh does it get worse, for pause dear reader and consider, have you ever heard of Mozart/oz before, I'd put money on most of you had not heard of it until today.
For, you see, I believe at the time of writing, one, yes, ONE text book exists on this language. When I was doing my assignment there was merely some published conference notes and language design documents.
That's not all, I was not the only one experiencing difficulties with this language, someone in the class ended up pouring through the mailing lists and found the very tutor teaching the class struggling at first to understand the language.
I had to repeat that year. The functional programming class was one semester.
When I retook that year, it was a whole year long. However, halfway through the year, original tutor was fired and a new tutor was hired to teach the language.
He was, understandably, just as confused as we were.
There was a Starbucks and a pub equidistant from the lecture hall, though in opposite directions. From lecture to lecture we had no idea which one we'd end up in.
I have reason to believe Mozart/Oz it some sort of otherworldly abomination designed to give students the occasional nightmare flashback, long after they've left.
My room had post it notes, sheets of paper, print outs, diagrams, doodles and pens, just stuck to the wall, I looked like a raving lunatic three hours away from being institutionalised. There was string connecting one diagram to the next and images of a chess queen all over. As I attempted to solve the n-queens problem.
Madmans knowledge, I call it. I can never unlearn all that, in fact it seeps into much of the code I write. Such information was not meant for the minds of a simple country bumpkin such as myself...
Mozart/Oz... I wouldn't be the programmer I am today without it, and that's frankly terrifying...10 -
TDD.
I'm a fan of writing tests right after you write every module. I actually think it's doable.
But I'm not a big fan of traditional TDD, which is defined as: first writing the tests, making them fail, writing code until tests don't fail.
My experience with traditional TDD when writing library code is that you start with this very naive idea of what is needed, so you write classes and functions and a lot of times they look like overly simplistic pseudocode.
So what do you do? You scratch that, you delete those classes/functions several times.
I think this discovery process that your code is naive is slowed the fuck down by doing TDD.
I'd rather write a theoretical API in a readme file, then write code, and then write the tests, you can even withhold writing the tests, but never leaving them for another day, just so that you don't waste time writing tests that you're going to scratch.
There's always a time constraint, and most of us can't afford bikeshedding.
Traditional TDD feels like an esoteric thing, it tries to make programming a series of steps, it actually sounds like an infommercial.
"FOLLOW THESE 3 SIMPLE STEPS AND WRITE THE BEST CODE EVER"11 -
Did you know german was turing complete?
(Not really)
Do you know german?
(Probably not)
Learn today:
http://esolangs.org/wiki/german3 -
Meet today.... Fetlang
---
lick Bob's cock
lick Duke's left nipple one million times
while Ada is submissive to Duke
make slave scream Ada's name
Have Charlie spank himself
Have Ada lick his tight little ass
Have Bob lick Charlie's tight little ass, as well
make Ada moan Bob's name
make Bob moan Charlie's name
---
Never felt so dirty after calculating the fibonacci sequence...
https://github.com/Property404/...
"Fetlang is a statically typed, procedural, esoteric programming language and reference implementation. It is designed such that source code looks like poorly written fetish erotica."8 -
"hey i want to print hello world to the terminal, can someone help me?"
>You should use ai for this, construct a neural network and feed it data.
>node has a great framework for printing to the terminal, use npm i termprinter && tp create-app
>*20 line bash script with esoteric unix tools nobodys heard of*
>hey i did this in unity, heres a link to my 30 minute long youtube tutorial
I somehow feel like the barrier of entry for programming has been lowered way too drastically.10 -
When you're doing a demo and switch to a workspace with a green-on-black terminal with tmux on it, sending requests in a while loop and polling some output every second.
And then people (mostly devs) start posting Matrix memes in the meeting chat
Feels good :)
This always reminds me that what's a casual tool for me, for others it may be an esoteric unicorn-magic-powered super geeky stuff.3 -
brainfuck - your next programming language. A simple tutorial
Sample 1:
-[------->+<]>.-[->++++<]>.++[--->++<]>.+++.+++++++.+[->+++<]>.--[--->+<]>-.+[->+++<]>+.+.[--->+<]>-.----.+++[->+++<]>++.+++++++++++++.++++++.[++>---<]>.++[--->++<]>.++[->++<]>.[--->+<]>+++.[--->+<]>-----.--[->++++<]>+.----------.++++++.--[->+++++<]>.
Output: "I love devrant. Do you?"
Sample 2:
----[---->+<]>++.[--->+<]>+++.----------.-[--->+<]>-.--[->++++<]>+.----------.++++++.---.[-->+++++<]>+++.[->+++<]>++.[--->+<]>----.+++[->+++<]>++.++++++++.+++++.-[->+++++<]>-.-[--->++<]>-.++++++++++.+[---->+<]>+++.++[->+++<]>.-[--->+<]>--.+[->+++<]>+.++++++++.------.-.[->+++<]>++.++[--->++<]>.[-->+++++<]>-.+[--->+<]>++.[-->+++++<]>+++.-[--->++<]>-.+++++++++++.[---->+<]>+++.-[--->++<]>-.++++++++++.-----.[++>---<]>++.[->+++<]>-.-[->+++++<]>.
Output: "And your brain is fucked. Or it isn't?"
----------------------
Wanna play with it?
Text to brainfuck: https://copy.sh/brainfuck/text.html
Brainfuck to text:
https://sange.fi/esoteric/...2 -
!rant
I stumbled across this code golf the other day, I thought I had seen all of the esoteric languages... Then I saw Minecraft...
https://codegolf.stackexchange.com/...3 -
Oh where to start.
TLDR, *actually* prepare students for the *real world*.
- TEACH GIT.
- Stop with the useless projects with esoteric restrictions that absolutely do not exist in the software work field
- ENCOURAGE collaboration rather than make it academic dishonesty with high punishment consequences. Devs need to learn Teamwork!!
- Don't start 101 with Python then go straight to C++ in 102
....
good lord, the easier question is what DOESN'T need to change in CS undergrad programs. -
VSCode
Its:
- Sublime but without the pricetag
- Atom but without the crashing
- netbeans but without the Java
- ideaj but without the load times
- vim without the elitism / esoteric design
- cross platform
The only downside to me is that its electron.9 -
Okay so I've written a string reverser in my own esoteric programming language.
Explanation: https://github.com/iAmGio/pikt/...5 -
A microwave can cook potatoes in ten minutes!? Why the fuck did nobody tell me?
A lot of workplaces only offer a microwave and no oven, and barley a kitchen to prepare stuff.
Hence, I was rarely bringing in my own food as I worked under the assumption that I had to prepare it at home and just heat it up at work. And potatoes take round about ~40 minutes the way I make them (20 min to cook, 20 min to steep).
Now, I will be using the shit out of those technical wonders and save a lot of money in the progress, as I used to go to restaurants almost daily for lunch time. Heck, I may even buy myself one for home use.
Oh, now I remember why!
This is what I get by being brought up by a somewhat esoteric mother.
"Microwave are no good, the taint the food."
No, they do not. It's science!4 -
I've written an insertion sort algorithm in my own esoteric programming language!
I also like to call it 'San Francisco sort'.
Explanation: https://github.com/iamgio/pikt/...8 -
Today's episode of Bluey is called: "I am not ready to go back to work after a week long mandatory vacation in which I will go back into a space that has made my passion into a shitless grabs for money"
Seriously, If I hear "the president of the institution does not like <X>" I will blow my brains out.
What is worse, every "leAderShiP" meeting I ask if shit is actually a policy towards were my department head says "no, but the boss does not like <X>" <--- then fucking make it a policy.
Seriously, I have a wife, I have but one woman to keep happy, I ain't about to break my back on dumb shit that some lady dislikes when I already have to keep 1 woman happy.
Going to work is a paycheck to me, but fuck man, I am seriously leaving. Good luck trying to find fkers this part of town that can patch my software be it that I wrote it in the most esoteric shit known to mankind on these modern days.
Might start listening to recruiters, I get about 50 offers a day.1 -
Whenever I'm having a technical discussion with my business partner, he asks me if we can make the project/feature compatible with the Sega Saturn. I keep telling him that I cannot base my business plan on a defunct esoteric console. I think I made the right choice1
-
If you’re a developer who seek professional growth, there is no better way than learning other languages, even if nobody really uses them.
Pick a language and spend a weekend reading tutorials and most importantly writing code in it, something like game of life, sudoku solver or todo-list app.
The more alien the language feels the better. Try Clojure, OCaml, Smalltalk, Prolog, Erlang, and also weird esoteric languages like Piet.
Writing code that operates on alien concepts you see there is the quickest way of learning that concepts and reusing them in whatever language you’re making money with. Your professional growth will be immense.23 -
Ah I love that movie.. Hero, from 2002. I've seen it in the cinema three times. It's a real marvel, especially the scene where the forest turns red right after Snow killed Moon.
I also like how the quotes are adaptable:
Martial arts and programming are quite different, but they are based on the same principle: striving for highest perfection.
The essence of programming reveals itself through study and meditation.
(The latter one is also one of my favourite lines at work when being asked how come I know some esoteric stuff: it revealed itself through study and meditation.)5 -
Functional-Declarative languages should only be esoteric ones. They are interesting for research and a mathematical toy, but they should not be used for programming languages used in the real world.
I currently try to write OpenSCAD code that places a list of modules, with information given from an array, with varying sizes next to each other. And is so hard and cumbersome. Whoever had the idea to cripple OpenSCAD by not having variables was stupid or sadistic.
The actual CPU run instructions, one after the other, there is no good reason to not allow some imperative elements in a programming language.24 -
The most difficult esoteric programming language is not Brainfuck. It is Malbolge:
"It took two years for the first Malbolge program to appear. The author himself has never written a Malbolge program. The first program ["Hello World"] was not written by a human being; it was generated by a beam search algorithm (...)"
(https://en.wikipedia.org/wiki/...)
So basically it took a brutforce try-and-error approach to write "Hello World". Absolutely crazy! Imagine malware written like that 🤖5 -
My creation after 1 day.
Enter any string ending with period and this program will remove any spaces that exceed.
Looks pretty beautiful and decorative too. :)6 -
My employer should burn his DevOps system to the ground: esoteric configuration split on 1000 files, bugs and downtime almost daily, not communicated breaking changes which breaks pipelines, shitty documentation, few opportunities for customization and for everything you have to open a fucking ticket, I love programming but since I have to spend more time on a fucking ticketing system rather than on Vim my motivation is gradually falling to pieces.5
-
Since CS is about the science of computers and not about a particular programming language, it would be nice if assignments were accepted in any non-esoteric language, as long as it can demonstrate that the student has learned whatever he was supposed to learn.
Bonus points for explaining well why that language was chosen.1 -
I don't know if this can be classified as a legit "regret" or not, but anyway (hence no wk78 tag).
I've always chosen to focus more on the theory behind computers and computing rather than on practical dev skills. Not saying that the more theoretical things aren't fun - concepts from theoretical CS and maths still regularly blow my mind, as do the more "esoteric" languages like Haskell, Idris, and Coq. However, after seeing you fine folks here at dR talk about practical development, it feels like there's a whole world of stuff that I've missed about computers and programming, especially web programming. I think I'll tackle that next when I have some free time, maybe spend some time learning PHP to see what all the hate's about... (really though, it must do something right if it has such a huge userbase, plus, I think devRant uses it too...?)
Anyway, just wanted to say that you folks are really cool and an awesome source of inspiration. Best community ever.3 -
Can you name any esoteric programming language that has a minimal number of 'keywords' and its interpreter can be designed simply?
For example BrainFuck programming language.5 -
posting the question here, because it's quite esoteric.
for the guys familiar with the devrant api: how do i know what value to use for the app parameters? when i use '3' (as suggested) i get an error telling me that the app id is invalid
or do i have to request one now?3 -
Has anyone here ever created an esoteric programming language? Would love to hear about your expirences.3
-
Here is an esoteric language created at my university. It's called Shakespeare. Enjoy poking on it!
https://bit.ly/2GUDK5h1 -
What's your favorite esoteric language? Lolcode?
"Nope. Perl"
crowd: "ooohhhhhhhhh. Oh no you didn't"1 -
Anyone have experience with Toptal / Crew et. al?
Toptal’s screening uses Codility which seems to largely just be silly esoteric algorithmic problems rather than evidence for being able to code applications...
Anyone here made it in?4 -
I work so hard to name things well and yet last year's code is always full of esoteric and misleading nonsense.2
-
All programming blogs/bloggers are one of three types:
1. Actually writing to help people learn the thing they have gained knowledge in - they write clearly, succinctly.
2. Writing purely to impress colleagues and lessers of their deep knowledge that their brilliant minds have grokked, and instead of being at the top of the knowledge hierarchy alone, they will impart their wizardry onto you, but not really, because they will speak as abstractly as the subject matter or more so, maximize use of esoteric language, and end up providing little to no value to you. but they sure look smart!
3. some weird third type where they dont really fit into either of the first two somehow; just kind of like to hear themselves talk...er.. see themselves write3 -
In Python my favs are lxml and sqlalchemy. Very simple to use and solve the problem of xml and database very easily.
In C++ my fav is the Qt system of libraries. Very nice solutions for structuring an application, cross platform, good memory management, COW if you want it, etc. Every release gets better and better. Oh and boost should get an honorable mention. I really like the ranges library and some of the more esoteric libs it provides.2 -
I know what I'll do !
I'll color and number code society by some strange esoteric set of unknown creepy crappy concepts and keep adding to them until a subset of people behaves like annoying stupid freaks depending on the color of the shirt I wear a specific day !
That will make everything so much easier than having a multi palette wardrobe !
That way I can reduce the world down to a bunch of retarded pygmy rejects with an extra layer of stupidity added !
Doesn't that sound like a good idea ?1 -
Does anyone have any good crash courses in C++? I'm not looking to learn it to program in it, just to be able to read it. I want to use Qt in Python, but much of the documentation is missing or incomplete, so I'd like to be able to use the original C++ instead, but I can't understand have of the esoteric use of symbols.1
-
Let's see how many liars are on this site.
what year do you all think it is presently, as you liv e and breathe and walk about, not related to events that have occurred and reoccurred and do so often because of the ridiculous shit system of denial. cruelty and idiocy most sane minds reject and you people lie about for some esoteric reason.12 -
The Turing Test, a concept introduced by Alan Turing in 1950, has been a foundation concept for evaluating a machine's ability to exhibit human-like intelligence. But as we edge closer to the singularity—the point where artificial intelligence surpasses human intelligence—a new, perhaps unsettling question comes to the fore: Are we humans ready for the Turing Test's inverse? Unlike Turing's original proposition where machines strive to become indistinguishable from humans, the Inverse Turing Test ponders whether the complex, multi-dimensional realities generated by AI can be rendered palatable or even comprehensible to human cognition. This discourse goes beyond mere philosophical debate; it directly impacts the future trajectory of human-machine symbiosis.
Artificial intelligence has been advancing at an exponential pace, far outstripping Moore's Law. From Generative Adversarial Networks (GANs) that create life-like images to quantum computing that solve problems unfathomable to classical computers, the AI universe is a sprawling expanse of complexity. What's more compelling is that these machine-constructed worlds aren't confined to academic circles. They permeate every facet of our lives—be it medicine, finance, or even social dynamics. And so, an existential conundrum arises: Will there come a point where these AI-created outputs become so labyrinthine that they are beyond the cognitive reach of the average human?
The Human-AI Cognitive Disconnection
As we look closer into the interplay between humans and AI-created realities, the phenomenon of cognitive disconnection becomes increasingly salient, perhaps even a bit uncomfortable. This disconnection is not confined to esoteric, high-level computational processes; it's pervasive in our everyday life. Take, for instance, the experience of driving a car. Most people can operate a vehicle without understanding the intricacies of its internal combustion engine, transmission mechanics, or even its embedded software. Similarly, when boarding an airplane, passengers trust that they'll arrive at their destination safely, yet most have little to no understanding of aerodynamics, jet propulsion, or air traffic control systems. In both scenarios, individuals navigate a reality facilitated by complex systems they don't fully understand. Simply put, we just enjoy the ride.
However, this is emblematic of a larger issue—the uncritical trust we place in machines and algorithms, often without understanding the implications or mechanics. Imagine if, in the future, these systems become exponentially more complex, driven by AI algorithms that even experts struggle to comprehend. Where does that leave the average individual? In such a future, not only are we passengers in cars or planes, but we also become passengers in a reality steered by artificial intelligence—a reality we may neither fully grasp nor control. This raises serious questions about agency, autonomy, and oversight, especially as AI technologies continue to weave themselves into the fabric of our existence.
The Illusion of Reality
To adequately explore the intricate issue of human-AI cognitive disconnection, let's journey through the corridors of metaphysics and epistemology, where the concept of reality itself is under scrutiny. Humans have always been limited by their biological faculties—our senses can only perceive a sliver of the electromagnetic spectrum, our ears can hear only a fraction of the vibrations in the air, and our cognitive powers are constrained by the limitations of our neural architecture. In this context, what we term "reality" is in essence a constructed narrative, meticulously assembled by our senses and brain as a way to make sense of the world around us. Philosophers have argued that our perception of reality is akin to a "user interface," evolved to guide us through the complexities of the world, rather than to reveal its ultimate nature. But now, we find ourselves in a new (contrived) techno-reality.
Artificial intelligence brings forth the potential for a new layer of reality, one that is stitched together not by biological neurons but by algorithms and silicon chips. As AI starts to create complex simulations, predictive models, or even whole virtual worlds, one has to ask: Are these AI-constructed realities an extension of the "grand illusion" that we're already living in? Or do they represent a departure, an entirely new plane of existence that demands its own set of sensory and cognitive tools for comprehension? The metaphorical veil between humans and the universe has historically been made of biological fabric, so to speak.7