Details
-
AboutI'm mostly an unpaid folk musician who passes the time making a living from programming.
-
Skillsc++, linux, Objective-C, smalltalk, lisp, Haskell, TDD, infosec, other stuff
-
LocationKenilworth
-
Github
Joined devRant on 9/15/2016
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
-
I hope Scott Meyers is learning Swift, because it's gaining so many edge cases and keyword-level features that programmers who use it will need an "Effective Swift" book to tell them which language features to avoid to get their work done.
I wonder whether it will survive that complexity as C++ did, or collapse under the weight like Perl. -
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 -
My approach to writing C++:
1. Write a test
2. If I don't understand the compiler errors, give up.
3. Run the test.
4. If it segfaults and I can't work out why in gdb, give up.
5. Make the test pass.
6. If the result is ugly and it breaks when I refactor, write a different test
7. Anything that makes it this far can be shipped. -
I have no problem reading constructive criticism of systemd. It has its problems. However, sometimes those critics try to claim that init run levels, or rc scripts, with their arbitrary meaning and the Bourne shell's ad hoc syntax, are a perfectly acceptable solution to the problem that don't need replacing.
I've never seen an OS startup mechanism that tells me, while the system is up, "the change you just made will make it impossible to bring the OS up if you restart it". And that's a real problem.1 -
I know I'm writing the correct integration tests when each one I add uncovers a new bug.
Still, it would be nice if just one of them passed first time.1 -
A friend just asked his colleagues why IntelliJ can't do reverse debugging and was told that it's impossible. It's not impossible, gdb does it, pdb does it. Probably other debuggers do it too.
Why do many devs believe that if they haven't heard of something, it doesn't exist?1 -
I accidentally removed an object file from the linker phase of a library we use, by messing with a variable in the Makefile. This meant that the library was completely unusable when loaded into a binary.
All of the tests in the library's build process still passed, though. -
Modern hardware is rubbish. I recently donated a load of computers from the 1970s and 1980s to a technology museum, they all worked well and could still be used and set up in the museum's displays. My more recent stuff, from the last few years, I decided to sell on eBay. Some of it just had to be thrown out, mostly due to non-replaceable batteries that would no longer charge. What nonsense is this? Why is it easier to use a 35-year-old computer than a 3-year-old Chromebook or 5-year-old iPad?5
-
It seems like since I joined devrant I've seen a lot more jokes at the expenses of girlfriends, mothers, blondes etc than I did in other online programmer communities, perhaps since Usenet.
Isn't this the true problem with the field, the underlying issue that leads to many dev rants? That we, as programmers, aren't quite ready to empathise with people who aren't quite like us?3 -
People who are too cool for old-and-busted OOP, but want to build microservices: networks of independent, encapsulated systems that look after their own data and communicate by passing messages.
Yup, that's totally not OOP you're doing there, kiddo. -
The first two stories on slashdot's homepage are:
1. Google releases Angular 2, breaks backwards compatibility
2. Apple releases Swift 3, breaks backwards compatibility
If you use either of those tools, why do you put up with this? When did software engineering stop being about building useful or enjoyable things for our customers, and start being about doing thankless make-work for Silicon Valley billionaire companies? Is this the legacy we want to leave to the world?4 -
If I could make sure every programmer I worked with now and in the future read one book, it would be Working Effectively With Legacy Code. I don't care how passionate you are about clean code, craftsmanship or other platitudes of the industry if you can't tidy up a messy codebase.
-
Step away from the computer. Sometimes I go and lie on the grass outside the office for ten minutes, and come back with a better idea of what I'm doing. And with a little more energy with which to do it.5
-
Until I started posting on here, I was the only thing that was working on my computer and the only thing that I expected to work on my computer.