Am I an "old hand"?
2017-01-18 09:23 oldhand [permalink]
Am I becoming an 'old hand'? Every time I see someone that doesn't have done as many years of work in Pascal, ask something about generics, I'm troubled again by this generics thing. I don't use it (much). I don't need it. I've been perfectly fine all of this work without them. Yes there is some hype nowadays about functional programming, but there's a grand glacial movement at the base of it: stong type systems. It all started even on the big metal, where some bright minds had the sense of taking writing logic into a domain of itself with a gentle nod to mathematics, statistics and other adjacent domains. And a lot of great work was done in this domain. A lot. Some great names that now stand on their own came forth.
What's left for us to do is try not to repeat ourselves too much. One way is keep a look-out for patterns and in new projects, know when to apply which one. Or even better, when to switch to another one. This, I think, is where it's starting to get really tough for the younger generation. There's a lot of base-knowledge to cover, some of it is superceded or obsolete, but we can't replace it with studying patterns. I've seen newbies take it on as law, as if it's forbidden to deviate from the design even just a little. Attacking establishments on the base of their deviations from a pattern. There's something to say about attacking the establishment, but blind fury will get you nowhere.
So this generics thing... It also is in danger of being percieved as a rule, getting over-applied. As if the one true way is using it everywhere or as often as possible. Which is strange from where I stand, since I still see it as a convenience, where you can save on writing bits of code that would otherwise be painfully similar anyway. In operation the work would get handled by this extension to the type system, checking things for you in the background, making sure everything fits. But in the end the things that need to happen, occur much in the same way as if you would have written all those specialisations out in full.
That's why, as it turns out, I don't use them all that much. Perhaps it's also because of my fading belief in the object-oriented way. That too was presented some years ago as the way to go. Everything was supposed to be objects living on the internet. But it too kind of degraded in my view to a convenience, only one of the ways to manage the things inside of your program. Luckily before any of the ORM craze could tinge me. It makes you look around the horizon, in the past where you did more with arrays and pointers, and sideways where others pass messages around all the time. For now I feel like I'm stuck here, waiting for the ground to crack open and offer a new middle ground between interfaces, pointers, traits, channels, monads, and all of the above.
But that's just my humble opinion. I can't tell for sure what the next 60 years of programming machines will bring us.
Consider Advice (restored)
2016-12-16 21:15 i1459bis [permalink]
→ Consider Advice
I just noticed these went missing since I converted this website to a 'static blog' kind of thing. So I delved up the old backups and fetched these back from the old mdb, and put them up here.
more unsolicited advice
2016-09-15 14:49 rant [permalink]
Make it look easy. Don't let any of the hard work you put in show. Hard work is what you put in onbeforehand, or need to afterwards just to keep up. So start early. Incredibly early, just because then you can still hide your beginners mistakes. Don't believe the crap the others are selling. They don't know. People that know won't just tell you. You could ask them, but in general they won't feel like telling you. Unless you can show you're determined to make it work. Resolve is currency, it buys you stuff. Just keep sure you buy the right stuff from the right people. People tell you to commit, but sometimes you need to let go, especially when it's clear it's not right for you. Be sure to break cleanly though, if you part rough it might cause more trouble than it's worth. Sleep. Right before you get tired the part of the brain shuts down that picks up what's going wrong because you've been up for too long. Wrap up slowly, calm down, drink, eat, wash, then sleep, enough. There is no sleeping when you're dead. Anything looks much better with a fresh head. Don't fear change. Change make a difference, and that holds people down. Just learn about what is going to happen, whether you make a change or not. Use that to keep control, to stay ahead of things. This one is hard: don't get angry. If you get mad it's because it's not clear why it's wrong. Find that out first. Check if you're even sure what is it at all. Then instead of getting livid, attack the misunderstandings. There are always misunderstandings. Even perhaps with you yourself, be sure to check. That's about it. One more thing, tough: have fun. Not always, some things are really tough. But as much as possible: have fun.
The order is an order is an order.
2016-09-02 15:19 anorder [permalink]
Then there was the day I decided to redesign. I had a hard time explaining. Not only why I thought a redesign was needed, but what is was exactly that I would do differently in this new design.
There would be a small distance between the data of the orders and the rest. The design would center around the idea that an order is exactly just and only that, an order. A request from a customer to have us do something. The distince between order-data and the rest wouldn't be large, it would more be something like a conceptual demarkation. In practice the order-data would be insert-only. A new order is registered, and after that read-only. This is easily explained to you, but caused shockwaves over the entrenched toilers of the company.
So to get closer to the common root of a great number of small problems, I started a design with just this, drawing up a model of reality where this is the first fact to note: the fact that an order comes in. When, by whom and for what. Not that the order is accepted. Not if it is payed for or not. Not if it's covered by customer credit or not. Not that it's cancelled or completed. Register different facts in different tables. Back to the books. Back to the 16th century penwright toiling in candlelit accounting books.
I sometimes joked that serious companies would require a stamp and signature to transfer this or that between departments. And silently I hope some still do. And even if none are left, it's up to us to see the romance in it. It's man-made structure to guide a man-made process, but it's structure and process none the less. Things break down swiftly when those go.
"What will you do?"
2016-03-11 11:50 whattodo [permalink]
"I'm trying to decide between making a big change for a small number of people, or making a small change for a big number of people.
What I dream of is making a big change for a big number of people, but that's everybody's childhood dream, isn't it?
Then again, most people that did make a big change for a big number of people, were only trying to make a small change for themselves."
2016-03-08 10:27 20160308i [permalink]
Nu moest ik toch even lachen met deze: N-VA: "Turkije hoort niet thuis in EU. Nooit" Zou mijn voorspelling van vijf jaar terug dan alsnog uitkomen? Dat ze Europees gezien het zichzelf onmogelijk gaan maken?
De laatste dagen vroeg ik me al af wat er gebeurd was dat ze in Brussel plots dikke vriendjes spelen, en zelfs niet-Erdohan laten zeggen dat ze er echt wel bij willen. Ah, een gigantische stroom oorlogsvluchtelingen natuurlijk.
Even terzijde, jammer dat ze in het nieuws er niet in slagen een juist beeld te geven van de juiste mix Syriërs-Irakezen-Afganen-Afrikanen-etc, maar dat is dan ook een moeilijk geval, zelfs voor de betrokken diensten ter plaatse.
Maar Turkije dus, en de EU, ik ben aan het aftellen tot wanneer het woord Cyprus eindelijk valt. Waarschijnlijk na ze iets in de vorm van een akkoord hebben over wat ze voor (niet met!) de vluchtelingen gaan doen. En heel misschien valt zelfs eerst nog het woord Koerdistan. Soit, ik hou nog even deze goed in de gaten...
2008-07-03 21:19 advice [permalink]
Ever since learning about the existence of the Oblique Strategies, I have feelings of recognition with some of the things that dwell my mind from time to time. I'll have a go at collecting them here.
(Some related links:
Simon Tatham: How to report bugs effectively
Jacob Nielsen: Are developers people?
The Pragmatic Bookshelf: List of Tips