HNHacker News
TopNewBestAskShowJobs

iex_xei

78 karma · joined February 14, 2019

43 y.o. machine learning & software developer @ istanbul.

https://emresahin.net

info@emresult.com

submissionscomments
iex_xei··on Is a Poe.com subscription better than ChatGPT Plus?
It should open after you pay your first invoice > $1
iex_xei··on Turkey’s inflation hits 83% as Erdogan vows to keep cutting interest rates
As a Turk, I also see Erdoğan's "fiscal ideas" as "crackpot", but he may be betting on something like "replacing China as a manufacturing engine for Europe", or "staying competitive in slower world economy."

Explanations like "he's an Islamist opposed to interest" does not hold water. It's just something he uses to explain the policy to masses. I'm almost sure that the reason behind high inflation / lower interest rates is intentional. He's intentionally making the population poor. He can't tell this straightly, so he's using religious slogans.

I'm not sure about the real reason, but I don't think he'll lose the next election in 2023, and he knows to calculate the effects of his policies. "To feed up his cronies" is a lazy explanation. He already had that power, why would he risk that opportunity with crazy politics.

Also, most of the savings (>80%) are in USD here. Most of the assets are priced in USD. When you buy/sell a house, you talk the price in USD. Working class with a fixed income is certainly affected direly, but the economy itself is moving. Personally I saw many times he played his cards correctly, despite seemingly unreasonable moves. I'd like him to go, but I doubt the situation will cause him to lose election.

iex_xei··on GCC Rust Approved by GCC Steering Committee
If I buy you a beer, that's free beer for you.
iex_xei··on Rust Is Hard, Or: The Misery of Mainstream Programming
It brought a discipline to my memory/variable management and functional problem solving, as Haskell brought a discipline in my typeful thinking some time ago. I don't claim it's "the best language for all use cases" but I'm glad I'm learning it.
iex_xei··on Rust Is Hard, Or: The Misery of Mainstream Programming
That's cool. I've worked in C++11 most recently (in 2012 with OpenCV) and used Boost's smart pointers to achieve memory security but I was probably overdoing those at that time and don't remember it as a good experience. (I remember I spent nights with valgrind but it may be my confusion at that time and don't remember the details.) I'll take a look at these as well to brush up my knowledge on modern features of "grand old language." Thank you.
iex_xei··on Rust Is Hard, Or: The Misery of Mainstream Programming
That's true, though in my experience those quick solutions lead to more quick solutions, and in total that leads to a mess in the long run. But if that long run will never come, it may be better not to bother. These are all sensible choices.
iex_xei··on Rust Is Hard, Or: The Misery of Mainstream Programming
I wrote servers in Go as well, and I like the language. After Rust, I believe at some point, I enjoy to solve the "problems" Rust brings, not that it's rationally better than Go.
iex_xei··on Rust Is Hard, Or: The Misery of Mainstream Programming
That's probably true. I've experimented a bit with tokio for local IO bound tasks, but decided it's unnecessarily complex. I think some patterns will emerge from current Rust async development eventually. Good parts will be easier and bad parts will be removed, but digestion of such concepts usually require time.
iex_xei··on Rust Is Hard, Or: The Misery of Mainstream Programming
e.g. You can use a variable twice when calling a function in most languages without thinking twice. I had to unlearn this :)
iex_xei··on Rust Is Hard, Or: The Misery of Mainstream Programming
I'm using cargo-limit crate for "cargo lcheck", "cargo ltest" or "cargo lclippy" to show errors before warnings before clippy warnings. You're right that "cargo check" gives the same priority to warnings as errors, and it's annoying.
iex_xei··on Rust Is Hard, Or: The Misery of Mainstream Programming
That's true for me as well, but I learned these after many failures. Now, I start by writing enums and structs for the problem, then iterate the design with functions and if it's really needed add these functions as impl of a certain struct/enum. This is the inverse of "Object-Oriented" design where one has to start from interfaces and manipulate data to satisfy the interfaces.
iex_xei··on Rust Is Hard, Or: The Misery of Mainstream Programming
Another data point: After writing / (re)writing 20K+ lines of code as a CLI side project in Rust (without touching async), I think I can say it's the best language for me after 20+ years of experience in other languages. I like the compiler, and I learn a lot from clippy.

