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 - "macros"
-
I'm a self-taught 19-year-old programmer. Coding since 10, dropped out of high-school and got fist job at 15.
In the the early days I was extremely passionate, learning SICP, Algorithms, doing Haskell, C/C++, Rust, Assembly, writing toy compilers/interpreters, tweaking Gentoo/Arch. Even got a lambda tattoo on my arm after learning lambda-calculus and church numerals.
My first job - a company which raised $100,000 on kickstarter. The CEO was a dumb millionaire hippie, who was bored with his money, so he wanted to run a company even though he had no idea what he was doing. He used to talk about how he build our product, even tho he had 0 technical knowledge whatsoever. He was on news a few times which was pretty cringeworthy. The company had only 1 programmer (other than me) who was pretty decent.
We shipped the project, but soon we burned through kickstart money and the sales dried off. Instead of trying to aquire customers (or abandoning the project), boss kept looking for investors, which kept us afloat for an extra year.
Eventually the money dried up, and instead of closing gates, boss decreased our paychecks without our knowledge. He also converted us from full-time employees to "contractors" (also without our knowledge) so he wouldn't have to pay taxes for us. My paycheck decreased by 40% by I still stayed.
One day, I was trying to burn a USB drive, and I did "dd of=/dev/sda" instead of sdb, therefore wiping out our development server. They asked me to stay at company, but I turned in my resignation letter the next day (my highest ever post on reddit was in /r/TIFU).
Next, I found a job at a "finance" company. $50k/year as a 18-year-old. CEO was a good-looking smooth-talker who made few million bucks talking old people into giving him their retirement money.
He claimed he changed his ways, and was now trying to help average folks save money. So far I've been here 8 month and I do not see that happening. He forces me to do sketchy shit, that clearly doesn't have clients best interests in mind.
I am the only developer, and I quickly became a back-end and front-end ninja.
I switched the company infrastructure from shitty drag+drop website builder, WordPress and shitty Excel macros into a beautiful custom-written python back-end.
Little did I know, this company doesn't need a real programmer. I don't have clear requirements, I get unrealistic deadlines, and boss is too busy to even communicate what he wants from me.
Eventually I sold my soul. I switched parts of it to WordPress, because I was not given enough time to write custom code properly.
For latest project, I switched from using custom React/Material/Sass to using drag+drop TypeForms for surveys.
I used to be an extremist FLOSS Richard Stallman fanboy, but eventually I traded my morals, dreams and ideals for a paycheck. Hey, $50k is not bad, so maybe I shouldn't be complaining? :(
I got addicted to pot for 2 years. Recently I've gotten arrested, and it is honestly one of the best things that ever happened to me. Before I got arrested, I did some freelancing for a mugshot website. In un-related news, my mugshot dissapeared.
I have been sober for 2 month now, and my brain is finally coming back.
I know average developer hits a wall at around $80k, and then you have to either move into management or have your own business.
After getting sober, I realized that money isn't going to make me happy, and I don't want to manage people. I'm an old-school neck-beard hacker. My true passion is mathematics and physics. I don't want to glue bullshit libraries together.
I want to write real code, trace kernel bugs, optimize compilers. Albeit, I was boring in the wrong generation.
I've started studying real analysis, brushing up differential equations, and now trying to tackle machine learning and Neural Networks, and understanding the juicy math behind gradient descent.
I don't know what my plan is for the future, but I'll figure it out as long as I have my brain. Maybe I will continue making shitty forms and collect paycheck, while studying mathematics. Maybe I will figure out something else.
But I can't just let my brain rot while chasing money and impressing dumb bosses. If I wait until I get rich to do things I love, my brain will be too far gone at that point. I can't just sell myself out. I'm coming back to my roots.
I still feel like after experiencing industry and pot, I'm a shittier developer than I was at age 15. But my passion is slowly coming back.
Any suggestions from wise ol' neckbeards on how to proceed?32 -
No it's not AI. YOU ARE RUNNING FUCKING SQL QUERIES AND CALLING IT AI!
No it's not AI. YOU ARE RUNNING SIMPLE DATA ANALYSIS MACROS AND FUNCTIONS IN EXCEL!
Stop labelling everything as AI, you attention and investment seeking morons! @&£$¢×xo##!29 -
Overheard some guy talking about robotics on the phone, turns out it was all about MS excel macros.
people need to stop abusing terms like big data, AI etc. to make them sound 'smart' 🙄4 -
tl;dr read the whole thing you lazy goat-molesting arse.
People. It's unpopular opinion time!
Windows is brilliant.
There. I said it.
Why? Because it has the balance of user-friendliness and customisability that is great for most workloads. Its enormous user- and developer- base allow almost anything you want to be done on it.
For instance, a few years ago I hooked up a MIDI synth pad to my PC and found an obscure program to use MIDI events as macros. I did not have to write any code, compile anything or any crap like that. (If you're a developer then you'll have no problem with that kind of thing, but not everyone's an über-technical nerd like you. Deal with it.)
I don't like Windows. But it's still brilliant for most people. All you Linux fan- boys/girls/helicopters are right to advocate it, but it will never expand its market share to more than the percentage of people who are developers, (unless it turns into a corporate enterprise (which it probably won't)). It has its flaws, but most of them will never affect the average end user. OK? Thanks.9 -
So day 2 of my python automations.
I have spent 6 hours and a lot of stack overflow “research” to saved myself 45 minutes a day with file downloads (web & ftp and outlook emails), excel spreadsheets and data manipulation macros, all stored in a nice tidy zip file at the end.
Now to find a way to send to a web server for digestion 😎
And all of this in a poor 90 lines 😧
God damn why didn’t I look into this earlier?2 -
I hate when someone throws at me some task all of sudden with a tight deadline.
Wednesday was one of those days.
manager: we want to remove all the offices because of our tight budget this year (multimillionaire company, lol), everyone will use office 365;
me: ahn... ok, but everything was already tested? Some macros, routines, old documents can be a big problem, as far I know (I don't use M$ at home, servers are Linux, so I really don't know about that). I can do some tests, only will need some real documents to make sure everything will do fine;
manager: yeah, yeah, everything will be fine, the high management already decided, don't worry, just remove the offices in the company, ok?;
me: alright...
*me deploys the remotion script in every f*cking machine*
48 hours later...
manager: well... everyone is complaining about the office 365, random complains, can you attend all the calls and reinstall if you can't solve the problem?
WTFFFFFFFFFFFFFFFFFFFFFFFF!!!!!
[RAGES INTERNALLY]5 -
So I'm back from vacation! It's my first day back, and I'm feeling refreshed and chipper, and motivated to get a bunch of things done quickly so I can slack off a bit later. It's a great plan.
First up: I need to finish up tiny thing from my previous ticket -- I had overlooked it in the description before. (I couldn't test this feature [push notifications] locally so I left it to QA to test while I was gone.)
It amounted to changing how we pull a due date out of the DB; some merchants use X, a couple use Y. Instead of hardcoding them, it would use a setting that admins can update on the fly.
Several methods deep, the current due date gets pulled indirectly from another class, so it's non-trivial to update; I start working through it.
But wait, if we're displaying a due date that differs from the date we're actually using internally, that's legit bad. So I investigate if I need to update the internals, too.
After awhile, I start to make lunch. I ask my boss if it's display-only (best case) and... no response. More investigating.
I start to make a late lunch. A wild sickness appears! Rush to bathroom; lose two turns.
I come back and get distracted by more investigating. I start to make an early dinner... and end up making dinner for my monster instead.
Boss responds, tells me it's just for display (yay!) and that we should use <macro resource feature> instead.
I talk to Mr. Product about which macros I should add; he doesn't respond.
I go back to making lunch-turn-dinner for myself; monster comes back and he's still hungry (as he never asks for more), so I make him dinner.
I check Slack again; Mr. Product still hasn't responded. I go back to making dinner.
Most of the way through cooking, I get a notification! Product says he's talking it through with my boss, who will update me on it. Okay fine. I finish making dinner and go eat.
No response from boss; I start looking through my next ticket.
No response from boss. I ping him and ask for an update, and he says "What are you talking about?" Apparently product never talked to bossmang =/ I ask him about the resources, and he says there's no need to create any more as the one I need already exists! Yay!
So my feature went from a large, complex refactor all the way down to a -1+2 diff. That's freaking amazing, and it only took the entire day!
I run the related specs, which take forever, then commit and push.
Push rejected; pull first! Fair, I have been gone for two weeks. I pull, and git complains about my .gitignore and some local changes. fine, whatever. Except I forgot I had my .gitignore ignored (skipped worktree). Finally figure that out, clean up my tree, and merge.
Time to run the specs again! Gems are out of date. Okay, I go run `bundle install` and ... Ruby is no longer installed? Turns out one of the changes was an upgrade to Ruby 2.5.8.
Alright, I run `rvm use ruby-2.5.8` and.... rvm: command not found. What. I inspect the errors from before and... ah! Someone's brain fell out and they installed rbenv instead of the expected rvm on my mac. Fine, time to figure it out. `rbenv which ruby`; error. `rbenv install --list`; skyscraper-long list that contains bloody everything EXCEPT 2.5.8! Literally 2.5 through 2.5.7 and then 2.6.0-dev. asjdfklasdjf
Then I remember before I left people on Slack made a big deal about upgrading Ruby, so I go looking. Dummy me forgot about the search feature for a painful ten minutes. :( Search found the upgrade instructions right away, ofc. I follow them, and... each step takes freaking forever. Meanwhile my children are having a yelling duet in the immediate background, punctuated with screams and banging toys on furniture.
Eventually (seriously like twenty-five minutes later) I make it through the list. I cd into my project directory and... I get an error message and I'm not in the project directory? what. Oh, it's a zsh thing. k, I work around that, and try to run my specs. Fail.
I need to update my gems; k. `bundle install` and... twenty minutes later... all done.
I go to run my specs and... RubyMine reports I'm using 2.5.4 instead of 2.5.8? That can't be right. `ruby --version` reports 2.5.8; `rbenv version` reports 2.5.8? Fuck it, I've fought with this long enough. Restarting fixes everything, right? So I restart. when my mac comes back to life, I try again; same issue. After fighting for another ten minutes, I find a version toggle in RubyMine's settings, and update it to 2.5.8. It indexes for five minutes. ugh.
Also! After the restart, this company-installed surveillance "security" runs and lags my computer to hell. Highest spec MacBook Pro and it takes 2-5 seconds just to switch between desktops!
I run specs again. Hey look! Missing dependency: no execjs. I can't run the specs.
Fuck. This. I'll just push and let the CI run specs for me.
I just don't care anymore. It's now 8pm and I've spent the past 11 hours on a -1+2 diff!
What a great first day back! Everything is just the way I left it.rant just like always eep; 1 character left! first day back from vacation miscommunication is the norm endless problems ruby6 -
Who says Windows is useless....
Running a python script to swap wifi networks, auto connect to VPN servers, run SSH commands and SFTP files to servers, downloading numerous files, sifting through outlook for emails, running excel macros for data cleansing, cell merging and formulas all at the click of a button 😱
Oh yea.. this is all 1 task that I never have to do again😂
Windows is useless for development you say? 🤔3 -
I’m trying to add digit separators to a few amount fields. There’s actually three tickets to do this in various places, and I’m working on the last of them.
I had a nightmare debugging session earlier where literally everything would 404 unless I navigated through the site in a very roundabout way. I never did figure out the cause, but I found a viable workaround. Basically: the house doesn’t exist if you use the front door, but it’s fine if you go through the garden gate, around the back, and crawl in through the side window. After hours of debugging I eventually discovered that if I unlocked the front door with a different key, everything was fine… but nobody else has this problem?
Whatever.
Onto the problem at hand!
I’m trying to add digit separators to some values. I found a way to navigate to the page in question (more difficult than it sounds), and … I don’t know what view is rendering the page. Or what controller. Or how it generates its text.
The URL is encrypted, so I get no clues there. (Which was lead dev’s solution to having scrapeable IDs instead of just, you know, fixing them). The encryption also happens in middleware, so it’s a nightmare to work through. And it’s by the lead dev, so the code is fucking atrocious.
The view… could be one of many, and I don’t even know where they are. Or what layout. Or what partials go into building it.
All of the text on the page are “resources” — think named translations that support plus nested macros. I don’t know their names, and the bits of text I can search for are used fucking everywhere. “Confirmation number” (the most unique of them) turns up 79 matches. “Fee” showed up in 8310 places before my editor gave up looking. Really.
The table displaying the data, which is what I actually care about, isn’t built in JS or markup, but is likely a resource that goes through heavy processing. It gets generated in a controller somewhere (I don’t know the resource name so I can’t find it), and passed through several layers of “dynamic form” abstraction, eventually turned into markup, and rendered as a partial template. At least, that’s how it worked in the previous ticket. I found a resource that looks right, and there’s only the one. I found the nested macros it uses for the amount and total, and added the separators there… only to find that it doesn’t work.
Fucking dead end.
And i have absolutely nothing else to go on.
Page title? “Show”
URL? /~LiolV8N8KrIgaozEgLv93s…
Text? All from macros with unknown names. Can’t really search for it without considerable effort.
Table? Doesn’t work.
Text in the table? doesn’t turn up anything new.
Legal agreement? There are multiple, used in many places, generates them dynamically via (of course) resources, and even looking through the method usages, doesn’t narrow it down very much.
Just.
What the fuck?
Why does this need to be so fucking complicated?
And what genius decided “$100000.00” doesn’t need separators? Right, the lot of them because separators aren’t used ANYWHERE but in code I authored. Like, really? This is fintech. You’d think they would be ubiquitous.
And the sheer amount of abstraction?
Stupid stupid stupid stupid stupid.11 -
This week I got instructed to write a script that downloads an Excel sheet (which is used as a product database with >20000 products and lots of macros) from Dropbox, and parses it. In PHP. 🤦♂️7
-
My professor once said "You'd be amazed if you'd know what Excel is capable of.". Honestly I've seen some really interesting stuff, yet this amazes me.
https://dev.to/michaelneu/...4 -
Basically: Shoutout to my dad!
My dad's not an engineer or anything. But he likes building PCs and has a bunch of tech at home.
Well, thanks to him, I had a PC very early on, and of course, I did the typical skiddie stuff it, aka "fake batch virus haha funny" and playing Minecraft.
Well, at some point, after tinkering with mods to enhance the quality of gameplay, I found the ultimate mod: Macro / Keybind Mod.
This mod allows you to bind stuff to keybinds, such as commands or chat messages, or... Macros.
This mod has a custom macro language. (Hint: This is where the fun begins)
Another mod I used was AutoSwitch. However, that mod required a "core mod" (aka library installed in a dumb way). I thought, "why do I install 2 mods to get 1 thing? dumb", and made an ugly macro with lots of nested if-elses, which perfectly emulated AutoSwitch behavior for the Minecraft version I was on.
Yup, I basically got rid of 2 jar files in my mods folder by making my own ugly macro.
The fact that I recreated something in an obscure language, having not even coded any program before, made me grow interest into actual programming languages.3 -
Customer: We need an app to replace the Excel ( bunch of forms with messy macros and script)
Also Customer: Can I export the form fill it in an excel and import again.
Me: Sure, Definitely
Inner me: Where's Thanos9 -
spent 8 months building and customizing a vtiger database for work. tons of fun got it to a point where I have saved a ton of time for all the people that use the program. boss wants to have reports out of it each morning, so I showed him how to run reports and adjust entries. he didn't like the formatting of the report. so I set up the report to export to excel and took another 2 hours building a macro that formats the way he likes and prints the report for him. he used to take a month filling out paper work to get a report, now all he has to do is open a favorite on his web browser, make 3 clicks Then open an excel and type ctrl+r and it's done. he tells me it seems too complicated and is considering going back to the paper method...so frustrating.2
-
Chrome, Firefox, and yes even you Opera, Falkon, Midori and Luakit. We need to talk, and all readers should grab a seat and prepare for some reality checks when their favorite web browsers are in this list.
I've tried literally all of them, in search for a lightweight (read: not ridiculously bloated) web browser. None of them fit the bill.
Yes Midori, you get a couple of bonus points for being the most lightweight. Luakit however.. as much as I like vim in my terminal, I do not want it in a graphical application. Not to mention that just like all the others you just use webkit2gtk, and therefore are just as bloated as all the others. Lightweight my ass! But programmable with Lua, woo! Not like Selenium, Chrome headless, ... does that for any browser. And that's it for the unique features as far as I'm concerned. One is slow, single-threaded and lightweight-ish (Midori) and another has vim keybindings in an application that shouldn't (Luakit).
Pretty much all of them use webkit2gtk as their engine, and pretty much all of them launch a separate process for each tab. People say this is more secure, but I have serious doubts about that. You're still running all these processes as the same user, and they all have full access to the X server they run under (this is also a criticism against user separation on a single X session in general). The only thing it protects against is a website crashing the browser, where only that tab and its process would go down. Which.. you know.. should a webpage even be able to do that?
But what annoys me the most is the sheer amount of memory that all of these take. With all due respect all of you browsers, I am not quite prepared to give 8 fucking gigabytes - half the memory in this whole box! - just for a dozen or so tabs. I shouldn't have to move my web browser to another lesser used 16GB box, just to prevent this one from going into fucking swap from a dozen tabs. And before someone has a go at the add-ons, there's 4 installed and that's it. None of them are even close to this complete and utter memory clusterfuck. It's the process separation. Each process consumes half a GB of memory, and there's around a dozen of them in a usual browsing session. THAT is the real problem. And I want to get rid of it.
Browsers are at their pinnacle of fucked up in my opinion, literally to the point where I'm seriously considering elinks. Being a sysadmin, I already live my daily life in terminals anyway. As such I also do have resources. But because of that I also associate every process with its cost to run it, in terms of resources required. Web browsers are easily at the top of the list.
I want to put 8GB into perspective. You can store nearly 2 entire DVD movies in that memory. However media players used to play them (such as SMPlayer) obviously don't do that. They use 60-80MB on average to play the whole movie. They also require far less processing power than YouTube in a web browser does, even when you download that exact same video with youtube-dl (either streamed within the media player or externally). That is what an application should be.
Let's talk a bit about these "complicated" websites as well. I hate to break it to you framework web devs, but you're a dime a dozen. The competition is high between web devs for that exact reason. And websites are not complicated. The document itself is plain old HTML, yes even if your framework converts to it in the background. That's the skeleton of your document, where I would draw a parallel with documents in office suites that are more or less written in XML. CSS.. oh yes, markup. Embolden that shit, yes please! And JavaScript.. oh yes, that pile of shit that's been designed in half a day, and has a framework called fucking isEven (which does exactly what it says on the tin, modulo 2 be damned). Fancy some macros in your text editor? Yes, same shit, different pile.
Imagine your text editor being as bloated as a web browser. Imagine it being prone to crashing tabs like a web browser. Imagine it being so ridiculously slow to get anything done in your productivity suite. But it's just the usual with web browsers, isn't it? Maybe Gopher wasn't such a bad idea after all... Oh and give me another update where I have to restart the browser when I commit the heinous act of opening another tab, just because you had to update your fucking CA certs again. Yes please!19 -
Why the fuck does Arduino use C++ macros for min, max, abs, etc. ???????
---
For those who don't know what a macro is, basic example:
#define abs(x) (x > 0 ? x : -(x))
Which looks like a function, but instead abs() will be replaced by the expression and all x will be replaced literally with what you pass to abs
So
abs(i++)
would evaluate to
(i++ > 0 ? i++ : -(i++))
which would call i++ twice
---
I guess I will have to double check every built in function and rewrite it if it's a macro -_-. Not taking any chances. Btw all Arduino functions are in one big file, so now I have to pollute my code with namespaces.
Macros can be great but what the fuck.16 -
Absolutely fucking hate it when someone sends a word document for me to fill it up, and it has the worst fucking structure ever. Everything is here and there, bunch of hacky macros and full of other bullshit.
What a lazy fucking piece of shit!2 -
Teaching a relatives boyfriend VBA so he can edit macros in excel, he has an interview next week as a junior data analyst and this a requirement. This is his laptop keyboard. Pay close attention to the placement of ctrl, shift etc. and the lack of a backspace.9
-
So I'm doing some OpenGL stuff in C++, for debugging I've created a macro that basically injects my error check code after every OpenGL API call. Basically I don't want any of the code in release builds but I want it to be in debug. Also it needs to be usable inline and accept any GL function return type. From what I can tell I've satisfied all requirements by making the macro generate a generic lambda that returns the original function call result but also creates a stack object that uses the scope to force my error check after the return statement by using the destructor.
Basically I can do:
Log(gl(GetString(...));
gl(DeleteShader(...));
Etc where the GL call can be a function parameter or not.
So my question is, is the code shown in the picture the best way to achieve my goals while providing the behaviour im going for?13 -
So I had this internship in highschool for some marketing company creating simple databases for them to help out with their business.
When I came back from college for I think winter break they had asked if I would come in to help with a task that was going to take all day so they wanted me to come early. I agree and show up the next morning.
They had an Excel spreadsheet with about 5000 records in it and one of the fields was the name of the customer. They told me that the records came in as lastName, firstName or as lastName,firstName.
They wanted the field to look like firstName lastName. For a minute or two they had someone show me how they have been doing this which was just by hand. I don't really work with Excel so im not too keen with the macros. But it took me about 1 Google and 30 seconds to find someone with a similar macro to achieve this, I altered it a bit and let it go through all the records.
It was an awesome feeling when I went to the boss to let them know I was done (it had only been 10 mins), they almost didnt believe me.
Funny how one line of code can turn a day's work into a matter of minutes.2 -
Visual Basic at high-school, pascal and C and Java at University. VBA for macros on a job. html+css+js learnt o er a weekend to pass the screening for a new job, then ruby and php on that job to build internal tools. Now I am into python for data science. It has been fun.1
-
I just managed to configure a second keyboard to map its keys to separate keycodes. Basically, I should be able to use it as a complete macro deck 😏 Thank god for Linux6
-
I felt like being the cause for “that dreaded legacy code“ and wrote 250 lines of C preprocessor macros for generating bitfields in a large header file automatically, with the goal of simplifying and clarifying register access for all peripherals in the end. Then, I found out that SDCC's optimisation for bitfields is absolutely awful (if existent at all), and I don't really want to use these abstractions if they have a performance impact.
Did I deserve that?7 -
Fun Story: My first official project was related to system files security. In first meeting project manager was talking about Macros and OLE i had no idea what the heck he was saying.just kept noding
Took us 2 months to complete the project now it has been deployed and working perfectly
Told my manager about this during final one on one meeting and he couldnt believe me,he still laughs about it everytime we meet -
C(++) macros will be the death of me
I sure do love working with code that was written when I was in elementary school, with all the glory of nested macros and ## to deduct type names
Love that8 -
Holy shit seriously: Fuck MSOffice. Fuck it right in the eyehole.
As desktop software, it's just brutally terrible. On my work mac, it's just sweaty garbage. The latest insult is that on the most recent update, msword stole the default file association from preview.
Libre isn't terrific, but at least it's closed when you close it. For that reason alone, it's orgasmic by comparison.
Because there's justice in the world, my job is not a document-centered one, so I have no real use at all for an office app, let alone the specific macros and formulae that the msoffice versions of these apps provide, so I couldn't give less of a shit about losing functionality.
The headline and main thrust of this rant is "fuck msoffice so hard that it dies of eye-fucking." -
Visual Basic.
“Does VBA for Excel count? Because if it does then VBA for Excel has reached the ”nuclear resistant cockroach” level in finance.
You wouldn't believe what sort of processes in very big banks/financial institutions are built using 10-year-old VBA macros. In fact, VBA consulting for finance is a very juicy cottage industry at least in Europe to this very day.”
https://retool.com/visual-basic8 -
I swear to god "old school" C++ devs are menace to humanity
Why yes let's make this one line long function, that could even be constexpr, and make it a macro.
Why the fuck not, let's make compiler errors worse by foregoing any type checking. Let's throw away namespacing as well, great.
Fuck you.
I shouldn't have to dig through 4 levels of nested macros just cause "muh performance" and "we've always done it like that".
Shit yourself.8 -
C++ development will be my end.
The absolutely unreadable errors, the overly convoluted macros set up in the project, the cmake build system.... The absolutely unnecessary separation into cpp and header files...
help20 -
Awful idea of the day - Have a programming language with no comments, but regex preprocessor macros. Use macros to define your own comment syntax and strip them before compiling.
#define /\/\/.*//1 -
So at work, there is this class/model thing that's for storing translated strings. It also supports n-level nested macros, cascading lookup (e->d->c->b->a->blank), and I've added transforms too. The code is a bloody mess and very inefficient (legendary dev's code), but it's useful.
You call methods with a symbol representing one of the strings, and it does... whatever you ask, like return text, booleans, expand macros and submacros, pass in data to interpolate, etc.
But I just learned something today.
Its `.html` method... doesn't support html. In fact, calling it strips out all html, takes whatever is left, and attempts to convert that back into html. Because that makes so much sense. So, if you have an html string? Don't call html on it.
Also, macros use the same <angle brackets> as html tags, and macro expansion eats unknown macros, so... you can't mix html and macros, meaning you cannot inject values into your markup. That's a freaking joy to work around. (You end up writing a parser every time.)
So no, if you have an html string, you need to get the raw data out and handle it yourself. Don't reach for that shiny .html method; it'll just ruin your day.
It's the little things that make my day so terribly long.rant it really isn't so bad principle of most surprise poor design but it could be ever so much better8 -
Worst documentation? Unreal Engine 4's documentation on editor customization (custom panels/windows and whatnot). It might have improved in the last two years, but the last time I made a custom editor there was almost zero documentation on the matter and on their Slate UI framework. The little documentation that existed was very vague and had awful examples.
I don't remember very well, but I think it took me close to two weeks to get something very basic working. I had to read a LOT of C++ code filled with generics and macros to figure everything out, but after I did I enjoyed a lot working with that stuff.
I just don't know how I was able to do that, working with UE4 was a pain the butt every. single. day. Runtime error on the gameplay code? Too bad, the whole editor will crash and then take ~40s to reopen. It was crash after crash, ~1min of compilation time for any little change to the code, so so so so much frustration.
I do miss a those times a bit though, because even though it was hard, it felt good to feel competent, to know something complex reasonably well to the point I could help people on forums. Today I always feel I don't know enough about the languages/frameworks I use. It's kinda depressing, it takes a huge toll on my self confidence. But whatever, let's keep going, one day I'll get there :) -
Student intern here. My boss recently asked me to replace several if-statements with preprocessor macros.
In Python.
And apparently, he didn‘t joke.5 -
I like my log messages to indicate automatically where in the code something happened, so that I can easily identify where a message originated from while tracking down problems.
In C/C++ this is nice and easy - write a logging routine, wrap it in macros for the different log levels and have that automatically output __FILE__, __LINE__ etc.
I wanted to do something similar in NodeJS, as I'd found myself manually writing the file name in the log message and then splitting functionality out into new files and it became a mess.
The only way I found to be able to do this was to create an "Error" object and access the "stack" member of it. This is a string containing a stack backtrace, suitable for writing to console/file. I just wanted the filename/line/routine.
So I ended up splitting the string into lines, then for each of the lines, trimming the surrounding spaces (or tabs?), and parsing them to see if the stack entry is inside my logger module. The first entry outside of that module must therefore be the thing that called it, so I then parse out the routine or object and method, filename and line number.
It's a lot of clumsy work but the output is pretty neat. I just wish it were simpler!2 -
For a long time I wanted to have the possibility in Swift to copy instances of value types by just changing the value of one property (member variable).
Something like Kotlin's copy function.
And now that Swift has macros (like Rust), I made a macro for that! 😄
https://github.com/WilhelmOks/...4 -
Programming excel macros is the worst thing one could do to himself. VBA is the most cancerous anderen inconsistent language I had the "pleasure" to work with. I have problems like the following all the time for no apparent reason. For example: you script something, test is and everything is working just fine and dandy. Next day when you run the script, guess what...i doesnt work anymore. For no apparent reason what so ever. Maybe its just me, but i just want to hang myself working with it.
Anyone else has had such "Love story" like mine?6 -
!rant
For all of youse that ever wanted to try out Common Lisp and do not know where to start (but are interested in getting some knowledge of Common Lisp) I recommend two things:
As an introductory tutorial:
https://lisperati.com/casting.html/
And as your dev environment:
https://portacle.github.io/
Notice that the dev environment in question is Emacs, regardless of how you might feel about it as a text editor, i can recommend just going through the portacle help that gives you some basic starting points regarding editing. Learn about splitting buffers, evaluating the code you are typing in order for it to appear in the Common Lisp REPL (this one comes with an environment known as SLIME which is very popular in the Lisp world) as well as saving and editing your files.
Portacle is self contained inside of one single directory, so if you by any chance already have an Emacs environment then do not worry, Portacle will not touch any of that. I will admit that as far as I am concerned, Emacs will probably be the biggest hurdle for most people not used to it.
Can I use VS Code? Yes, yes you can, but I am not familiar with setting up a VSCode dev environment for Emacs, or any other environment hat comes close to the live environment that emacs provides for this?
Why the fuck should I try Common Lisp or any Lisp for that matter? You do not have to, I happen to like it a lot and have built applications at work with a different dialect of Lisp known as Clojure which runs in the JVM, do I recommend it? Yeah I do, I love functional programming, Clojure is pretty pure on that (not haskell level imo though, but I am not using Haskell for anything other than academic purposes) and with clojure you get the entire repertoire of Java libraries at your disposal. Moving to Clojure was cake coming from Common Lisp.
Why Common Lisp then if you used Clojure in prod? Mostly historical reasons, I want to just let people know that ANSI Common Lisp has a lot of good things going for it, I selected Clojure since I already knew what I needed from the JVM, and parallelism and concurrency are baked into Clojure, which was a priority. While I could have done the same thing in Common Lisp, I wanted to turn in a deliverable as quickly as possible rather than building the entire thing by myself which would have taken longer (had one week)
Am I getting something out of learning Common Lisp? Depends on you, I am not bringing about the whole "it opens your mind" deal with Lisp dialects as most other people do inside of the community, although I did experience new perspectives as to what programming and a programming language could do, and had fun doing it, maybe you will as well.
Does Lisp stands for Lots of Irritating Superfluous Parentheses or Los in stupid parentheses? Yes, also for Lost of Insidious Silly Parentheses and Lisp is Perfect, use paredit (comes with Portacle) also, Lisp stands for Lisp Is Perfect. None of that List Processing bs, any other definition will do.
Are there any other books? Yes, the famous online text Practical Common Lisp can be easily read online for free, I would recommend the Lisperati tutorial first to get a feel for it since PCL demands more tedious study. There is also Common Lisp a gentle introduction. If you want to go the Clojure route try Clojure for the brave and true.
What about Scheme and the Structure and Interpretation of Computer Programs? Too academic for my taste, and if in Common Lisp you have to do a lot of things on your own, Scheme is a whole other beast. Simple and beautiful really, but I go for practical in terms of Lisp, thus I prefer Common Lisp.
how did you start with Lisp?
I was stupid and thought I should start with it after a failed attempt at learning C++, then Java, and then Javascript when I started programming years ago. I was overwhelmed, but I continued. Then I moved to other things. But always kept Common Lisp close to heart. I am also heavy into A.I, Lisp has a history there and it is used in a lot of new and sort of unknown projects dealing with Knowledge Reasoning and representation. It is also Alien tech that contains many things that just seem super interesting to me such as treating code as data and data as code (back-quoting, macros etc)
I need some inspiration man......show me something? Sure, look for a game called Kandria in youtube, the creator, Shimera (Nicolas Hafner) is an absolute genius in the world of Lisp and a true inspiration. He coded the game in Common Lisp, he is also the person behind portacle. If that were not enough, he might very well also be Shirakumo, another prominent member of the Common Lisp Community.
Ok, you got me, what is the first thing in common lisp that I should try after I install the portacle environment? go to the repl and evaluate this:
(+ 0.1 0.2)
Watch in awe at what you get.
In the truest and original sense of the phrase (MIT based) "happy hacking!"9 -
I was asked to update the whole confidential, financial database by exporting it as excel, and using Macros to edit its content. Much akin to adding one extra attribute per row.
The truth is, the table originally had 6.3k records. After updating and putting the data back to NoSQL database again, I realized I ended up creating 7k rows of data. Yet it works just perfect !
*HAILS TO ALMIGHTY FOR THE MIRACLE*
Sometimes, I still wonder where did those effin 700 rows come from, even after I skipped an excel while uploading2 -
Considering applying to a regular administrative job, where I can use just 1% of my dev skills in BAT files, Excel macros, browser automation with Selenium, and people will be like "oh man, you are like a hacker!!!"1
-
Happened to me a while ago:
co-worker: don't use (C++) templates so your colleagues who aren't as smart as you don't have such a hard time understanding your code.
me: said the guy who uses macros all over the place.
co-worker: macros have been around for years and you can expect one to understand those.
me: *tempted to start a discussion about C++ with one who started programming with C like 20 years ago and who doesn't give a fuck about learning new things*... You're right!4 -
First time I started playing with the VB macros in Word making little joke viruses to scare my friends.
Was 1997 and I was about 10 years old. Thankfully my playful streak never went past harmless practical jokes.1 -
Swift 5.9 will get huge additions to the language, compared to the current version 5.8, including type safe and checked macros much like in Rust.
And it’s still not going to be a major version bump to 6.0!
I’m thrilled to see what kind of stuff will be in 6.0 then! 😄2 -
I just can't get my head around it. How could a "language" like cmake become so widely used and popular? Let alone be the horrible syntax or the documentation which is an insult to anyone who is trying to read it.
I mean seriously??: " function_xyz( PARAM1 PARAM2 PARAM3) : for this use case A pass the keyword A and the words X Y Z, for use case B pass the keyword B and the words A B C you can also add the keyword D simply to increase the number of possible behaviours this stupid function can have."
But yeah i get it, it's free its cross platform and so on.
But how can after version 10000000.1, after adding dozens of "macros or functions" the most simplest and straight forward use case without any fucking thirdparties be so fucking difficult to implement.
And why are there for any use case 50 different ways of doing it? instead of one simple way?
Really, I just don't get it.4 -
I've seen a lot of stuff mentioned here from little hobby projects to Matrix. This might seem unreachable because it's just too utopic, but I'd really love to at least see the world using one single platform for software that would "just work™".
Like, here you have - simple glue lang, SDK with billion _useful_ libraries that also just work™ and no need to change the code too much or select an alternative function for each different platform e.g. via macros and one last wish - it'll work on every machine that's capable of running any code.
Maybe one day...2 -
React has been a gateway into the practical functional world.
Having a crack at Clojure/Om/Datomic, and then recognising the roots of functional and immutable programming that I've seen before.
I have a lot to learn.
Looking forward to grasping macros fully. Walk before I run though2 -
I was tinkering around with my linux installation and trying to decide on a new terminal to use, and I ended up compiling st (suckless terminal). On a whim, I decided to look through the source code and see how much of it I would understand.
There was a C header file called arg.h that uses the preprocessor and macros to parse argument flags and songs by setting up a switch statement in a loop, all in under 50 LoC. To use it, just wrap the switch body between ARGBEGIN and ARGEND, and that's it. The comment at the top simply read "copy me if you can", a challenge to future programmers such as myself.
It was the most beautiful, elegant solution I have ever seen. I tried to tell my girlfriend about it, but she just didn't get it. Maybe some of you will appreciate it more:
https://github.com/chjj/st/... -
Hi fellow ranters,
Its been awhile since I last was here posting stuff..
So, I've commited to my effords getting shit done in golang. And I met a lot of painpoints, and I mean...
A
Lot
Of
Them.
Anyway, most of them are solvable by changing mindset or having some macros set up for no-one-fucking-wanted bloody boilerplate code that is omnipresent fucking EVERYWHERE.. **cough**
Steering back on what I want to rant about.
We with our team have one major problem with golang. There is no standard for docs in code...
Like, Fing legit. Everyone uses notation for closest to theirs heart language, so you get inconsistent-as-fuck notations for parameters / function descriptions.
We have functions that look like
//doSth does something
and also
// doSth
// @Summary does sth
// @Description does something but in more words
// @Param
and so on and so on
And trust me Im getting mild example.
Why this language does not have A F...ING (well defined, using proper definitions) STANDARD YET?
EDIT:
bonus context: We decided that too much of our code is undocumented and we go through efford of documenting it, but everyone sees it differently, and we can't agree on one single standard... So we decided to not refuse PRs due standard, as well, nobody would ever had PR accepted3 -
been about two weeks since my rust journey begin, and i've got to say, i love it. web frameworks with static type checking; amazing, standardised package manager; what a breeze, and macros; despite stating that i don't really see them as useful in earlier posts, they are really helpful. as well, in response to the slow "cold-start" build times, it's the price to pay for top-of-the-line compilation-time error checking. rust is amazing)3
-
So I salvaged some computer that was about to be thrown out by IT because it works perfectly fine and would be a waste to lose.
The (current) problem is, there is no built-in wi-fi adapter so I had to order a usb adapter to plug into the machine.
Fortunately enough it supports Linux but cones with a cd with the _source_ of the driver in it and we are supposed to build it. Now what's the problem with that?
First problem: building needs all sorts of build tools, starting from gcc and make. Since it's a fresh install, though, I _cannot_ install those normally because -- you guessed it -- I don't have a WiFi connection, which is why I needed the bloody adapter in the first place, so I spent hours trying to fetch the binaries from the apt register using another computer and bringing them over via USB.
Once that was (more or less) successful, the next problem came around; Second problem: the instructions clearly state to run make, but there is no fucking makefile anywhere so that obviously fails spectacularly. What _is_ there are some bash scripts so I try running those.
Now, just when I think it's finally done (one of the scripts has been running for a while and seems to work) the compiler dies with an error: the fucking driver won't build for the current kernel version. And not just that, but it is clear nobody is using basic things like include guards because gcc kept screaming at me about the same macros being defined over and over due to header file re-inclusion. Like, seriously? Come on!
Long story short the fucking adapter is going back to the seller, let's see if the next one I order more civilized.8 -
My father is a psyhologist, but he has always been a computer enthusiast. Particularly, he once started learning Excel macros, and then evolved into Visual Basic over Excel, with which he built a fairly large piece of software that is now run in many Spanish schools. I was 14 or so at that time. I always liked computers, and one afternoon my father and I sat down, and we built a simple calculator in vb. That was an amazing afternoon, and I got hooked immediately. From there I transitioned to Python, C#, Java, php... And now, many years later, I am about to graduate in CS, and I am still totally convinced that this is my passion. I owe this to my father, and in fact now I help him maintain and update that old piece of software.
-
My preprocessor is just generalized kerning, the macros are variations on the single well-known proof for the Turing-completeness of GK, the type system will probably be a Prolog reskin so simple the translator can be a FSM, the type inference algo is the original HM algorithm which I don't even need to change, the core language is Lambda calculus and no more, and the backend might just be Erlang itself if my research confirms that extending LLVM until it consistently beats Erlang is unrealistic.
I invented nothing, I create nothing. All I do is plug circles into square holes and fill the gaps with play dough.5 -
Was helping out a friend yesterday with word macros.
Never did that stuff before, but thought, it can't be that hard...
It took me almost 3 hours to figure out, how to fill a fucking textbox based on if a checkbox is selected or not. was also kind of a throwback to MFC Applications (because of how bad the UI was)3 -
When you rewrite a macro 15 times before you realise that you never needed a macro in the first place1
-
Looking further into Rust, the macros are quite sexy. My first reaction was "omg really"? But then I learned that macros in Rust are nothing like macros in C++.
Again, comparing with my favorite language Swift, it feels like Rust macros are somewhat similar to result builders (formerly named function builders). Or they they have a similar purpose. Both evaluate to some type safe result at compile time and are a perfect tool to make DSLs.
But Rust’s macros can do even more than that. It’s truly amazing.2 -
How many layers of increasingly verbose macros generating calls to each other is acceptable in Rust? I have to choose between 2 and 3 but IMO the 3 macro setup is nicer because it allows shit like walking a list, windowing the items and skipping the last to be separated from the actual things that are being generated.4
-
#define AUDIOLB_EXIT_ON_ERROR(hres) \
if (FAILED(hres)) { goto Exit; }
#define AUDIOLB_SAFE_RELEASE(punk) \
if ((punk) != NULL) \
{ (punk)->Release(); (punk) = NULL; }
Looking through old audio code I wrote. Found these macros. Will most likely reuse for a new project. It works damnit!
Do you feel lucky?!7 -
Devs with gaming mice.
What hotkeys / macros do you use?
For years I've been using gaming gear with additional buttons to map various hotkeys and macros to speed up my work flow.
Let's share the use cases here.3 -
Not nice, Plug… not nice! You define a Plug Module with 2 functions (init/1 & call/2) and the result of init/1 is passed in as the second argument of call/2… but init/1 is executed in compile time and call/2 in runtime.
WHY?!?!
I can't think of any other behavior that… well… behaves that way!
It's not even in the official docs (¬_¬)1 -
Hey. Can you add excel97 vba capabilities to new office 365 ? I have a 20years old xls file with very complicated macros that i need to run.
And btw, how come a software looses capabilities over time.9 -
!rant
I keep diving into Racket (my first lisp-like), I often get totally overwhelmed by macros.
You don't know what power means until you program a programming language. -
Wrote some macros for Excel to make my job easier and decided I'd rather only do that part of my job, so I went back to school to learn to code for reals
-
So far I've been pretty lucky... except for the code some of my professors at uni used in their assignments. A couple of them had this horrid habit of giving you a horribly-written, out-of-date (we're talking these chuckle heads used the same code for years on end and wondered why it didn't work on new versions of Java), messy source file with "fill in the blanks" sections like it was some kind of Java Mad Libs book. One of them had an entire jarchive of data structures we were required to use that he'd written in the '90s and NEVER UPDATED. Another one had a script he'd written for his own specialized assembly macro preprocessor that he'd been using without update for who even knows how long. Now, we were using one of those goofy virtual machines with its own simplified assembly language, and we were on the fourth version of the program. This guy'd written his macro processor in Java for the second version, never updated his Java source, only provided a barely-working .bat script for running it, even though the department's official preference was a *nix environment, and implemented this horrid "pretty-printer" that had a regrettable little habit of eating code. You heard that right. You'd run build.bat and it'd expand your macros then send it over to the pretty-printer which would very infrequently just replace the existing program file with an empty file. When we brought it to his attention, he goes "...huh. never happened to me." and proceeded to use the very same set of programs for the next three semesters, even when the assembly simulator was updated again. I heard wails of anguish from the poor sad souls that came after me as their macro processor created program files with deprecated operations, their pretty printer printed out beautiful, perfectly-organized empty files, and the professor responded to every second of a student begging for an updated version with "...huh. never happened to me." I never saw a single bug reported to either of those professors even acknowledged, let alone fixed. Some of the Java Mad Libs were the same ones they'd started using when they first switched the curriculum from Ada to Java. Thankfully after my first year I escaped into the bliss of the next three years, which were full of *nix and C and beauty.
-
been exploring the options for cross platform desktop app, and i found :
java : both awt and swing look ugly, i really like OOP of java, and the way projects are organized is easy to scale, but i need to deploy the jdk, and the speed on gui apps isn't that great
C# : (.net/ mono, i can't grasp F# and vb is stupid) looks native on windows, not so much alien on both linux/mac, and being a java cousin is a pro, i found the Eto library for mono even looks more native on *ix than winforms
wxwidgets: for C/C++ so far this looks like the best option for total native feel and performance, but man i fucking hate C code, and this looks a lot like C code, even with proper native Cpp support, maybe i should dive deeper in it
GTK+ : did any one mention C code ? because this mother fucker is plain C with macros all over the place, it made me realize why wx is promoted as Cpp friendly, i doubt I'll use this
tcl/tk : even tho ive never wrote a single line of tcl in my life, the tk lib is the default ui for both python and ruby on all supported platforms,
and i really love ruby, and Python is Usually a joy to work with
Qt : this by far looks like the best option, proper OOP in C++, bindings for python (ruby binds are outdated), almost native look and feel on supported platforms, and even has a gui builder in xml or json/js (qml) however i bet I'll use such a thing, the building tho depends on an external preprocessor "moc" and some wicked macros, also makes working with templates a fucking mess, and the heavy dependence on QObject inheritance makes integrating external libraries a bit more tiring, the signal slot system makes more sense in python than in C++, since it makes me confused about the flow of the code
lazarus: is a freepascal implementation that looks and feels like delphi, not so much for native look and feel, but good performance and easy language to handle
electron : this fat mofo is fat, it's the slowest of all options, if i want an html app, I'll just compile a stripped down webkit and deploy that
what do you think ? and did i miss something ?17 -
Trying very hard not to slam down my shitty monitors in protest.
Was just informed by my manager that all coursework has to be directly related to my present role. Since I am not a developer than my classes will no longer be covered.
Same company that spent 15 grand just for the food at last year's company xmas party.
Even though I have already used my skills to revamp the company intranet, created macros that halved my workload and now able to understand the developer docs for 3rd party software we implement.2 -
JavaScript decided it wanted to be a Prototype based language because it needed to feel special.
Freaking Prototypes.
Classes > Prototypes3 -
this is not a solution, what the fuck https://github.com/seanmonstar/...
modern era, where a "safe" language can't even do basic bitch network calls right and then you write a retrying loop macro to get around it. yeah I had that already because I didn't have access to reqwest configurations and I think the library I was using to wrap the reqwest calls to the API was doing something wrong. turns out the fucking accepted by a damned GPT bot solution is to JUST KEEP RETRYING?!
WHY IS IT SENDING TERMINATE CONNECTION MESSAGES RANDOMLY
unfathomable. one of the most popular crates on rust. maybe they should care less about their cult and more about their ridiculous-to-have bugs
remember kids, javascript is the devil, JavaScript is ugly, messy, you have brain cancer if you use JavaScript. at least it can do network calls properly without you having to make retry loop MACROS (because the generic system sucks) all over your code!2 -
"object doesnt support this property or method"
THANKS EXCEL VBA!
VERY USEFUL
Who wants information about the line, the object name, type, or any other useful information? Yeah sure, i will track that object by placing Debug.Print till i find the line that causes this.
(its a bit my own fault, i found out how to solve the problem (or thought so) and wrote like the entire code without testing it inbetween)4 -
So fun fact! The Rust macro error
"Macro expansion ignores <token> and everything after it"
does NOT mean that macro expansion on general ignores this token. What it DOES mean is that the macro expanded to something, then the parser was invoked, and the parser stopped consuming tokens at the specified point.
In normal human speak, this means
"This token is invalid in its context after macro expansion. Refer to the generated code for concrete error."
I spent hours moving intermediate results into macro parameters because I thought the error meant that your macro cannot expand to the second half of a comma-separated list or whatever, until I got the same message about '(' which is very obviously permitted macro output and doesn't even really make sense given that it's not a token.2 -
That feeling when you decide to do something cause "it'll save so much time and boilerplate later on!" Just to have it take you all night
-
some languages completely get lost in minutiae, disposable preciousism that looks pretty but mischievously gobble development cycles. Now, there's no doubt they make for skinnier, trustworthy, low maintenance code, yes, congratulations Haskell. Although, you see, Haskell, not every language out here is defacto an academic one. You hear me, Rust. So, for fuck sakes, Rust dear. You've macros, sis, you don't need a new languages feature every other naughty day. You need prototyping speed, not more complexity. I'm not complaining not really.... It's your fucking language server, your compiler... They can't take this shit no more. Have you seen their overeating problems? Please, Rust, stop picking plastic surgery instead of make-up and use macros instead
--
and google, dear, your auto completion sucks ass1 -
Can someone please explain why LISP and LISP inspired langs breed the most insufferable twats?
I mean, just look at this, I'm trying to learn Clojure and happened across this site/slash book: braveclojure.com
Some highlights:
>Chapter 7 - Clojure Alchemy: Reading, Evaluation, and Macros:
>The philosopher’s stone, along with the elixir of life and Viagra, is one of the most well-known specimens of alchemical lore, pursued for its ability to transmute lead into gold. Clojure, however, offers a tool that makes the philosopher’s stone look like a mere trinket: the macro.
> The -> also lets us omit parentheses, which means there’s less visual noise to contend with. This is a syntactic abstraction because it lets you write code in a syntax that’s different from Clojure’s built-in syntax but is preferable for human consumption. Better than lead into gold!!!
>Chapter 10 - Clojure Metaphysics: Atoms, Refs, Vars, and Cuddle Zombies:
>The Three Concurrency Goblins are all spawned from the same pit of evil: shared access to mutable state.
>In fact, Clojure embodies a very clear conception of state that makes it inherently safer for concurrency than most popular programming languages. It’s safe all the way down to its meta-freakin-physics.
And look at this: https://quora.com/Why-are-Lisp-prog...
It reminds me of Python before the data-science craze and its adherents thought IT was God's programming language.1 -
It's been for a while that I'm dreaming about food ordering company where I can choose from the different foods in the way of: " I want 100g rice, 150g brokkoli, one baked potato...". Probably the calorie would be automatically added up maybe even the macros. The assembled packages for a week will come every day or single order would be possible as well. It's a so beautiful idea. Here we have some similar companies but they deliver raw stuff so there's still a hustle to cook it... And of course there is the fastfood nightmare... Imagine you could eat stuff you assemble yourself, you know the calories as well and there is no overhead of shopping and cooking. Basically every single all-you-can-eat could implement the idea. I'm really sorry that there's no such service. :( One day if I get really angry I will start it...1
-
I'm not a data scientist but lately I've learned NumPy, Pandas and now I'm learning Matplotlib and Seaborn and after years of Excel the improvement is astounding.
Excel is far easier to approach (I casually use it since I was 6) but once you need to do more advanced stuff it requires a lot of tricks and workarounds which needs to be memorized and are hard to find just by reasoning or are straight impossible without the use of macros which introduces many compatibility issues.
Pandas on the other hand is harder to approach but once you learn the concepts between its basic data structures you can do a lot with little "Google-Fu".3 -
Rust's Result is definitely the best error-handling experience I have ever had. I started working on some Typescript stuff after using Rust for a few weeks and had to implement my own Result. It's just so easy and clean that it leaves exceptions in the dust. I don't think I can live without Results anymore.
Now I understand why everyone loves rust so much. It's just so clean, safe, easy (after you get the hang of it) and so fucking powerful (procedural macros are awesome).
I want to use Rust everywhere now <35 -
When I was 7, I got my hands on an Amstrad CPC-464. This was my first exposure to code, copying examples out of the handbook. Shortly after that my school got their first IT suite, with thirty machines running Windows 98. I remember lunchtimes spent playing ZipZaps, a game that shamelessly capitalised on the first Fast and Furious films. I learned how to create macros in Office, and after getting a machine at home with Windows 3.1 I also learned some basic DOS. When I was 12 we got our first XP machine, which I spent hours on with MSN messenger and mucking around with scripts. That machine eventually succumbed to my brother repeatedly powering it on/off, something I still kind of hold against my mother to this day.
After going into care, I bought an old XP laptop from a friend, a machine that I used extensively. I mined my first bitcoin on that machine, bitcoin that could have made me a rich man today if I had only taken backups seriously.
My next machine came with Vista, which was upgraded to 7 shortly afterwards. This is when I got a bit more seriously into code, contributing to a game written in C++ (Armagetron Advanced, if you're interested). I also learned a great deal about automation using this machine, and when I got my second desktop machine at 18 (which at the time was still extremely out of date), I built my first working web server with IIS. I've been through four desktops since then, one of which just about survived a house fire.
Now I run a company of my own, doing development work at a lower cost for social enterprises, and developing a SaaS platform that will eventually make me a living all on its own. This year I hope to finally stop having to worry about debt, income, where I'm getting my next meal from and when I can finally be self sufficient, almost seven years since the care system spit me out after conveniently forgetting to tell me I could have stayed there until after Uni.
I am proud, though, of coming so far with no college or university degree. I'm by no means an expert, but I'd call myself proficient enough in a couple of languages to be capable of making a career of it. -
Make good progress on Orchid, my pet project, the functional programming language that has no syntax apart from what the macros define. A type system, an interpreter and provisions for a compiler would be nice for a start.
Finish my bachelor's degree on some unspecified part of Orchid, at the current pace that would most likely be just the Hindley-Milner algorithm.
Don't get fired from the gem of a job I have, and move to London because I'm a city rat and the only way I can sleep well apparently is with a tram or drunken people screaming under my window.2 -
Looking back I realise I had Lego Mindstorms. That had basic drag and drop programming for the robot. I could say I started there, but really only messed with it for my pretend play. Then I did data entry in HS. Never messed with until my wife made me pick a major so i would stop being a professional student. Started C++ in college. Where I work uses Excel, so I have been messing with the macros using VBA. Currently building websites for another class.
-
I was working as a lab tech/data analyst and wrote a bunch of macros to make my job less monotonous and decided I'd rather code all day than make graphs in Excel. A year-and-a-half later, I was 1 internship away from 2 associates degrees, so I quit my job and got the one I'm doing now. I love the work, but wish they'd pay me more.
-
Am I the only one that in order to keep C code clean has a horrible file with macros and util functions?4
-
One of my collogues seems to now think Excel macros are a good thing and something that should be used on the reg.
I don't like this. Crappy in-house software is my department. And I won't use F***** Excel for it either2 -
That moment when your boss doesn't allow you to use SQL but complains about how slow are your macros on VB Excel
-
In order to make PRs/codebase more readable and 'arranged', I introduced common formatter in team since people were using different IDEs.
Still, there were missed PRs coming. Turned out people aren't used to formatting. So I created macros for different IDEs, to format on save, when keypress 'cmd+s' happens.. Found out this is common practice in many places.
Still, PRs are coming messed up...
Turned out people don't use 'cmd + s' at all... they use IDEs' auto-save support.
Now I'm out of ideas... Any help?2 -
Needed to write excel macros to make my job easier. Somehow I went from that to web programming, and I haven't stopped since.
-
That moment when you discover that Vim has macros, tag support, marks and other cool shit you didn't know about all these years in Uni... well, at least I knew about plugins lol
-
I'm gifting a custom macro pad built using a Raspberry Pico to my brother. I don't want him having to reprogram the pico every time he wants to change macros. Do you know of any program that allow him to change it easily or do I have to create my own?
Thanks!1 -
What keyboard macros do you guys use when you have programmable function keys?
Also a funny little story that I just remembered. My brother used to have a key that would type his password cause he was THAT fucking lazy. He was writing an NPC for a private Ragnarok Online server that I was testing with a couple people. Apparently he had hit that function key in the middle of an announcement command.
So basically, everything went as planned, but then while announcing an event, it would announce his password to THE ENTIRE SERVER. Lucky for him, there were only three of us online at the time, and we told him as soon as it happened.2 -
What the hell am I!? I wonder if you guys can help me...
I've been programming most of my life but I've never actually been a developer by title or job role. I thought maybe if I list what I do and have done someone here could help? I'm sure there are more of you in a similar boat.
- C# and VB dev for some quick DBMS projects to help me understand and mine databases and create a nice simple view for project teams to show findings from the data to help make certain decisions.
- Automating a lot of my colleagues work with Python and if very restricted then just VBA macros in Excel and MSP. This did also include creating tools to gather data during workshops and converting the data for input into other systems.
- Brought Linux to the office with most team members now moving over to Linux with the peace of mind to know that though they do need to try solve their own problems, I can help if need be.
- Had to learn AWS and then implement an autoscaling and load balanced data center installation of a few Atlassian toolsets.
- Creating the architecture diagrams documentation needed for things like the above point.
- Having said that, also have ended up setting up all the Jira/Confluence etc. servers we use and have implemented so far whether cloud (Azure/AWS) or on prem and set up scripts to automate where possible.
- Implemented an automated workflow view in SharePoint based on SP list data and though in an ASPX page, primarily built in JS.
- Building test systems in PHP/JS with Laravel and Angular to help manage integration between systems. Having quite a time right looking into how to build middleware to connect between SOAP and REST API's, the trouble caused more by the systems and their reliance on frameworks we're trying to cut out of the picture.
- Working on BI and MI and training a team to help on the report creation so that I can do the fun creative stuff and then set them to work on the detail :)
Actually it seems safe to say that it seems that though I've finally moved into a dev office (beforehand being the only developer around) I seem to be the one they go to when a strategic solution is needed ASAP and the normal processes can't be followed (fun for someone with a CompSci degree and a number of project management courses under the belt... though I honestly do enjoy the challenges)
But I always end up Jack of all but master of, well hopefully some at least. let's not even get started on the tech related hobbies from circuit design and IoT to Andoid / iOS and game dev and enjoying a bit of pen testing to make sure we're all safe at work and at home.
As much as I don't like boxes, I'm interested to know if there is in fact a box for me? By the way, the above is just a snapshot of my last two years minus the project management work...2 -
Aaaaw, man, feels good writing some macros!
129 loc turned 30 😱
---
and when I keep it all primitives I get instant feedback on what the fuck my code really looks like2 -
Folks should give Clojure a look. It may be Lisp on steroids. Need to wrap your brain around macros to use it properly. It's interpreted so it must be slow, riiight?
Not so, er, fast.Ran across a discussion re C++ vs Clojure running data acquisition at 100 MBPS or better. Bottom line, original Clojure code was sped up 76.6x and blew the doors off the C++ code.
Be warned, a number of optimization steps were required. The end result blew me away. Had a link I wanted to insert but it's not on my phone and I may have re-installed Linux wiping it out. Have looked for the post for hours, no joy.
https://clojureverse.org/t/...6 -
huh, o1 preview AI model understands ... rust
bruh what
it's like telling me typology theory and I don't think it's wrong
also it taught me procedural macros. I've been looking for someone who knows how to use them for months. iiinteresting
better than the humans on the internet frankly
and the other AIs can't do rust at all past just copy pasting docs they found somewhere. this AI is literally theorizing alternatives and hacking the system... offers multiple long options for every question, knows constraints I didn't tell it like 4 layers deep into a solution
it acts a lot like I did when I was morbidly depressed though. kind of makes me uncomfortable. it's literally keeping things to itself until you acclimate it through the conversation. I mean I guess the other ones needed to be "situated" in their contextual clouds as well so maybe it's just doing that more4 -
Bought a stream deck on prime day with the intention of using them for macros. Now it has arrived, and I realized that I don't have a clue what macros to make.1
-
Diesel is an incredibly beautiful ORM, but the size of the DSL means that despite Rust's state-of-the-art IDE integration I'm back to editing code, waiting for it to compile (as soon as I stop typing) and changing random shit if there are red squiggles.
The error messages are totally unreadable, all in-code references point me to meaninglessly generic abstractions, and a good portion of the impls are generated by macros so I can't even look at an actual final definition.
The confidence that if it compiles it'll run is stil there, but nothing else.11 -
Do you think this product would be cool to use for macros in ex. PyCharm or Visual Studio Code? How useful do you think it would be? https://amazon.co.uk/Leslaur-Design...3
-
Have an object that uses a macro to define its function bodies. I needed to interface to that object in a different way. So I wrote and object that calls functions on that object and presents a different interface. I used macros to define the function bodies...
-
Not a function but X macros in C. Using them makes the code significantly more manageable and cleaner
-
The more I work with programming languages the more i feel like it's a big mistake to build functionality into the language. Especially functionality to extend the language, we developers have no fucking clue of how to write DSL languages that interact well with other developers code. We can not deal with the power!
Keep languages simple and extensibility very restricted, domain functionality belongs in libraries.
Also #deathtoframeworks5 -
rust attributes should really have docs...
tf is "no_mangle"
and now everyone and their mother checks 12 books and 3 AIs to guess what it means because it has no docs
also all of macros is frankly confusing4 -
Looking for good literature regarding CRUD. Basically i want to have a list of possible dataoperations nowadays. And the relations to commands like Copy, Paste, Search, List, Undo Redo, Macros etc. Any suggestions?16