AboutI became a dev because I'm sick of using buggy, unstable software, and the internet said I could make my own buggy, unstable software if I just tried, so here I am. I also like retro computing.
Joined devRant on 6/27/2017
Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
Alan Kay. Helped develop Smalltalk which was used to program the computer at PARC which inspired Steve Jobs to make a GUI for Apple systems. Also came up with the term OOP.
I admire Kay's thoughts and his idea that "the computer revolution hasnt happened yet." And his ideas about educating kids with computers, and inventing domain specific languages to keep codebases as small as possible.
Smalltalk programs can also be edited while they are running and the dev gets updates in realtime.
Tonight I resorted to using a hack to complete a requirement by a deadline.
How do I purify my soul after this?6
RIP my sanity.
Devs keep adding bugs along with their features.
I go into work each day not knowing what is going to be broken.3
What Linux-compatible GUI applications take advantage of extended file attributes? I'm looking to organize my files using extended attribs but web search is coming up with nada.
There are a few Mac apps that can do this.1
OOP seems in many cases really to be OOOP:
Obscured Object Oriented Programming: or, how to code in such a way as to make things as cryptic as possible for others to decipher. Examples:
- Methods not taking args because the desired arg is actually a property of the class, set with a "setter" by another class
- Protected/private status for vars and methods to block other devs from using the class how they wish, and only the way the creator wants
- Initializing a var as null, conditionally setting to the desired value, then littering the codebase with null checks and "isset" and wondering why there are so many bugs
- Have varying implementations of getters and setters so as to be totally unpredictable, where setters' implementations range from a basic "store x" to 700 lines of logic and db lookups, and the same for getters
- Break general implementations of things by creating references to commonly used objects, then doing operations on those references, making it impossible to text search all implementations of a method/class
If you aren't using at least these 5 antipatterns, you're not doing OOP right.10
Sup with all these people in the office arguing that writing documentation is pointless because it will just become out of date? I even heard one dev say it'd be so problematic that the company would need to hire someone full time.
That sounds like BS to me. Sounds like some people culturally think documentation isn't cool. That maybe they don't know how to do it.
So, I'd like to hear opinions on the topic. Mine is that documentation is useful and even if it gets out of date, it provides some value.
What's better: out of date documentation, or no docs at all?9
Last night I finally dug out the hardware I ordered to replace my iBook g3 clamshell hard disk with a compact flash drive. I got an ATA to CF adapter and an industrial 16GB CF card. The spinning HD of the laptop was insanely loud and I wanted more storage space and hoping to extend the short battery life a bit.
I had a torx kit from when I had swapped out the display for my 2009 imac, and was doubtful I needed them to service this thing from '99. I did quickly run into some torx screws but most were Philips.
Saw that the torx screws in the iBook were better quality case screws than the tiny Philips screws Apple used for my 2008 Macbook.
Most interesting thing about taking apart this laptop from '99 is it had no dust in it.
Boots and runs absolutely silently.
Went online on my other machine and found a huge archive of Mac Classic games.
Spent an hour and a half playing Sim Farm in 256 colors.10
Working on my first feature at work involves adding on to a massive legacy feature. I come from TDD & functional programming. This code is old school OOP where naming is unclear, functions are hundreds of lines long, and even though i have Xdebug to step thru the execution, every day that passes I dread standup because I feel like an incompetent fool more and more.
Asking for help really isnt working because the 1 person who wrote the code X years ago is a senior dev overloaded with his own new features to work on.
Feels like I'm drowning, even though I know that I will get it done, somehow.
~800 LOC all starting the indent from the edge at col 7.. had to select all, switch editor tab size to 1, shift them all over to start at col 6, and pick through the rest to make sure everything is indented evenly.
Looks like someone's IDE started the code indent at the same level as the end of a block comment.1
Joined a fantastic small software company. I love the team. Office is beautiful. Benefits are stellar. Commute is very short.
Codebase is legacy. 15+ years old. No unit tests. Files of 10-15k lines, no comments/useless comments. Inconstistent file locations/structure patterns. unclear/not useful variable names. Not using Git.
I need tools and strategies to thrive and do well. I know Martin Fowler has a book on refactoring legacy code. I'd also appreciate any mindsets you all have for thinking about working with legacy codebases.3
Somebody set up automatic versioning for builds and the builds keep failing because the versions keep getting bumped. and my sanity is gone for the night.
Shit needs to Just Work(tm) and at least give a clue as to how to fix it in the message.
Back to the black hole that is Jenkins documentation.
Need to run my Python app on a server with no internet access. Fine. Windows machine. Fine.
I'm developing in Cygwin in Windows. Damned nearest thing to Linux, development is a lot easier.
Turns out Cygwin is its own build environment. Fine, I switch to Power Shell, install Python, set up virtualenv, pip install everything.
Copy entire repo folder to target system. Copy Python installer. Install 3.6 fine. Create virtualenv in copied folder. Run python, pip modules are all installed. Fine. Test run works.
Run my shit. "No module named...." It wont see my submodule.
I wont even tell you what a fucking pain in the ass it is to try and convert Python scripts to exe files. This shit does not need to be so damn complicated.12
Inbox: 1282 of 3561 are unread
Deleted items: 41335
92% of emails I receive are irrelevant to my work. Most of them are automated system notifications as a result of being a member of six or so groups. I am guessing no one else is reading them either. Too bad about all that cloud storage getting used up with virtual confetti.1
Any one here use Pony? https://www.ponylang.org
It seems to have a lot going for it and is active. I am most interested in the "capabilities" security aspect, I have watched a few talks about it and was looking for languages that employ it.
Thoughts? I mainly code in Python and am looking for another language that will expand my thinking and expose me to new paradigms. (Squeak and Lisp are also in my list of prospects).6
Spent the better part of the last hour banging my head on the wall to get a regex pattern to match scraped content in a batch of files. Turns out my pattern was good all along, the files' structures were inconsistent.
My head has recovered but the wall will never be the same...
Fuck ads, fuck images,
Fuck popups, fuck bloat!
Screw stylesheets, screw webfonts,
Screw modals that float!
The Web's bloated and broken, I regularly thinks,
That's why I started browsing again with Lynx.
Download pages in an instant, without pics,
Browse the full article, no "Read more" JS tricks,
Just blocks of text, direct from the writer,
Text-only browsing is megabytes lighter.4
I never trust any commit in other people's libraries with the message "misc changes" 🧐
But in my own repo .. 🤫1
Found out the enterprise app for which I am writing Python code is interpreting it through asteval. Which means no more classes, no imports, no decorators, limited built-ins, and limited code testing strategies. 😰
Burn my own harvest? Don't mind if I do! Goodbye code which wasn't half bad. The thing which comes to replace you will be written of in horror stories.. 👾
On the flip side, a new software design challenge! 😅
Me, week 2 at new job, meeting with a separate team of fellow Python users: "Hey what software tests do you have for this? I am interested to learn your testing structure."
Dev1: "We don't really have any."
Dev2: "I have a Ruby script that tests this one thing."
Dev3: "why did you do it in Ruby? Why not Python?"
Dev2: "oh well Dev4 started in Ruby."
Me: *this is going to blow up but I am too new to tell them what to do*
Last week, these guys messed up 500 files in production with "undefined" in the filenames. 😣 I think it's time to introduce them to tests...1
The most exciting part of my morning was accidentally discovering how to easily crash Outlook in Win 10:
1) Use nice MS ergonomic keyboard
2) Open Outlook
3) rapidly press the friendly arrow-like buttons below spacebar a couple of times
4) Outlook crashes
5) Giggle sadistically and a bit sadly because this kind of error will never be fixed in this lifetime, and resume working
Bonus step: Resist urge to press these magic buttons in IDEs
RIP the sanity of iOS 12 augmented reality devs in one year from now when Apple ships a boatload of unannounced breaking API changes, and says no backward compatibility for iOS 12 apps on iOS 13 due to "experience optimizations."
Thank you open source community.
Because of you I can have a terminal app on my Android and browse the web without all that nagware.
Thousands of devs collaborating around the world. There are more amazing things to do than use Lynx, but you know, that's all I wanted for now, and thanks to freely shared software, I could.1
You have version
Would you like to upgrade to version
I just fucking need a method that returns the data from a fucking API call in NodeJS.
Why, two fucking hours later, is this shit not done, when in Python, this would be a two-minute job?
And let me fucking add that "console.log" in an example of async code is FUCKING USELESS.9
Would it be viable to hire a dev to make a shell utility to bootstrap Linux onto a tablet, given that the tablet vendor published the kernel and device image source? Any idea how much a project like that should cost?
What are going to be the project requirements? Should I plan to provide a tablet for development?
I don't wanna import a Linux tablet, I don't want devices piling up in my house, I want Linux on my tablet even though it's unsupported.
Nvidia shield tablet (not Tegra, but original), FYI1
My new software dev mug that I designed for myself. It's got bugs on the side, because, y'know, bugs.
"What is a bug but a feature unloved?" 🤔1