4 ms·
Great memories. Delphi was my first programming language. I learned it from programming magazines I used to buy when I was about 17 years old or so. My dad ha
by midrus 6y ago
Great memories.
Delphi was my first programming language. I learned it from programming magazines I used to buy when I was about 17 years old or so.
My dad had a small supermarket at that time, and I remember the first useful program I built in my life was a small application to scan discount coupons he used to accept. Those coupons had a barcode and I discovered the hand scanners we used were just doing keyboard emulation. So I wrote an application in Delphi that would allow my father to scan all coupons at the end of the day and then print a sheet with a table of quantities, amounts, subtotals and totals of the money he had in coupons... something he was doing by hand before this. He was so happy with this program.
The program itself was very, very, very shitty, but it worked well for him. For example, at that point I didn't even knew that arrays existed, so all the logic and multiplication was done manually, like label43 = textInput25 * textInput24 * 0.1.
I also remember that, in order to send the form to the printer, I wrote code to go control by control, change the background to white, the border to black, calling something like form.printForm() and then restoring all the colors. This caused a horrible flickering when printing... but hey... it worked!!
The best memories I have was that probably, this was the first time I had that "feeling" of having built something useful to somebody. And certainly the best moment was when one of his suppliers who also accepted those coupons asked us for a copy of the program. Great times.
Some days I feel like I've never have built something as useful again since then .
- bm98 6y ago>The best memories I have was that probably, this was the first time I had that "feeling" of having built something useful to somebody. And certainly the best moment was when one of his suppliers who also accepted those coupons asked us for a copy of the program. Great times. And then you go off to college, and one day the program stops working because of one problem or another, and they call you in the middle of studying for final exams, and that's when you learned about technical support and technical debt and all the things that make programming less fun! Some people have recurring dreams in which they show up to school or work in their pajamas... my recurring dream is that some program I wrote in high school is still being used twenty years later, and they come calling because something broke...
- ivanhoe 6y agoAnd one day you learn about charging yearly support fees, and that makes your dreams of someone using your app for 20+ years much more pleasant...
- mdip 6y agoYou and I sound like we had very similar childhoods . . . I wrote a tool that managed a bunch of information related to the AP Computer Science exam[0] which my High School continued to use for 10 years after I graduated. I had received a call on it once, five years after I graduated, from a guy filling in for the teacher I wrote it for and I ended up working with one of his students to figure it out ... while at the Atlanta airport, traveling for work. :) [0] I don't recall the details, but it was a surprisingly involved text-based pascal program.
- curiousllama 6y agoI'm gonna be honest, if I'm just sitting in the airport with not much to do, this sounds like fun. No pressure, just taking a call and debugging an old script, with a chance to give a kid a good story/learning experience... "C'mon kid, I had it working for 5 years and you broke it? What'd you do!" :)
- mdip 6y agoOh, man, the only thing better would have been if one of my colleagues was there with me... I was very young in this job (19, first real job, next youngest was 26). Waiting on my bags, traveling for business as a 19-year old kid and fielding support calls for software I wrote on the side. Even without any witnesses, it felt pretty damn awesome. I remember the incident very well because the flip side was that I was scheduled to work at the switch site in Downtown, which meant I was staying at a really nice hotel and besides the software issue, I had a much more pressing problem of Northwest Airlines[0] having managed to lose my bags on a direct flight and I had failed to pack the usual emergency items in my carry-on[1]. [0] Yup, it was that long ago. [1] Someone told me "they don't lose bags on a direct flight". Very wrong. Lost them on the way back, too -- same fscking trip. But Detroit opened a new terminal and was having a "holiday baggage handling crisis"; after a few weeks they compensated me and sometime the following summer my bag appeared on my front porch. The "crisis" only affected international flights, so I wonder if my luggage had a better trip than I did. It was seriously more than 6 months lost.
- zuzun 6y agoOh, this brought back memories of the first useful Delphi program I wrote, back when I was a teenager: The basketball club of our city held an online popularity contest, where the winner would receive free tickets or something. My friend desperately wanted to win this competition, so I wrote a Delphi program that would record the mouse clicks it took to perform a single vote and then repeat them forever. All of our peers received a copy of the program and in a coordinated attack, we opened the site in our browsers, taught the program to vote and left it running until my friend rose to first place. Sadly, he ultimately lost the competition, because another fan was better at forging votes. He surpassed us with ease. I guess he just hammered the server with HTTP POST requests, something I had no clue of at the time. In the end, the number of votes on the first and second place were laughably off the charts. Years later, when we were adults, my friend became friends with the owner of the club, who invited us to a game. There, my friend introduced me by telling him this story, which I had completely forgotten. The owner had a good laugh, but I think I blushed a little.
- neverartful 6y agoKudos to you for making things work when it was all brand new to you. You demonstrated a lot of creativity and ingenuity!
- cwbrandsma 6y agoI have had nightmares about stuff like this. I get called in to update an in house program, start looking at the code and exclaim “wtf is this? Who wrote this?”...and then enters a sheepish looking 17 year old. Now I have to back track “hold up there...is this your first program? Really? Good job”.
- bluedino 6y agoTry when it’s a 44 year old and he’s been there twenty years, leaving his fingerprints on every process “We have to listen to Dave, he built this place! We can’t replace his code!”
- Ma8ee 6y agoOr when you complain about some really horrible legacy code and then it comes up that is written by your new tech lead just a few months ago.
- CRConrad 6y agoOr, worse: By yourself a few years ago.
- artificial 6y ago"....aaah this was my early functional phase."
- mtnGoat 6y agoyea i learned about that early on, and the hard way... first day i was told by the VP to review a bunch of code and share my thoughts with the team next day. all the code that, IMO, had the worse issues, had all been recently redone by the guy who was adjacent to my boss. that sure got me started on the wrong foot with that guy.
- spiralx 6y agoDid that with the CTO. Don't think he was impressed. Later on I got the sack from that place.
- HeyLaughingBoy 6y ago> Some days I feel like I've never have built something as useful again since then Oh I am so familiar with this feeling. I recently found a program I wrote at my last job on a flash drive. It came from a chance conversation with one of the scientists I worked with. After listening to her lament the many hours of manually parsing log files it took for her team to generate reports, I wrote a short program one day (with a few updates over the following weeks) to do it for them. Some days I feel that the code I wrote that one slow afternoon was the most useful thing I've done in terms of ROI. A couple hours of fun text manipulation and voila: a bunch of Very Happy People (tm) and untold hundreds of hours of time saved.
- tsss 6y agoI feel like back then I could appreciate the usefulness of my work a lot more. Even a very simple program was like magic and I got my feeling of accomplishment. Nowadays it's all about best practices, getting stars on Github or writing influential blog posts to further my career. By surrounding myself with other successful people, the bar has become a lot higher than in my childhood days where most peers could barely even turn on a computer. I have realized that writing a software to do X is most of the time trivial; getting tests to pass is only the very first step. But writing software in a _good way_ (whatever that means) is the hard part and the worst thing is that there is no clear indicator if you are even improving. It used to be the program either works or it doesn't. But values like maintainability and scalability are intangible and a perfectionist like me is compelled to work themselves to death in pursuit of an unclear goal. In many cases I don't even care if the program works as long as the code is beautiful, like a mathematician who spends all his time working out elegant proofs with zero applicability whatsoever. It doesn't help that I have to waste my talent on pointless CRUD and yet another e-commerce system, which only serves to sell people things they don't need and make the rich even richer.
- mcspiff 6y agoI did something similar! It shoved lab results into a SQLite DB and ran some simple queries for them. Before it was all being hand imported into excel. I thought it was neat throw away work but turned out the entire lab team migrated over to it. Something about people actively choosing to use your work with no pressure, marketing or mandate just hits different emotionally.
- benibela 6y ago>The program itself was very, very, very shitty, but it worked well for him. For example, at that point I didn't even knew that arrays existed, so all the logic and multiplication was done manually, like label43 = textInput25 * textInput24 * 0.1. That is exactly how I wrote my Delphi code as kid! Later, I learned to use arrays, and used them for everything because I did not know any other data structures. Like, array of array of array of integer. And the ref counting makes them memory safe. Delphi had the best arrays of all languages At the university, they taught more complex data structures like linked lists and tree structures, so I started using them. Then I learned about caches and that tree structures are bad for caches. Optimal are arrays. One should only use arrays for everything, so I started using arrays again. Now I know about loop unrolling. And about the conservativity of the Pascal optimizer, it never keeps values in registers if they can alias. Heap values like arrays are always assumed to alias. If you do not use arrays, but use a separate local variable for every element, it can be much faster.