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 - "smalltalk"
-
-Some run marathons, I run Python
-Some have energy drinks, I have Java
-Some fight in MMA, I fight with CSS
-Some see new places, I C new Places();
-Some are quick, I am Swift
-Some go camping, I Go Compiling
-Some can judge objectively, I can judge Objective-c
-Some climb mountains, I Scala Structures
-Some live adventurous lives, I live a BASIC one
-Some go ball, I COBOL
-Some watercolor, I Pascal
-Some look for diamonds and emeralds, I look for Ruby and Perl
-Some write novels, I TypeScript
-Some banter, I SmallTalk20 -
!rant
So my employer just offered me a 57% raise out of the blue!
Last Friday, I got a meeting invite from the CEO (its a small 15 person company, so he looks after most of the management stuff) titled "{{myname}} - Salary Review". No agenda there. I was fuckin scared that maybe my salary will be chopped short due to the virus and shit. They recently let go of one guy in my team, and are about to hire two new guys. Also, my last raise was this January. So I didn't think any good could come out of this meeting.
I joined the zoom and he asked if I was happy with the current salary. I said "yes" like an idiot, but added that the prices in my country are rising a lot. He made smalltalk on costs of groceries and Corona and my family, and that was it. 57%.
I was smiling like a dumbass at the end of the meeting. This guy is like the Hyman Roth of this business.15 -
I am so bad at Smalltalk.. really, I feel like an idiot every time, and every time I end up in silence. Just talk to me something it-related, I can't stop talking. Does this happens to you too?13
-
A is for Assembly, a wizard's spell
B is for Bootstrap, so bland and the same. And also for Brainf*ck, will blow you away
C is for COBOL, your grandad knows that
D is for daemon, your server knows what
E is for Express.js, you node what is coming
F is for FORTRAN, which is perferct for sciencing
G is for GNU which is GNU not UNIX
H is for Haskell using functional units
I is for Intance, An action of Object
J is for Java plays with them Always
K is for Kotlin, Android's new toy
L is for Lisp, scheming a ploy
M is for Matlab, who knows how it works
N is for Node a bloatware of code
O is for Objective Pascal, you did not expect that
P is for programming, we all love to do that
Q is for Queries, A database is made
R is for R, statistics are great
S is for Selenium, you have to test that
S is for Smalltalk, let's make it all brief
T is for Turing Test, how human is this?
U is for Unix, build with all talents
V is for Visual Studio, built with all laments
W is for Web, lets build something cool
X is for XHTML, remember all that?
Y is for Y2K, I'm tired as f*ck
Z is for Zip, let's zip is all now.
Get yourself coffee and back to the grind.8 -
Vacation in Delphi
Prolog:
After a basic cup of java, I wanted to go to the c and meet Ada, who cured her common lisp with a batch of elixir. On the way, I had a swift Smalltalk with Pascal, who has a brainfuck, because he is a wyvern enthusiast.
I also found a shell with a perl in it, but it had a scratch. This reminded me of my friend Ruby, who has a pet python and loved a good scheme à Shakespeare.
I then started my laptop, which already collected rust on its logo of a maple, and browsed the web for groovy songs. I found a song by Julia, performed in a very high octave in F#.4 -
Here's the time an Amazon recruiter scheduled a call with me just to tell me I wouldn't be getting the job.
A few years ago, I left Uber after the seemingly non-stop public snafus they were getting themselves into (I have a lot of rants about Uber if anyone is interested, some of them mind-melting). I decided to take a two month break given that my financials looked decent for once and I was tired of 100 hour weeks.
During that time, I of course started perusing the typical job-seeking sites I had remembered from before. Somehow, from one of the profiles I set up, I caught the eye of an Amazon recruiter. They emailed me and I agreed to set up a date and time for an introductory chat.
They already had my CV. They already had my StackOverflow/Github information. This wasn't a technical interview, and the recruiter wasn't part of any of the tech teams. This is important information moving forward.
A few days later, I got the call from the recruiter. He introduced himself as the person from the emails, thanking my for my time, etc.. Things started out pleasant with the smalltalk and whatnot, but then the recruiter said "so I have some concerns about your resume".
Under one of the sections I had a list of things I was skilled with - one of which, regrettably, is PHP. Completely ignoring Java, Javascript, C# and C++ knowledge and all of the other achievements I have with those technologies, the recruiter really wanted to drill me about the PHP.
"Do you work a lot with PHP?"
"No, not anymore - from time to time I have to do something with it but it's not my main language anymore. I know it quite well, though."
"Oh okay well we aren't looking for any PHP roles right now, unfortunately."
"Okay, no problem."
Perhaps I could have said more, but from my end of things, I meant "I don't see a problem here, I don't write a lot of PHP and you don't need a lot of PHP".
After a pause that felt like an hour, the recruiter broke the silence and said "Okay well thanks for your time today, I'm sorry things didn't work out."
Bewildered, I asked which technology stack they were using on the team.
"Not PHP, unfortunately. Thank you for your time." and then an abrupt click.
The recruiter found me himself, looked at my resume (assumably), sought out to contact me, arranged a time for a call, and then called me, just to tell me I wouldn't get the position due to knowing PHP at some point in my career.
Years later, the whole interaction still shocks me. Somewhere in my drafts I have a long letter to the recruiter basically going over my entire career history explaining why his call was incredibly... well, fucking weird. Towards the end of writing it I realized it was more therapeutic for me to deal with whatever it was that just took place and that it probably wouldn't change my odds of working at Amazon.
So yeah. That's the story of the time Amazon set up a recruiting call just to tell me I wouldn't be working for them.9 -
Worst interview is the one that actually got me where I am today.
Its been 15 years ago, but I remember very well. Since it was a startup back then they didn't really have any job titles yet or what so ever. I applied for the role of network engineer, heck I didn't care I needed a paycheck.
5 minutes into the interview the smalltalk left the room and they started asking me questions, mainly about me as a person. Eventually it was my turn. After my first question I facepalmed so hard.. Do you guys have any SLA or documentation around here? Heard of ITIL? How is your load balancing?
They stared at me as if I was some kind of alien that had just invaded their little safe planet.. it was hilarious.
An hour later they called me to come back in and sign a contract.. from there on I kind of multi tasked my way around the first year.. bit of network support & design, customer support, sending and packaging orders after 5PM.. god we had long but awesome days.. hence, we were just the 5 of us. Nowadays we've got 150 developers out of 1019 total staff currently.. We also improved interview questions and processes ;)7 -
Working really hard, finishing tasks, upgrading servers. Cancel some useless meetings to finish up features, working till 2am to get a database migration working. Half of the platform is transformed, both customers and team are very happy about their accomplishments.
Boss: "OK, I think we're on the right path with these changes, but productivity and morale is honestly disappointing. Are you guys sleeping enough? You all look very tired and unmotivated!"
Attend all meetings, call boss at 7am to discuss random purchases like a whiteboard, run around the office holding a (broken, lol) MacBook, looking very busy & slightly worried. I shout random things at people across the office like "Nice work Gary!" and "Damn, you are on a roll Angela!". I initiate smalltalk with department heads, only to immediately disrupt the conversation by checking my phone saying "Oh I really have to take this one" (empty battery, lol). No one writes a single line of code for four weeks, and nothing new has been deployed by the whole team.
Boss: "I think it's commendable how productive the team has become this month. You guys are all so active and involved. A real improvement!"6 -
Today I get off at 1pm. Because of weather conditions. I swear i love this job.
Gonna pick my baby girl from the daycare at a good time. Head home, get us some hot chocolate and learn more about Smalltalk while mom gets home.
Today is gon b a good day.
Awwww yii3 -
Can someone tell who the fuck lets morons with absolutely 0 knowledge of how the industry works go on and write articles concerning "what programming languages to learn" clickbait articles?
Look, I never looked into them. Not even when starting, I knew (out of spite) that the people that built Windows Vista were developers and then I went ahead to look what a software engineer was. I went down the rabbit hole from that and my next step at the time (I was on the local library) was to go ahead and look for programming books, C++ and Java caught my eye, so I got them two books and went down. Later on I found about JS and Python and similar shit like that and I just continued to learn. I seldom bothered to learn from internet articles because to my opinion if I needed to read documentation then I might as well fucking read it from the people that designed X technology.
some were good, some were shit, etc etc, but I never bothered to look for "what programming languages to learn" articles because I could give close to two shits about some other dickhead telling me what to learn, I have always been rather hesitant to take other people's opinion into consideration when it comes to my own learning.
BUT today I clicked on one of those articles out of curiosity.....
"Many DEVELOPER (notice the lack of proper grammar) choose to leave Visual Basic in favor of more modern frameworks like C#, Java or .NET"
Ok, so, for whatever the fuck reason Java is mentioned along C# and a fucking framework (.NET) rather than just C# for microsoft shit, is this moron talking about VB.NET at all? is he going about VB6? what? what is going on here?
Obj C is not relevant at all and should be immediately replaced by Swift since it is a modern, and stable language (never mind that each release has breaking changes on entire code bases, yeah, fuck it, just jump alltogether and ignore Obj C and the decades of stable code it has)
"Coffeescript has been replaced by the newer features of Java" <--- ok fam, you lost me here, give me your "ITPro" card please and then kick yourself repeatedly in the groin since I won't be bothered touching you, i might get some stOOpid on me.
Fuck, these articles are all over the place, from idiots like the one above, to the moron raving about pharo smalltalk shitting on every tech you use.
Just.....please bring back shit like byte magazine and shit.....please? or Linux Format, make Linux Format more popular across the board, where people who know their shit think twice before spewing their bullshit to the masses? Some fucking kid there might want to know where to start and these fucking idiots are out there just ruining shit for everything.25 -
Awkward recruiting process? Sit the fuck back!
So about a year ago I got laid off. I got some help setting up LinkedIn and realising I'm not trash and offers to talk started flowing in.
So this consultancy firm asks me to come in for a talk and having nothing better to do I oblige - they're working on big, exciting Greenfield stuff and I'm amazed they want me.
Fast forward the most nervous week in my life and the HR assistant brings me into the meeting room, I get some water and a nice first impression - also my last. I wait in the room for five minutes.
In walks madam HR, madam Team lead and miss assistant from before, all carrying big ass laptops. We shake hands and they sit down and all open up their laptops between me and them - I just sit there feeling naked with my block of paper and pencil I brought.
So we wait for their machines to start up and madam HR just starts throwing questions at me and seemingly noting my answers into a sheet. Meanwhile madam Teamlead is busy on her phone most of the time and my most human interaction remains smalltalk and questions between me and miss assistant.
I did manage to get madam Teamlead to look up from her phone when I asked how they felt about the fact that I have no formal training and would need to pick up a lot of skills as we go, to which she said something along 'well this ain't a candy shop, we expect you to work' and looked back down at her phone.
A bit shaken, I agreed to stay for the technical test (apparently I passed the interview...)
Now this test was designed by their CTO since he didn't feel like any of the available tests on the market could properly judge applicants' skilllevels. Yes, alarms went off already at that point.
What I'm presented with is a word document with questions, and another for answers and... It's just string gymnastics and reference/value difference knowledge - shit it takes you a split second to look up or test if you ever get into these insane cases where you need to know. And then there was a likewise one with sql statements that was also just convoluted query gymnastics and trying to hide changes in the seemingly same statement through various questions. No questions on design, no problem solving, just... Attention span testing with a dash of coding?
Anyway, it turned out they had evening and weekend shifts and round the clock support tournus which on top of the ridiculous recruitment process and way lower than average salary offer had me turn them down.
Don't enable bullshit people, run away!4 -
I don’t like to judge people based on what languages they like (because I like all of them). But I can’t deny the pattern anymore.
Smart people know and enjoy smart languages: Smalltalk, OCaml, Clojure, Lisp, Haskell, etc. They may use JavaScript or PHP to make money, but ask them to code in their smart language and they’ll be more efficient. Getting old, some of those people say “screw it” and find a Haskell job.
You, my friend, are not one of those people. You are VSCode-dwelling goblin who thinks lambda calculus has something to do with JS arrow function notation, is scared of reduce() and not even good at the single fucking language they know.
Insta coders and that mechanical keyboard collector dorks are not “superstars” you got to be like.11 -
It was 1986. I'd just bought a computer because I wanted to make a cool flight sim like I saw a friend at school do by typing in a bunch of code from a magazine. I read a thick book on DOS/BASIC and another on Assembler. As I had no idea what Assembler could possibly be useful for in my life, I went the DOS/BASIC route and made some fun programs. Then it was Prolog followed by C and Smalltalk and then HTML and JavaScript. All by taking classes or reading books and then making something useful or teaching others.
-
Sitting at Starbucks cause my train is delayed and it's the only place with freaking free wifi.
I found the stereotype hipster :D
A guy having Beats Headphones on with a MBP, iPhone X obviously next to his MBP, searching for Elon Musk Audiobooks and Courses for Smalltalk and Management on Audible 🤣6 -
Running a fucking conda environment on windows (an update environment from the previous one that I normally use) gets to be a fucking pain in the fucking ass for no fucking reason.
First: Generate a new conda environment, for FUCKING SHITS AND GIGGLES, DO NOT SPECIFY THE PYTHON VERSION, just to see compatibility, this was an experiment, expected to fail.
Install tensorflow on said environment: It does not fucking work, not detecting cuda, the only requirement? To have the cuda dependencies installed, modified, and inside of the system path, check done, it works on 4 other fucking environments, so why not this one.
Still doesn't work, google around and found some thread on github (the errors) that has a way to fix it, do it that way, fucking magic, shit is fixed.
Very well, tensorflow is installed and detecting cuda, no biggie. HAD TO SWITCH TO PYHTHON 3,8 BECAUSE 3.9 WAS GIVING ISSUES FOR SOME UNKNOWN FUCKING REASON
Ok no problem, done.
Install jupyter lab, for which the first in all other 4 environments it works. Guess what a fuckload of errors upon executing the import of tensorflow. They go on a loop that does not fucking end.
The error: imPoRT eRrOr thE Dll waS noT loAdeD
Ok, fucking which one? who fucking knows.
I FUCKING HATE that the main language for this fucking bullshit is python. I guess the benefits of the repl, I do, but the python repl is fucking HORSESHIT compared to the one you get on: Lisp, Ruby and fucking even NODE in which error messages are still more fucking intelligent than those of fucking bullshit ass Python.
Personally? I am betting on Julia devising a smarter environment, it is a better language already, on a second note: If you are worried about A.I taking your job, don't, it requires a team of fucktards working around common basic system administration tasks to get this bullshit running in the first place.
My dream? Julia or Scala (fuck you) for a primary language in machine learning and AI, in which entire environments, with aaaaaaaaaall of the required dlls and dependencies can be downloaded and installed upon can just fucking run. A single directory structure in which shit just fucking works (reason why I like live environments like Smalltalk, but fuck you on that too) and just run your projects from there, without setting a bunch of bullshit from environment variables, cuda dlls installation phases and what not. Something that JUST FUCKING WORKS.
I.....fucking.....HATE the level of system administration required to run fucking anything nowadays, the reason why we had to create shit like devops jobs, for the sad fuckers that have to figure out environment configurations on a box just to run software.
Fuck me man development turned to shit, this is why go mod, node npm, php composer strict folder structure pipelines were created. Bitch all you want about npm, but if I can create a node_modules setting with all of the required dlls to run a project, even if this bitch weights 2.5GB for a project structure you bet your fucking ass that I would.
"YOU JUST DON'T KNOW WHAT YOU ARE DOING" YES I FUCKING DO and I will get this bullshit fixed, I will get it running just like I did the other 4 environments that I fucking use, for different versions of cuda and python and the dependency circle jerk BULLSHIT that I have to manage. But this "follow the guide and it will work, except when it does not and you are looking into obscure github errors" bullshit just takes away from valuable project time when you have a small dedicated group of developers and no sys admin or devops mastermind to resort to.
I have successfully deployed:
Java
Golang
Clojure
Python
Node
PHP
VB/C# .NET
C++
Rails
Django
Projects, and every single fucking time (save for .net, that shit just fucking works on a dedicated windows IIS server) the shit will not work with x..nT reasons. It fucking obliterates me how fucking annoying this bullshit is. And the reason why the ENTIRE FUCKING FIELD of computer science and software engineering is so fucking flawed.
But we can't all just run to simple windows bs in which we have documentation for everything. We have to spend countless hours on fucking Linux figuring shit out (fuck you also, I have been using Linux since I was 18, I am 30 now) for which graphical drivers for machine learning, cuda and whatTheFuckNot require all sorts of sys admin gymnasts to be used.
Y'all fucked up a long time ago. Smalltalk provided an all in one, easily rollable back to previous images, easily administered interfaces for this fileFuckery bullshit, and even though the JVM and the .NET environments did their best to hold shit down, and even though we had npm packages pulling the universe inside, or gomod compiling shit into one place NOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO we had to do whatever the fuck we wanted to feel l337 and wanted.
Fuck all of you, fuck this field, fuck setting boxes for ML/AI and fuck every single OS in existence2 -
Common Lisp code has (imo) one of the cleanest syntax possible in programming language. I really would like for Lisp dialects other than Clojure to make a heavy comeback. And we now hace Quicklisp which is a package repo for CL code.
I really want to see more people into Lisp, it really is a great language man you just need to get past the (()) and it makes sense I promise.
Guys please try CL. If you already have awesome code skills and have some free time try going throughe the gigamonkeys book. Completely free online and setting up an Emacs environment with SBCL or CLISP is a breeze. I use Lisp to experiment and it gives a lot of room for exploring new concepts.
Another cool language that is emerging is Smalltalk in the form of Pharo. If you have been casting asside OOP because of the way many mainstream languages do it then maybe you will like Smalltalk as a pure OOP form.
I just want more people in this shit and this community sure has some awesome programmers, so why not?
one of the leading dudes in CL is currently Eitaro Fukamachi, one dude...doing amazing things. My aim is to give him a hand.8 -
First company:
- being sat at an office that didn't have chairs with proper back support. It would kill my back every day. Like sitting on a bar stool coding.
- not having access to basic resources (cafeteria, salary bonuses)
- being seriously underpaid ($200 under)
- not having an IT process pipeline (yeah, this is a huge one): no JIRA, no git, no VCS, no continuous integration, etc. I fucking spend 45% of the time fixing coding-unrelated shit.
Second company (very aggravating):
- dumb frontend bitch and privileged colleague who both kept telling me months on end to shut up and who wouldn't listen to my advice on anything, while my advice would actually help the company advance in productive ways. The key here is being told to shut up while stagnating. i.e. dead end job.
- people advancing in the company based on nepotism and favoritism, based on having tits and ass, rather than skills and independence.
- pointlessssssssss meetings where decisions are made solely based on the opinion of Mr. favorite senior dev. The rest just sits there like a bunch of sad saps and yay-nodders. Incompetent PO's who "would like to hear your input" but then when you give it, they completely dismiss you.
- pointlessssssssss monthly meetings with stakeholders, where the dev teams do nothing but clash and act like pussies in front of the PM just to get in his favor, but behind scenes continue to make the same mistakes and telling the CEO everything is fine. Goodness, how can it get more unproductive.
- completely antisocial and nepotistic 'colleagues' who won't even talk to you, let alone smile at you or be friendly. You saying good morning and them pretending you're vapor that doesn't exist. Go go company atmosphere! Especially during lunch, those are the worst times. Imagine sitting at lunch where everyone looks like you killed their dog and the rest is huddled up in little high school groups.
What else? The incessant and pointless smalltalk that makes me want to bang my head against the wall. Talking about dogs, kids, what show was on tv last night. The fuck man, do you have a brain?!
Third company:
- HR bitches who think they are the shit and developers are antisocial, helpless misfits, but they work with computers and they don't even fucking know what a status bar is! The irony!
- forced socializing and stigmatization for the opposite. Imagine coming into a company and you don't say good morning. Should that be a problem? No. Instead, everyone starts dogging on you and hating you just because you didn't smile in their faces and said: hiiiiiiiiiiii how did you sleep? Did you feed your dog? Fuck you.
Elliot (Mr. Robot): "Wouldn't it be awesome if there was a mute button for life?" -boop, boop, boop, boop...- Ahh.. there.. that's much better."
- CEO's sucking up to you but when it comes to salary increase, they say shit like: "Ahhh ya know, it's kinda difficult." Yet another dead end job.2 -
Observation
Usually happens when hitting some heavy development after waking up to an idea at 5am and rushing in to the office to make it happen. Then you write for hours straight refilling some coffee once in a while.
At some point you start finding other people at the coffee station and the smalltalk starts. For some reason I can't turn my brain into social mode. Someone asks me stuff like "How was your weekend?" And the answer can be anything between "I like turtles" and some totally uninhibited and unintended truth in the TIM category.
Flow is strong but it totally fucks up my social capabilities. It also makes me happy =D4 -
There are a couple of them to list! But to sum my main ones(biggest personal heroes):
John McCarthy, one of the founding fathers of Artificial Intelligence and accredited with coining such term(sometimes before 1960 if memory serves right), a mathematical prodigy, the man based the original model of the Lisp programming language in lambda calculus. Many modern concepts that we have in programming where implemented in one way or another from his systems back in the day, and as a data analyst and ML nut.....well I am a big fan.
Herb Sutter: C++ programmer extraordinaire. I appreciate him more for his lectures and published articles than anything else. Incredibly smart and down to earth and manages to make C++ less intimidating while still approaching it with respect.
Rich Hickey: The mastermind behind Clojure, the Lisp dialect for the JVM. Rich is really talented and his lectures behind his motivations and reasons behind everything he does with Clojure are fascinating to see.
Ryan Dahl: Awww shit y'all know how it is. The man changed web development both in the backend and the frontend for good. The concept of people writing their own servers to run their pages was not new, but the Node JS runtime environment made it more widely available to people by means of a simple to use language that was already popular with web developers. I would venture to say that Ryan's amazing contributions to JS made the language better, as it stands, the language continues to evolve and new features that make it overall better keep being added. He is currently building Deno, which would be a runtime environment for TypeScript, in Rust.
Anders Hejlsberg: This dude was everywhere man....the original author of Turbo Pascal and the lead of Delphi back in the day. These RAD tools paved the way for what would be a revolution in the computing world. The dude is also the lead architect and designer of the C# programming language as well as TypeScript.
This fucker is everywhere and I love it.
Yukihiro "Matz" Matsumoto: Matsumoto san is the creator of the Ruby programming language. Not only am I a die hard fan of Ruby, but of the core philosophies that the man keeps as the core of his language design: Make the developer happy, principle of least surprise. Also I follow: minswan which is a term made by the Ruby community that states Mats is nice so we are nice. <---- because being cool to others is better than being a passive aggressive cunt.
Steve Wozniak: I feel as if the man does not get enough recognition...the man designed the Apple || computer which (regardless of how much most of y'all bitch and whine) paved the way for modern micro computers. Dude is also accredited with designing one of the first programmable universal remotes(which momma said was shitty) but he did none the less.
Alan Kay: Developed Smalltalk and the original OOP way of doing things. Smalltalk as a concept is really fucking interesting. If you guys ever get the chance, play with Pharo, which is a modern Smalltalk. The thing is really interesting and the overall idea of Smalltalk can be grasped in very little time. It sucks because the software scales beautifully in terms of project building, the idea of hoisting a program as its own runtime environment and ide by preserving state through images is just mind blowing to me. Makes file based programs feel....well....quaint.
Those are some of the biggest dudes for me. I know that the list is large, but I wanted to give credit to the people that inspired me the most. Honorary mention goes to other language creators and engineers of course, but it would be way too large to list!9 -
K&R Like it or not, everything that we use was impacted by the advantage of having the C Programming language on our side. C is still to this day a cornerstone of what a a language should be, nothing more nothing less.
John McCarthy the creator of Lisp and the one that coined Artificial Intelligence as a topic, a term, without him if else statements would have probably taken a while longer to figure out the way my boy did. Lisp will make you a better developer.
Alan Kay, creator of OOP, yeh we had ways to emulate this with C before, bit without his contribution to what I believe to be the purest form of oop we would not haveany additional things. Smalltalk is still the best programming language in my humble opinion.
Terry A Davis, disciplined, and crazy, the man built a skyscraper by himself, God knows what he would have done if he weren't afflicted by mental illness.
Linus Torvalds, for many different things, creator of the kernel that would power my favorite operating system.
Ryan Dhal, took the world by storm with Node.js -
Smalltalk looks like an OO language done right. History rarely seems to be kind to well designed languages.2
-
There is this dude called Richard Eng which is sort of famous for 2 things:
First: he is known as *the* Smalltall evangelist of mothern times. And he constantly writes about it. Which is fine since he tries to attract new users to this beautiful and simple little language.
Second: his constant bashing of other technologies, mainly Javascript stating that it is the most harmful tech known to man.
The thing is, saying "use this because that is shit" is never going to convince a community, specifically one as potent as that of the JS community. And to make it worse...the dude links his reasoning about bad languages to articles he wrote. As in "this is shit, look at my completely biased article regarding why its shit"
Once he is confronted about it he links back to his own writings. Much like christian fanatics do
"good is real because it says so in the bible"
"but how can you trust that resource?"
"Because the bible is the word of God"
"and how do you know?"
"Because it is in the bible"
Circular arguments like that cannot be taken seriously. And what this guy does for the Smalltalk community hurts more than it helps really.
Claims like those are all around us. If we were to believe or consider them depending on who said what then we would never have the amazing cluster of tech choices that we have.
Take c++. It is absolutely powerful and gives you the ability to do pretty much anything. If we were to take Linus Torvalds's word about it being shit and only having subpar development we would miss on absolutely powerful tools.
The same came to me from Evee, writer of "PHP a fractal of bad design" or the "Node.js is cancer" article.
You are never going to please anyone with anything. I go by live and let live, and whilst I don't like some technologies I certainly don't look down on those that do.4 -
I got in trouble for passing messages in class. I told the teacher I was just trying to make SmallTalk2
-
After spending my entire holiday vacation fucking around with the one language that really digs with my state of mind (Ruby) when developing and having to do some quick troubleshooting on 2 of our applications (Java and PHP respectively) I can honestly say: I legit don't want to go back to that ever again.
But money means more to me than my own personal biases. I have delved in some of the most HATED platforms that developers could normally ask for in terms of work. And have only done some very basic (fucking obnoxiously basic) consulting in terms of Rails, to the point that it might not be even worth putting on a cv. But fuck me man, if I could just fuck around building rails solutions for a living, from the frontend to the backend, I think I would for once be happy with the things that I work with with things more than monetary pleasure.
Y'all know your boy, I ain't no neckbeard, but I fuck with things that a lot of others don't, to me Lisp dialects and Smalltalk are gifts from dev heaven, and I have thrown out Clojure in production (my app is still chugging along just fine at work thank you very mucho) but in terms of pure web development, I have never been happier than when I generate a rails project and start tinkering around.
Sigh.......here is to hoping that maybe I will eventually open my own rails shop.6 -
Taught myself assembler at 13 (this was the mid 1980s) and wondered how the hell people could stand to do this. Then I found out there were more abstract languages like BASIC or COBOL. So I taught myself BASIC and MS-DOS batch scripting. Various other languages came later (PROLOG, Pascal, C, Smalltalk, C++, VisualBasic, etc). But it’s never been easy for me because I suck at math and complicated logic structures. Especially not good with OOP. My brain was ruined by learning procedural coding first. It refuses to incorporate OOP.
-
I continue to internally read and study about Smalltalk in an effort to see where we might have FUCKED UP and went backwards in terms of software engineering since I do not believe that complex source code based languages are the solution.
So I have Pharo. Nothin to complex really, everything is an object, yet, you do have room for building DSL's inside of it over a simple object model with no issue, the system browser can be opened across multiple screens (morph windows inside of a smalltalk system) for which you can edit you code in composable blocks with no issues. Blocks being a particular part of the language (think Ruby in more modern features) give ample room for functional programming. Thus far we have FP and OO (the original mind you) styles out in the open for development.
Your main code can be executed and instantly ALTER the live environment of a program as it is running, if what you are trying to do is stupid it won't affect the live instance, live programming is ahead of its time, and impressive, considering how old Smalltalk is. GUI applications can be given headless (this is also old in terms of how this shit was first distributed) So I can go ahead and package the virtual machine with the entire application into a folder, and distribute it agains't an organization "but why!!!! that package is 80+ mbs!") yeah cuz it carries the entire virtual machine, but go ahead and give it to the Mac user, or the Linux user, it will run, natively once it is clicked.
Server side applications run in similar fashion to php, in terms of lifecycles of request and how session storage is handled, this to me is interesting, no additional runtimes, drop it on a server, configure it properly and off you go, but this is common on other languages so really not that much of a point.
BUT if over a network a user is using your application and you change it and send that change over the network then the the change is damn near instant and fault tolerant due to the nature of the language.
Honestly, I don't know what went wrong or why we are not bringing this shit to the masses, the language was built for fucking kids, it was the first "y'all too stupid to get it, so here is simple" engine and we still said "nah fuck it, unlimited file system based programs, horrible build engines and {}; all over the place"
I am now writing a large budget managing application in Pharo Smalltalk which I want to go ahead and put to test soon at my institution. I do not have any issues thus far, other than my documentation help is literally "read the source code of the package system" which is easy as shit since it is already included inside. My scripts are small, my class hierarchies cover on themselves AND testing is part of the system. I honestly see no faults other than "well....fuck you I like opening vim and editing 300000000 files"
And honestly that is fine, my questions are: why is a paradigm that fits procedural, functional and OBVIOUSLY OO while including an all encompassing IDE NOT more famous, SELECTION is fine and other languages are a better fit, but why is such environment not more famous?9 -
I'm new to Australia and trying to get a job here. The visa process is sorta complicated, but let me say that you usually start with a Working Holiday Visa (6 months work) and go on from there.
Had an interview the other day. First smalltalk, then coding questions, then hands-on exercises, then I was talking to 3 different people about their experiences in the company. Overall 2 hours plus 3 hours train. The same day I get a email with a positive response and I should send in my papers (passport, Visa etc.) for the contact. I stopped sending out applications at this point.
5 days later (!) I get an email telling me they won't hire me on that visa.
Crushed my motivation for rest of the week 💀3 -
I'm an iOS developer, but I also write Java code at work for our servers. I'm pretty appreciative of multiple technologies / implementations, and don't really participate in religious wars. 99.9% of people at my job are hardcore Java server developers who worship the JVM and hate everything else. I work primarily in objective-c and swift. Hearing them bash Apple as a horrible company (while using a Mac btw) and hailing Java as the greatest language since sliced bread, gets pretty fucking annoying after 2 years. So I decide to participate in their flame wars for once, do some digging, and come across this: https://cs.gmu.edu/~sean/stuff/.... They could not nor would believe the post, because the fact that their precious Java could have borrowed at all from the "terrible" Objective-C / Smalltalk paradigm was too much to bear. Talk about close-minded..1
-
After spending weeks fucking around with Pharo Smalltalk building different web services....I don't want to go back to using other languages anymore.
fuck me....I got hit by Pharo really hard.9 -
"Where Python might boast that there's "one and preferably only one way to do something", Ruby relished expressiveness and subtlety. Where Java championed forcefully protecting programmers from themselves, Ruby included a hanging rope in the welcome kit. Where smalltalk drilled a purity of message passing, Ruby accumulated keywords and constructs with an almost gluttonous appetite."1
-
Cincom VisualWorks
The only IDE for Smalltalk-80 and it's ugly and instable as fuck.
You can accidently break the program's code while using it, effectively ruining your day. -
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 -
Having a teacher that tell us not to spend too much time on his homework.
Having the same teacher to ask us to do a project in Smalltalk, while nobody has understood the language.
It hurts.4 -
Coding in Pharo Smalltalk makes me not want to code in anything else.
If i could find a Pharo job i would be pretty stoked.
Yeah I like Smalltalk that much.2 -
Seeing some Ruby just reminded me of something.
Fuck Objective-C. What kind of lazy fuck makes C object oriented by stapling SmallTalk to it? A better name would be "C: Now with Dissociative Identity Disorder...oh and objects".
Apple apologists make excuses for this miserable language all the time...why? Because it's the only thing Apple would give you?
Swift is definitely an improvement though.4 -
the one that exists (c#) seems underused compared to where it could (or even should) be used. and the place that uses it the most (enterprise) butchers and mangles its use, just as enterprise tends to do with everything.
the one that i'm designing... the fact that it doesn't exist yet, and that even as i'm zeroing in on syntax and philosophy that i'm very much starting to be proud of, i still don't have a proper idea of how to implement even the most basic parser/interpreter for it, not because it's in any way difficult or unusual, but just because... i've never done that before, so i get into weird circular thought paths that produce weird nonsensical code...
... on top of that, i still only have a very, very fuzzy idea of how will it (sometime in extremely distant future) actually implement the most interesting and core feature - event-based continuous (partial) re-parsing of the source code and the fact that traversing the tokens at the leaf level of the syntax tree should result in valid machine code (or at least assembly) that is the "compiled" program.
i *know* it's possible, i just don't yet know enough to have a contrete idea how exactly to achieve it.
but imagine - a programming language where interactive programming is basically the default way of working, and basically the same as normal programming in it, except the act of parsing is also the (in-memory) compilation at the same time, so it's running directly on the hardware instead of via interpretrer/vm/any of that overhead crap.
also then kinda open-source by definition.
and then to "only" write an OS in that, and voilá! a smalltalk-like environment with non-exotic, c-family syntax and actual native performance!
ahhh... <3
* a man can dream *2 -
// Pretty long rant.
Already made some rants some months ago about coding experience in Smalltalk for a school project, but to sum it up :
Because of administrative things, Smalltalk change from option to obligatory course to everyone (we were told that "we had 3 choices out of 3" for options. Not even kidding)
So whole prom got to do a Smalltalk project, a basic shapes editor with Drag'n'Drop and keyboard shortcuts implemented.
But literally everyone didn't get a grasp of the language nor VisualWorks, the IDE. So we got projected in a "Do-it yourself, learn by yourself" project with a language that nobody understood.
Took me 1 week of browsing on Google to find books explaining more than the teacher did. Took me another week to notice that the teacher actually provided VisualWorks's manual. (No one would have noticed if I didn't tell them, and the teacher went silent on it.)
And then the coding started. My teacher thought this project would require something like 20-30 hours of coding. Took me 2 whole months and a half to do moist of the features he asked (only the Keyboard shortcuts weren't implemented, explanation below), and I was the most advanced of whole prom, so I had to answer every single question of fellows. Not complaining, but this took me a lot of time.
But why didn't you ask the teacher ?
- If I ask him every question I had in mind, I would actually harass him since I had too many of them, and I wasn't the only one.
- I actually went twice to his office to ask him question. First question, that was pretty straightforward, I forgot something, blablabla all done. Second time, that was for the keyboard. And then, things are getting even funnier. The teacher didn't have VisualWorks installed on his Mac, so he tried to install it while I was waiting. And he took too long time to actually launch it, because VisualWorks asked for him to log in, to provide an email, the download is a little long thanks to the network and the size, etc. When he finally was able to launch it, I had some classes to attend, so he couldn't answer. And since then, I had no time because last year, flooded with work, exams, classes ,etc.
All of that to have only 13 out of 20. I kinda shrugged, knowing that I wouldn't get more, and said that Smalltalk will only be a line of my resume.
Pretty long rant, sorry about that, but had to explain so you can see how bad it was to me.1 -
Still not sold by OO, but I'm hook line and sinker for pharo/smalltalk.
It actually seems to share a lot of fundamentals with Lisp namely extremely tight syntax and live code reloading.
My opinions of a productive language being dependant on a specific paradigm might be changing in favour of the tooling supplied with a technology/language. -
Hating small talk is what most tech guys would do. What's the point in indulging in it when you can not talk?
But there are times when you're cornered and can't do much about it. I figured out a way in which i can use this, still.
So whenever pushed into small talk i tend to tilt the conversation in the direction of the current problem I'm working on. I would then use the other guy as a sounding board to talk out the problem aloud. Helps me in clarifying my own thought. Also if i haven't already bored the other guy to death and the guy seems genuinely interested, i get a few pointers too.1 -
I dunno how this happened, but this browser in VisualWorks decided to crash for like no reason (it wasn't even running the app), and is impossible to close. At all. Like there is only one process.
Why, Smalltalk, why?4 -
So, I am currently on Spring Break, and what do I do when I am on Spring Break: I take a moment to experiment with different languages. This time, I decided to check out Objective C since it mixes up two languages that I love dearly (but that I do not use outside of academic endeavors) which are C and Smalltalk.
Going around the net I found this https://github.com/Flying-Toast/...
Notice: I have nothing against Swift, I stopped developing apps for IOS back when Swift was in its infancy, so I was forced to use Objective C and tbh I never had an issue with it, I had learned it before through GNUStep, the language was obviously strange when I started learning it, but I did not hate it, I tried following Swift to see if I could use it at least in some portions, but at the time of its release it was still pretty much beta for me, so I passed. I feel it is much better now, but the issues with the language at this point in time I feel are more from the side of XCode which can either be just ok, good or an absolute piece of shit depending on the release. Either way, I found the link to be funny.2 -
Smalltalk's become: is my favourite function (well, method) from any language. For those who haven't Smalltalked, here's a great description of it: https://gbracha.blogspot.co.uk/2009...
From a design perspective, what's not to like? You get to design your object graph in time as well as space, the state transitions of your objects become simple to represent.
It's also great for job security too ;)2 -
What are your plans for Christmas?!?!!??
I normally won't engage in societal tropes like pointless, generic, smalltalk or those questions people ask for lack of independent thought/societal trope-isms....
Here's my templated answer this year:
Background = ~2k$ in piles of tech... server upgrades components, apparently the only managed switch left in business/non-custom enterprise networking in the country/indexed for sale
(2k in what I would pay.... my tech sourcing is more base level and +4 years pro exp(yea... since age 8... really))
Foreground.... a shiny ✨️ new, wonderfully discounted for dumb reasons that i appreciate... 10Tb LFF HDD! 🥹🥲🤩
I really like raw data... enough raw data and proper context relevant high-level, custom, precise algorithms and i genuinely believe literally any questions or problems can be quantified and solved for
So... I just keep getting data, life, sourcing, stats on human behaviour... i factor everything
Yes i realise im very odd
//initial context plus curiousities
As parsed out to somewhat tangential commentary below... i cant keep making people go away for societally viewed polite engagement. Therefore, when asked again by factory sales rep who enjoys verbosity and apparent finds me extremely worth his intrigue/personal time
// additional context (and my attempt to be more parse and comment conscious)
With a bunch of initial reveals and launches startjng in a week and technically being the "owner/boss"(cringy to me so Ive officially made my title (anywhere with custom input fields) DragonOverlord...dragons being a tied in theme to all sects and no one can say DragonOverlord isn't a position... as it's clearly a class... unless you find a human more style code ignorant, comment inept, and in need of a very multilingual scribe to create a lexicon 2 steps before my code would be even follow-able without a likely, bad, headache and davinci code like adventure including the improbably well placed wise scholars that just happen to have significant unique and vital information they are willing to freely share with strangers.rant christmas data architecture motivational societal tropes temptation so i can build my database structure loathing python raw data data misanthropy databases49 -
personal projects, of course, but let's count the only one that could actually be considered finished and released.
which was a local social network site. i was making and running it for about three years as a replacement for a site that its original admin took down without warning because he got fed up with the community. i loved the community and missed it, so that was my motivation to learn web stack (html, css, php, mysql, js).
first version was done and up in a week, single flat php file, no oop, just ifs. was about 5k lines long and was missing 90% of features, but i got it out and by word of mouth/mail is started gathering the community back.
right as i put it up, i learned about include directive, so i started re-coding it from scratch, and "this time properly", separated into one file per page.
that took about a month, got to about 10k lines of code, with about 30% of planned functionality.
i put it up, and then i learned that php can do objects, so i started another rewrite from scratch. two or three months later, about 15k lines of code, and 60% of the intended functionality.
i put it up, and learned about ajax (which was a pretty new thing since this was 2006), so i started another rewrite, this time not completely from scratch i think.
three months later, final length about 30k lines of code, and 120% of originally intended functionality (since i got some new features ideas along the way).
put it up, was very happy with it, and since i gathered quite a lot of user-generated data already through all of that time, i started seeing patterns, and started to think about some crazy stuff like auto-tagging posts based on their content (tags like positive, negative, angry, sad, family issues, health issues, etc), rewarding users based on auto-detection whether their comments stirred more (and good) discussion, or stifled it, tracking user's mental health and life situation (scale of great to horrible, something like that) based on the analysis of the texts of their posts...
... never got around to that though, missed two months hosting payments and in that time the admin of the original site put it back up, so i just told people to move back there.
awesome experience, though. worth every second.
to this day probably the project i'm most proud of (which is sad, i suppose) - the final version had its own builtin forum section with proper topics, reply threads, wysiwyg post editor, personal diaries where people could set per-post visibility (everyone, only logged in users, only my friends), mental health questionnaires that tracked user's results in time and showed them in a cool flash charts, questionnaire editor where users could make their own tests/quizzes, article section, like/dislike voting on everything, page-global ajax chat of all users that would stay open in bottom right corner, hangouts-style, private messages, even a "pointer" system where sending special commands to the chat aimed at a specific user would cause page elements to highlight on their client, meaning if someone asked "how do i do this thing on the page?", i could send that command and the button to the subpage would get highlighted, after they clicked it and the subpage loaded, the next step in the process would get highlighted, with a custom explanation text, etc...
dammit, now i got seriously nostalgic. it was an awesome piece of work, if i may say so. and i wasn't the only one thinking that, since showing the page off landed me my first two or three programming jobs, right out of highschool. 10 minutes of smalltalk, then they asked about my knowledge, i whipped up that site and gave a short walkthrough talking a bit about how the most interesting pieces were implemented, done, hired XD
those were good times, when I still felt like the programmer whiz kid =D
as i said, worth every second, every drop of sweat, every torn hair, several times over, even though "actual net financial profit" was around minus two hundred euro paid for those two or three years of hosting. -
Smalltalk, the language that keeps popping up in articles I read about nice languages and seems like the real underdog that's gone under the radar now that FP has taken hold. Must give it a go.4
-
!rant
I finally published my first open source project. A package for calculation a geohash of a geolocation for pharo smalltalk.
I know that most of the users don't know smalltalk but it's the best OOP you can code with. And geohash is such a great algorithm. Lovely combination2 -
Not using design pattern on a school project because he was too busy understanding what the fuck was Smalltalk since no one understood it in classes.
yes it was me. I don't blame myself, I really took too much time understanding that (and I was the only one to do that, the other just asked me. ALL OF THEM). But I should, I guess. -
Had a whole weekend of family smalltalk to sit through. Now waiting for the next family members to arrive for cake.
Had a shitload of ideas for my petproject, which could have been implemented by now 😞2 -
I would have wanted to bring up SICP again, with the great big warning about the evil assignment operator and state and all the troubles that ensue (just think: concurrency).
But in a way, nothing has really come up from this or my attempts to dig deeper into "everything is a file/object" (Unix, smalltalk), neither from formal languages or the Curry-Howard correspondence. - Maybe there's just nothing, no firm bottom ground to discover. Like the physicists going for their world formula, but instead of a grand, beautiful symmetry that explains everything, we face a shattered world of (incompatible) theories, that is ever so more complex and chaotic through our theories applied to it. There may not be a Platonic ideal world of ideas, but rather partial constructs explaining some particular perceptions.
Similarly the one perfect programming language to rule them all, the perfect abstraction, pattern is probably just another prepubertal fantasy to be sunk.
So maybe instead of seeking the perfect epiphany, we should go for something quite different: the nagging, brooding uneasiness that something is wrong there, that there's something to be fixed... that even negative feeling would propel us to search further, not to stay in whatever is touted as the real thing.
Such irritations I found with Pieter Hintjens' writings. For example when he actively engaged in conspiracy theories. And I'm still not sure, if he just went off the cliff or he's even right alluding that these theories are an act of sanity, a self-defence against the hidden evil mights. I just don't know. Anything. -
!rant
had to give a short presentation on the origin of OOP at work. It turned into a neat little discussion on what OOP means to you based on your experience and what you've been taught. I had always thought it just meant working in terms of objects and polymorphism, inheritance, etc. were good practices.
Found it interesting that when I started reading into Simula, Smalltalk and Alan Kay's work, early 'uses' of OOP were different from each other and today. To me it seems it have originated obviously, from the desire to work with real world objects but branching off to being more closely related to the actor model and the idea of message passing.
Was wondering if anyone else has looked into this topic or has their own opinions based on experience.1 -
There's nothing quite as sweet as seeing someone in public for the first time in years and you both decide, without saying a word, that you're both just going to move along and not do the whole smalltalk thing.
-
We can not create a good programming language before creating a good os.
This is why the most novel approaches to language development (lisp, smalltalk, ...) started out in their own worlds (lisp machines, smalltalk machines, ...)