A few years ago, to better understand ray tracing, I read the book Ray Tracing in One Weekend. The original code samples were in C++, and as I read, I was translating and writing them in Python. Yes, I knew from the start that it was a terrible idea, but I was curious. One of the best ways to observe Python’s performance inadequacy is to test the ray tracing algorithm by generating an image with a width of 1000 pixels. But even 300 pixels takes a lot of time. Therefore, you resort to altern...| Gökmen Görgen
I took a quick look at the new features in Python 3.14. To try the code below on your local machine, install uv and run the REPL with the following command: uv python upgrade 3.14 uvx python@3.14 PEP 750: Template Strings Template strings (t-strings for short) were a proposal to address a significant shortcoming in existing f-strings, and it’s now ready for use with version 3.14. First, let me show you the problem:| Gökmen Görgen
I assign a minimum lifespan to things I want to own. This habit helps me calculate how much budget I can allocate for them, understand whether that thing comes cheap or expensive, and whether it’s worth it. My 6-year-old Alienware laptop was a bit of a disappointment for me. I wanted it to be something I could game on at home, code on, and also be my portable computer. I also wanted to be able to increase RAM and SSD capacity when needed in the future. None of my expectations were met satis...| Gökmen Görgen
I had the experience of upgrading Python in the projects from 3.8 to 3.12 in one step, and I realized that keeping the Python versions up to date is just as critical as keeping the dependencies up to date. Maintenance should not be a separate task, it should be part of all the other tasks. If you can check and update package versions in a timely manner, you don’t have to tell anyone that it’s going to hold up your business in the future.| Gökmen Görgen
17 years ago, Steve Jobs stood on stage with a manila envelope in his hand and pulled out a laptop. At that time, mini-laptops called netbook were very popular, and the first Macbook Air had far superior features in every way. I had a Lenovo IdeaPad S10e. If I remember correctly, the screen resolution was 1378x768, but it was good enough for me. It fit in my small bag, it was light, and I could open it up and even use it on the food tray on my long bus rides.| Gökmen Görgen
Sometimes I see this photo when Apple announces a new product and there are some really funny jokes about it on social media. Frankly, I don’t understand the criticism that “Apple is exhausted, it can’t produce anything new” for technological products that have reached a certain maturity. How do you compare them? I used the iPhone 11 for more than four years and upgraded to the iPhone 16e. I agree that there’s not much difference in appearance, there’s still a notch at the top of ...| Gökmen Görgen
I had an incident that was as fortuitous as the alignment of the holes in Swiss cheese and, frankly, I wanted to take the vehicle to an open field, pour petrol on it and burn it. Fortunately, I am calm now and I think I will pay special attention to prevent that from happening again. Let me tell you what happened first. The fire alarm went off in the building next to our apartment and soon after I saw three or four fire trucks, police cars and ambulances and I realised how serious the situati...| Gökmen Görgen
When dealing with more than one language, we look for similar approaches across languages. In Rust, there’s a keyword called enum to define and use enumerations. It’s easy to use, let’s look at this example from the official document: enumIpAddrKind { V4, V6, } structIpAddr { kind: IpAddrKind, address: String, } let home = IpAddr { kind: IpAddrKind::V4, address: String::from("127.0.0.1"), }; let loopback = IpAddr { kind: IpAddrKind::V6, address: String::from("::1"), }; If we want to wri...| Gökmen Görgen
Python favours letters and meaningful keywords for the logical operators, and all of them return a value depending on the conditions: not: The opposite of a condition, the reverse of the logical state of its operand. If the condition is True, it returns False, or vice versa. and: It needs to compare two operands, It returns True if both operands are True. or: It’s similar to and, but it returns True if at least one of the operands is True.| Gökmen Görgen
I wanted to repost the part about the mobility of an article I wrote in Turkish for 2024 Trends in the Software World on my blog. The topic of mobility is still in my focus and I am still following the developments closely. --- … Now I will end my article with a topic I haven’t mentioned before: Electric vehicles, or in general terms, automobiles. We have entered a strange period that will closely concern the software industry. It is like the Quartz revolution in watches (or the Quartz cr...| Gökmen Görgen
Authy was my bad decision to use it for two-factor authentication. I remember that I chose it because of its ability to work on both PC/Mac and mobile phone, so if I work on a PC, I don’t need to use my phone to see the validation code. The GUI was very bad on all platforms, but it was working at least. Authy is sunsetted, the team explained on their website and stated that it will no longer be supported after March 19, 2024.| Gökmen Görgen
I’m very conservative to avoid changing my routines, habits about my preferred software and hardware. But on the other hand, I always follow the new tools and try them as much as possible. It’s not easy to change habits, but if I think that the new alternative is better than my current one, and if I think that the new tool will increase my work quality, then I take a risk and replace it.| Gökmen Görgen
I really like Japanese cars. There are Japanese brands that are durable, safe and have very good parts and service support. Toyota and Lexus are my favourite brands. But on the other hand, I was looking for value for money and I knew that Tesla was unbeatable in that regard. My beloved wife and eldest daughter loved the Tesla, while I, as a gourmet car guy, preferred the Lexus. My wife suggested that I test drive both the Lexus and the Tesla. I tested the Lexus ES350h first and fell in love w...| Gökmen Görgen
When someone asks me about the starting point of my career, I always tell them about my Linux/BSD adventure. These operating systems still exist and most people know them, but not everyone knows about Pardus, and even if they do, it is not the same Pardus I mean. I grew up in a house without internet and the only connection to the world was through technology and gaming magazines. I used to rewrite the articles in magazines that I liked and wanted to understand on my typewriter because I read...| Gökmen Görgen
I discovered a beautiful car museum in Izmir. I flew to Izmir at the invitation of my former colleague and we met at Adnan Menderes airport. We rented a car to avoid wasting time on public transport and drove straight to Torbalı and the museum. The museum, which opened its doors in 2015, offers visitors a delightful journey through the evolution of automobile history. Upon entering, one is greeted by a fascinating array of iconic cars representing different eras, from the past to the present...| Gökmen Görgen
This isn’t advice, but I’d like to share what I did to get my daughter interested in coding. Like any parent, I showed her all sorts of things to learn coding at a young age, it was zero curiosity. After a while I couldn’t understand why I had done this, I just put it on the shelf and let her do whatever she wanted, I just watched and expected her to ask for something. She said she wanted to write and draw on the walls of her room, I said yes, you can, on the other hand I was thinking a...| Gökmen Görgen
As I mentioned in my last post, I started using VSCode to see what I’m missing and I thought that it’s a good time to take all the risks and break my Emacs configuration. In the last changes, I tried to use the built-in alternatives of the packages like eglot instead of lsp-mode. Now I’ve made the decision to update Emacs to version 29. When I first switched to Emacs 28, all my performance problems were solved thanks to native compilation support. Most of these problems were caus...| Gökmen Görgen
I’ve used Emacs for years, and it’s not easy to get rid of this archaic (what?) editor. Although it helped me do my job better, my setup was not as stable as in the editor. When I started working as a web developer, I was installing all the project requirements on the local machine, even though I was not using virtual environments. Emacs was good enough to make development possible.| Gökmen Görgen
“Hey, Twitter is not like in the good old days, I’m switching to Mastodon.” No no, I’ll not say this. I already tried that, and I couldn’t succeed. Because I was alone and my friends continued to stay on Twitter. Now, after the latest news about Twitter layoffs, I see a similar migration again, but I don’t think it will be successful either. So the main thing I want is to be a platform-independent content creator; if someone wants to reach me, I want them to visit my website, or i...| Gökmen Görgen
The bundle is here; I will update the list when I finished a game. Crosscode Gonner Inmost Sundered Baba Is You Moon Hunters Celeste Towerfall Ascension Towerfall Dark World Minit They Bleed Pixels Long Gone Days Midnight Scenes Midnight Scenes Episode 2 Hidden Folks Lenna’s Inception Golf Peaks Detective Case And Clown Bot Pushamo Cruel World Gun Rounds Sokobond Haque Schildmaid Mx Magnibox Ultra Hat Dimension Rebop Blasters Explorers Delver Speer| Gökmen Görgen
When I started using Windows in 2014, I continued to keep my development environment on Linux. I first did this with Vagrant; then, I used WSL, Docker, WSL2. I had an idea forming in my head ever since. I’m already using two different systems on a computer simultaneously; is it possible to use one in a thin client and connect to the other remotely? PURPOSE Let me first start by explaining why I want to do this:| Gökmen Görgen
Pair programming has been a known and applied method for a long time. I know that it has more than one purpose and practice, but I want to say some things about an expert and a novice working together. Investigation For a long time, I went to the dental clinic for braces treatment, and after my treatment was over, I had surgeries two times (no worries, I’m fine). Sometimes there was more than one doctor at my appointments. One was relatively more experienced than the other and would general...| Gökmen Görgen
I’m not a CTO of Radity anymore, but I trust that it will succeed more in the future. One of my old coworkers asked me some questions to understand what I was doing in this position. To remember it later, I wanted to share the questions and my answers here. What are the most critical three needs and goals of a CTO? To ensure that the IT organization does business uninterruptedly and efficiently.| Gökmen Görgen
Most of the websites are using Helvetica as an alternative font, and Ubuntu is trying to set Nimbus Sans as a similar font even you have Helvetica font. Also, the default font on Firefox is DejaVu Sans, but the default fonts are working just if the styles don’t specify a font family in a website. Nimbus Sans comes with fonts-urw-base35 package, and it’s ubuntu-desktop’s dependency, direct or indirect. I need ubuntu-desktop to use GNOME, so the best solution here is to disable the f...| Gökmen Görgen
Mostly I do not prefer to read the books written for teaching a programming language. Because a good language community already places the importance on their websites to promote the programming language beautifully as in Python and Rust. In these websites, you can find documentation, tutorials, even a free ebook that allows you to read from the website directly, and they’re mostly up-to-date. As you know, Rust is not an easy-to-learn programming language. So I frequently look at the offici...| Gökmen Görgen
I have a gaming PC for two years but couldn’t have time to play a game. So I decided to change my priorities in my life and will try to play more games and read more books this year. My first plan was to play this game with my daughter, but I realized that it was not a suitable game for kids after I bought it, so I’ll pay attention to use the family filter from now on.| Gökmen Görgen
I had trouble understanding the story of the game because I didn’t play the first one. You start to play the game in the middle of the adventure. You have a sword and shield, so you think that the story is in the past, but you also have a kind of motorcycle that has no wheels but can fly. Also, you have a brother in arms named Gen, and it’s a robot. The other friend Trin tells you the story during the game, help you to solve the puzzle.| Gökmen Görgen
My objective for the year 2019 was joining one more programming language community after Python and Lisp. I followed .NET Core in my first six months and did some projects using C# and F#. But then, I decided that learning Rust is a better idea. Some of the Python and Django developers I’ve followed have had a significant impact on my decision. Python is a programming language that easy to learn, it has a significant and active community, and I believe that it will keep its popularity for a...| Gökmen Görgen
I started to take a look at C++ courses to understand Rust better because it helps me to see the advantages of Rust. The following images are from a Linkedin course, the instructor is Bill Weinman, and his courses are perfect if you want to program with C++. If you have a photographic memory to remind something quickly, then you may like these images explaining data types in programming.| Gökmen Görgen
I started using an iPad instead of a second laptop for more effective use. Although it is excellent for reading things, answering emails, checking tasks, it is still not possible to use as a laptop with these devices. So I tried to connect to my primary PC remotely. But this was not satisfactory for me either. I took some notes to compare when iOS 13 and some updates came.| Gökmen Görgen
At the end of my three-week vacation, I was asked for a seemingly easy task. We were going to release the new version of the project we developed: Is today is the last working of the week? No. Is there any problem with the unit tests? No. Are all changes confirmed by the product manager, in the staging server? Yes. I always note everything, and so I write this article to remind this experience. My other habit is to define dosh sub-commands to access frequently used commands in my whole p...| Gökmen Görgen
Environment Variables I still use some development tools that are used by most Linux users and these tools need some environment variables like LC_ALL, HOME, etc. When I have a new PC with Windows 10, I start to use with defining these variables. Take a look at this post for more detail. PowerShell Core It’s possible to use BASH on Windows indeed, but I think PowerShell Core is a good alternative. Git integration is working well, defining aliases and functions is easy:| Gökmen Görgen
For good things in life, you need labour, patience, and time. To draw a picture, To play an instrument, To program software, Or to produce something, Even to complete a book, To translate a text, To tell the troubles, To write what you think, To prepare a broadcast, For everything. Just sharing something in social media and consuming it is easy.| Gökmen Görgen
Our technology is not so advanced to be an eye or an ear for us. Or we’re not in an age where we don’t need our body yet.| Gökmen Görgen
I use PEP8 in my Python projects except for a few rules. I think ‘single-quote’ and “double-quote” characters should NOT be the same. It could be better if these two characters had different counterparts in the Python language parser system. So we could use one of them for the template-strings (or f-strings). It doesn’t provide readability, causes inconsistency instead. Until now, I used string-quotes for the variable definitions and double-quotes for the visible texts. But now,...| Gökmen Görgen
Spreadsheet applications are the most functional applications I’ve used. Excel, Gnumeric, Google Sheet, OpenOffice Calc or whatever, it doesn’t matter. You can use it as task management like Trello, make daily - weekly - monthly plans, store and transfer data, and follow your financial situation. It’s like a Swiss army knife and not a new invention. I’ll update this article when I find a more functional application.| Gökmen Görgen
With just a command: # terminal$ ENV=PROD ./do.sh deploy I have many projects using my script named DOSH and the parameters are mostly in common; deploy, start, stop, runtests, etc. It can be a .NET Core or a Django project, or just a website using any static site generator like this one but I run all the projects with the same command: dosh start. In Windows, the command may be a bit longer than in the other operating systems. So it’s a good idea to shorten the command using some ...| Gökmen Görgen
PowerShell and Git encoding problems To make git log command output properly display on Windows, we need to set a variable named LC_ALL: LC_ALL="C.UTF-8" Incorrect home folder in Emacs This problem is not only about Emacs. If you try to find a file from HOME variable, you may need to define the variable first: HOME="%USERPROFILE%" ;; place all backup files in one directory (setq backup-directory-alist `((".*" . ,temporary-file-directory))) (setq auto-save-file-name-transforms `((".*" ,te...| Gökmen Görgen
Hello there.| Gökmen Görgen
In our projects, I had a simple script named do.sh to quickly define and run tasks. I don’t remember why we didn’t use Makefile, but it had similar functionality. It’s just a BASH script: you can define environment variables, add functions and easily run other CLI commands. We wanted to be able to do that without having an extra dependency, so we could tell the developers, “Just download the script and run the command sh do.sh setup.” That’s it! It was much better than writing all...| Gökmen Görgen