The "hard" part about Rust is you have to "unlearn" some of the basic mechanisms like scope and ownership that you bring from other languages. It doesn't allow you to build quick and easy solutions that allows you to lie to yourself (or your boss.) You have to spend more time upfront to compile and fix all warnings, but in my experience so far, fixing these at the right time (i.e. before compilation) is better than fixing them after someone writes a Github issue. I can't say it eliminates all bugs, but my trust level to my Rust code is around 10x more than my Python code for the same problem. (And I'm writing Python since 2002.)

iex_xei··on Show HN: Todool, a full blown environment for managing large trees of task lists
I began to use Trello and its automations for these kind of things.
iex_xei··on The use of ‘class’ for things that should be simple free functions (2020)
It seems like an example to what I call "Object-Oriented Brain Damage."

https://emresahin.net/post/object-oriented-brain-damage/

iex_xei··on The use of ‘class’ for things that should be simple free functions (2020)
Sorry for the İ/i I/ı bug. Even modern software in other languages fall to that trap time to time, so probably it's not handled well in other languages either.
iex_xei··on Ask HN: How can I stop my inbox/wishlist/bookmarks/tabs/todos from growing?
This is from Richard Koch's 80/20 Principle:

<quote>Time management often advises people to categorize their list of ‘to do’ activities into A, B, C or D priorities. In practice, most people end up classifying 60­-70 per cent of their activities as A or B priorities. They conclude that what they are really short of is time. This is why they were interested in time management to start with. So they end up with better planning, longer working hours, greater earnestness and usually greater frustration too. They become addicted to time management, but it doesn’t fundamentally change what they do, or significantly lower their level of guilt that they are not doing enough.</quote>

My personal method might be to compare these items with each other, and pick 10-20% of them. Randomly list 10 of these and pick one that you want, and discard/archive the rest. If you ask whether you want to read/do something, the answer is always "yeah", but if you compare these with each other, you'll see a pattern. Comparing and deciding is more difficult, by the way, and it results to store less of these in time.

Whatever you do, give up the guilt first. Guilt never leads to productivity or happiness.

iex_xei··on TextBuddy: A Mac app for manipulating text
V4j<
iex_xei··on The Atari 800XL
This was my first computer. I learned BASIC and did some "drawing" in the graphics mode. A few years ago I tested and it was running. Time passes.
iex_xei··on Ask HN: How did you learn good program design?
By iteration. I don't think the problem is solved, we still don't exactly know how to architect our software and the current mainstream of "OO-design" is flawed IMHO. There is no one size fits all architecture for software.

I think size matters, tools matter, technologies matter along with the domain. Our architects are usually too formal, too idealist and we really have difficulty in priorities. We know it requires experience to apply programming languages to problems, this is also true for patterns. In order to apply them, we need experience.

iex_xei··on IBM's Asshole Test
I'm thinking of a scenario where the driver turns out to be the interviewer. Real life LinkedIn story.
iex_xei··on Ask HN: How do you stop forgetting to commit or push?
These days I'm using a script[0]. It checks all directories under ˋ$HOME/github.com/ˋ for changes and opens lazygit if there are changes. You can replace that line with a ˋgit commit -am "wip" ; git push origin/my-current-branchˋ for an ultimate lazy solution, to rebase later. :)

[0]: https://gist.github.com/iesahin/398af2556f5ae809c4b368ffc2ef...

iex_xei··on Ask HN: What problem do you wish someone would solve?
I lost almost half of my hearing due to otosclerosis and had an operation on my right ear that changed almost nothing, now it's worse. I wasn't aware that we are such a large group.
iex_xei··on Spotify deletes 70 Joe Rogan episodes
Interesting. They made the episodes they didn't delete much more valuable now.
iex_xei··on Who Uses To-Do Lists?
I noticed that it's better to keep something in mind when I intend to do that actually, and add it to a list when I don't work on it.

Later I learned that this has a name: Zeigarnik Effect.

I usually write down not to do, but to forget. It's like bookmarking a site to visit later. Time to time, I really revisit but most of the times, todo lists are more effective as "won't do lists." When I was younger I was feeling guilt not completing every item in my list, but now I just declare bankruptcy and reboot.

If it's super important, I use calendar to reserve some real time.

iex_xei··on High-sucrose diets contribute to brain angiopathy and higher brain dysfunctions
For those who would like to break away from sugar, I'd recommend first trying intermittent fasting to reduce the time window for eating. I tried to remove sugar from my diet permanently before IF and it takes considerable effort to maintain your distance all day, and in the long run it doesn't stick. My longer experience was 15 months before.

After doing one year of IF, it felt much easier to completely eliminate sugar from the diet, and sticking doesn't require tons of willpower. It's been 18 months but I know I can continue this indefinitely. I'm in that phase of sugar elimination where donuts look disgusting.

iex_xei··on Ask HN: How do you balance reading books vs. articles
I do the same and yes, results are similar. I delete most of the material I marked after some time. It also prevents me to chase the breaking news. When I go over a list, usually the "breaking" value is already lost so I can skip them.

I also have a two or three layer setup. I star the material in rss reader, then if it looks ok after some time, I add to Pocket. I skim the article in Pocket and if it looks worthy enough, I favorite it and an IFTTT rule adds it to Instapaper. I read once more in Instapaper.

In my opinion, if you don't think you'll revisit an article, it's not worth reading even once.

Edit: typo