Friday, June 10, 2022

ML Rot

As software rots due to chances in dependency machine learning model rots due to change in data. HDR, higher resolutions, new encoding formats will have impact on existing methods.

Sunday, May 22, 2022

Machine Learning Deployment

Machine learning deployment is mostly matrix multiplications and exp function around the results of matrix multiplications. It is especially interesting for me to have front end deployment where there is no need for connectivity and it allows further scalability. We have done this for Tajweedmate using tensorflow lite. Luckily it is working. tajweemate.com

Monday, May 16, 2022

Your personal universe is giantic, do not fight do science.

Bilimin degisik alanlarinda hayal kurmaktan kendimi alamiyorum, cam merceklerle kumu eritip tekrar mercek uretme, havadan carbonu cekip elmas yapma, pasificteki copleri recycle ederek yeni bir yapay kita olusturma gibi ucuk seyler aklima geliyor. Ama mumkun bunlar kucuk orneklerini yapan insanlar var

Saturday, May 14, 2022

Tongue Twister

I was optimizing my optimizer, I realized my optimization was not optimum due to dependencies, then I have optimized the dependencies to optimize my optimization optimization process.

Tuesday, May 10, 2022

Self writing paper

Another definition, a paper that does not gives tables and figures but writes a program within itself like javascript to be able to generate those images automatically based on updated configuration settings and data included.

Monday, May 09, 2022

New computing area

hoe does it sound if I say decent architech for the people gained expertise in the area of decentralized computing instead of cloud

Saturday, April 09, 2022

Masum bir kahvalti

Icinde haslanmis kus embriyosu, yanina inek yavrusu icecegi, ezilmis soslanmis hayvan parcalari, bir miktar olu bitki kokleri ve zehirli ari ciktisi ile. Aslinda bizim koydugumuz isimler yumurta, sut, sucuk ... isin hakikatini gizliyoruz bunlarla.

Friday, February 04, 2022

Wednesday, January 26, 2022

AM I AI ?

The first move of AM I AI released in amiai.art It is not a static image. It is a new form of interactive art. You can send your feedback to artgeneratingmachines@gmail.com https://amiai.art/

Monday, December 06, 2021

Regularization

Regularization is symptomatic remedy for overfitting. But it does not solve the real problem. The real problem is we should not trust our loss function that much.

Wednesday, December 01, 2021

Click to listen

Run following command in js console if you want make web sites audible with a click document.getElementsByTagName("p")].map(p => p.addEventListener('click', e => speechSynthesis.speak(new SpeechSynthesisUtterance(e.srcElement.innerText)), true))

Sunday, November 28, 2021

Web storage

One of the interesting capability of javascript is, it allows you to store data on client side. The only thing you need to do is storing your data in key value-string pairs. localStorage.setItem('key',JSON.stringify({"data":"object"})); The limitation however is the size is 5mb at most.

Tuesday, November 16, 2021

Time Zones

Our parents were arranging their schedule according to sunrise and sunset. They are still consistent in their habit. However, in our generation we are unable to sleep before 12pm for most of the time. Thus, we don't need to arrage the time according to sunset and sunrise. Instead whole world could be in single time zone say GMT +0. In this case we don't need to convert our time information while communicating. For example it would be 16 pm for everywhere whether it is sunset or sunrise. I will not change time zone if I travel. The time is the same time and actually absolute value does not matter.

Sunday, November 14, 2021

A linear regression on Turkish Lira

I have used two pieces of linear regression breaking at the point of govermental change. Clearly there is a huge slope difference between two eras.
https://github.com/halidziya/turkish_lira

Thursday, September 23, 2021

Soz Sanatlari

D50'nin 1'i kuyuya tas 60, 40 akilli kovaya 1000'mis, suyunda 100'mus anca 70.

Wednesday, August 04, 2021

Set custom debugger for python

You can set PYTHONBREAKPOINT to set behaviour of breakpoint function. For example ipdb.set_trace. More Info

Thursday, July 22, 2021

Computational Complexity

Even that the speed of a program is fast enough production it may not be fasy enough for experimentation. Because, you may need to many trials before settling the final configuration.

Friday, July 09, 2021

Blogger Phone App

Even that web interfaces are universal, still dedicated phone app from blogger makes it easy to post from phone.


Wednesday, July 07, 2021

x.99

We see x.99 prices everywhere. It is hacking human perception. Everybody does it does not mean that it is fair. I got an idea to develop a chrome extension that shows prices with x.99 by adding 1 cent on it.

Saturday, June 19, 2021

C vs C++

Supposedly compatible to languages create problems in some cases. Recently I have faced cmath and stdlib do not work with each other. The compiler creates all sorts of strange errors.

Tuesday, June 01, 2021

Atan Sozler

Paslayan demir is tutmaz
Katlari diken, gulmeyi sever
Demleye demleye gel, olur
Balik yiyen bastan asagi kokar
Her et kusbasi yenmez
Yorgunsan yere ayagini uzat
Kupun darsa, sirke satma
Sakla zamani, kiymetli her ani

Friday, May 21, 2021

Git recover lost rebase

1. git reflog First identify the lost commit 2. git diff master commithash --name-only Check the differences in the files 3. git checkout commithash filepath Pick the one that you need

Sunday, May 09, 2021

Get Json of Django Object

I found unnecessarily difficult to get json from django model object. Here is my simple solution to get that done.
def get_json_object(obj, fields): return {f:obj.__dict__[f] for f in fields}

Friday, May 07, 2021

Thursday, April 08, 2021

No Real Style Transfer

Neural Networks are used to produce style transfer. But discrete structures are more difficult to generate. Here is my example. Does it resemble any picture to you?

Monday, February 15, 2021

Django + NGINX + USWGI

I was using "app" in the config, that was the reason why it did not work. Now converting to "application" it works. module=mysite.wsgi:application

Sunday, January 31, 2021

Being Human

If you go to 20 generations before you are mixture of 2**20 ~ 1 million people.

Sunday, December 13, 2020

CPPNs

Most of the time learning already known things is not a good idea in machine learning. Cppns are nice exceptions. Treat raster image as data and map coordinates to pixel values. The result is interesting, vector approximation of raster image. Better yet, multi layer function have potential to be more compact than pure vector lines.

Saturday, December 12, 2020

Testing 3rd party api

Keeping the trials in a test suite for 3rd party api ensures consistency in later stages. a good suggedtion from book Clean Code

Thursday, December 10, 2020

DRY Principle

I like the DRY (Do not repeat yourself) principle. In my words, do not copy-paste your code; use functions, modules, etc. to avoid that. This will reduce the point of maintenance. Wikipedia

Wednesday, November 25, 2020

Text to Speech in Browser

It would be a nice welcome, however I couldn't bypass user interaction requirement.
var msg = new SpeechSynthesisUtterance('Hi, Welcome'); window.speechSynthesis.speak(msg);

Monday, October 26, 2020

Do we really need Free Moving Windows ?

After using window managers many years I began to realize that most of the time we need grid manager. Moving windows freely serves only to create a layout which some of them would be visible. This could more effectively achieved by grid managers. https://www.w3schools.com/css/css_grid.asp

Sunday, October 11, 2020

Running Android on Kindle Paperwhite

I believe it is possible to run android on Kindle without rooting. The idea is using an emulator and a proxy service for Kindle's experimental browser.

Wednesday, September 30, 2020

Sunday, September 06, 2020

A little more freedom to kindle

I have recently stuck on being able to read android app based content on kindle. Kindle does not allow apps. Luckily app was allowing copy paste. I have used experimental browser and created a html page to display may clipboard. This allowed me to sync between my phone and kindle. I used "pre" tag for displaying text completely.

Yuzde Yuz

Yersiz derece yerlilik

Thursday, August 06, 2020

Git Trick

https://stackoverflow.com/questions/9456550/how-to-find-the-n-largest-files-in-a-git-repository

Thursday, May 21, 2020

Saturday, October 06, 2018

Python Counter

# collections.Counter lets you find the most common # elements in an iterable: >>> import collections >>> c = collections.Counter('helloworld') >>> c Counter({'l': 3, 'o': 2, 'e': 1, 'd': 1, 'h': 1, 'r': 1, 'w': 1}) >>> c.most_common(3) [('l', 3), ('o', 2), ('e', 1)] === https://realpython.com/

Saturday, September 29, 2018

Python 3.7 debugging

Python 3.7 has internal function breakpoint(). It goes into pdb if it hits that function. https://www.python.org/dev/peps/pep-0553/

I just forgot to transpose

julia> x*x ERROR: MethodError: no method matching *(::Array{Int64,1}, ::Array{Int64,1}) Closest candidates are: *(::Any, ::Any, ::Any, ::Any...) at operators.jl:502 *(::LinearAlgebra.Adjoint{#s549,#s548} where #s548<:Union{DenseArray{T<:Union{Complex{Float32}, Complex{Float64}, Float32, Float64},2}, ReinterpretArray{T<:Union{Complex{Float32}, Complex{Float64}, Float32, Float64},2,S,A} where S where A<:Union{SubArray{T,N,A,I,true} where I<:Tuple{AbstractUnitRange,Vararg{Any,N} where N} where A<:DenseArray where N where T, DenseArray}, ReshapedArray{T<:Union{Complex{Float32}, Complex{Float64}, Float32, Float64},2,A,MI} where MI<:Tuple{Vararg{SignedMultiplicativeInverse{Int64},N} where N} where A<:Union{ReinterpretArray{T,N,S,A} where S where A<:Union{SubArray{T,N,A,I,true} where I<:Tuple{AbstractUnitRange,Vararg{Any,N} where N} where A<:DenseArray where N where T, DenseArray} where N where T, SubArray{T,N,A,I,true} where I<:Tuple{AbstractUnitRange,Vararg{Any,N} where N} where A<:DenseArray where N where T, DenseArray}, SubArray{T<:Union{Complex{Float32}, Complex{Float64}, Float32, Float64},2,A,I,L} where L where I<:Tuple{Vararg{Union{Int64, AbstractRange{Int64}, AbstractCartesianIndex},N} where N} where A<:Union{ReinterpretArray{T,N,S,A} where S where A<:Union{SubArray{T,N,A,I,true} where I<:Tuple{AbstractUnitRange,Vararg{Any,N} where N} where A<:DenseArray where N where T, DenseArray} where N where T, ReshapedArray{T,N,A,MI} where MI<:Tuple{Vararg{SignedMultiplicativeInverse{Int64},N} where N} where A<:Union{ReinterpretArray{T,N,S,A} where S where A<:Union{SubArray{T,N,A,I,true} where I<:Tuple{AbstractUnitRange,Vararg{Any,N} where N} where A<:DenseArray where N where T, DenseArray} where N where T, SubArray{T,N,A,I,true} where I<:Tuple{AbstractUnitRange,Vararg{Any,N} where N} where A<:DenseArray where N where T, DenseArray}where N where T, DenseArray}} where #s549, ::Union{DenseArray{S,1}, ReinterpretArray{S,1,S,A} where S where A<:Union{SubArray{T,N,A,I,true} where I<:Tuple{AbstractUnitRange,Vararg{Any,N} where N} where A<:DenseArray where N where T, DenseArray}, ReshapedArray{S,1,A,MI} where MI<:Tuple{Vararg{SignedMultiplicativeInverse{Int64},N} where N} where A<:Union{ReinterpretArray{T,N,S,A} where S where A<:Union{SubArray{T,N,A,I,true} where I<:Tuple{AbstractUnitRange,Vararg{Any,N} where N} where A<:DenseArray where N where T, DenseArray} where N where T, SubArray{T,N,A,I,true} where I<:Tuple{AbstractUnitRange,Vararg{Any,N} where N} where A<:DenseArray where N where T, DenseArray}, SubArray{S,1,A,I,L} where L where I<:Tuple{Vararg{Union{Int64, AbstractRange{Int64}, AbstractCartesianIndex},N} where N} where A<:Union{ReinterpretArray{T,N,S,A} where S where A<:Union{SubArray{T,N,A,I,true} where I<:Tuple{AbstractUnitRange,Vararg{Any,N} where N} where A<:DenseArray where N where T, DenseArray} where N where T, ReshapedArray{T,N,A,MI} where MI<:Tuple{Vararg{SignedMultiplicativeInverse{Int64},N} where N} where A<:Union{ReinterpretArray{T,N,S,A} where S where A<:Union{SubArray{T,N,A,I,true} where I<:Tuple{AbstractUnitRange,Vararg{Any,N} where N} where A<:DenseArray where N where T, DenseArray} where N where T, SubArray{T,N,A,I,true} where I<:Tuple{AbstractUnitRange,Vararg{Any,N} where N} where A<:DenseArray where N where T, DenseArray} where N where T, DenseArray}}) where {T<:Union{Complex{Float32}, Complex{Float64}, Float32, Float64}, S} at C:\cygwin\home\Administrator\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.0\LinearAlgebra\src\matmul.jl:97 *(::LinearAlgebra.Adjoint{#s549,#s548} where #s548<:LinearAlgebra.AbstractTriangular where #s549, ::AbstractArray{T,1} where T) at C:\cygwin\home\Administrator\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.0\LinearAlgebra\src\triangular.jl:1805 ...Stacktrace: [1] top-level scope at none:0 julia> x*x'3×3 Array{Int64,2}: 1 2 3 2 4 6 3 6 9

Sunday, April 15, 2018

Purdue Online Writing Lab https://owl.english.purdue.edu/owl/

Thursday, February 09, 2017

Metadata kept in Windows cache, refused to mount

I think this is related to hibernation. I have found the solution sudo ntfsfix /dev/sda(#)

Thursday, February 02, 2017

Symmetric Dirichlet in d dimensions

function res=dirchrnd(alpha,d)
res = zeros(d,1);
for i=1:d
res(i)=gamrnd(alpha,1);
end
res=res/sum(res);
end

Thursday, September 15, 2016

Juno Atom Julia v0.5

I received this error after updating Atom packages of Julia
"unknown package Juno required by Atom"

I attempt to solve using
Pkg.clone("https://github.com/JunoLab/Juno.jl.git")
Pkg.update()
using Atom

However, in next step Gallium gave an error.
I removed package Gallium and added again.

Then with existing installation of Atom, Julia works after precompilation finishes.

Tuesday, August 30, 2016

Using Global Namespace functions

If you would like to use the global function while defining function with same name use this way :

Vector Vector::exp()
{
Vector& r = buffer.get();
for (int i = 0; i r.data[i] = ::exp(data[i]);
return buffer.next();
}

Friday, December 18, 2015

Twitter Rate Limits

Twitter allows to capture 3200 tweets in the timeline.
A java program bypasses this limit using search system
https://github.com/Jefferson-Henrique/GetOldTweets

Tuesday, November 03, 2015

Selecting Specific Elements in the matrix

Sometimes I would like to select elements in the Matlab matrix with their coordinate. However, if I used two arrays to get elements in Matlab it returns the rows and columns containing those elements. To get exact elements, I used following method where indx and indy is index coordinates:

A(sub2ind(size(A),indx,indy))

Tuesday, September 01, 2015

Named rows and columns

R has built-in support for naming rows and columns for matrices. Matlab has this functionality via dataset class

http://www.mathworks.com/matlabcentral/answers/83204-add-row-column-names-to-a-matrix

One can use double(X) to convert dataset back to matrix.

Wednesday, February 19, 2014

Creating thread with their id's

for(i=0;i < numthereads;i++)
workers.push_back(thread(&ThreadPool::thread_loop,this,i));

Thursday, January 23, 2014

Friday, January 17, 2014

Two small console debug tools

#define step() toc=tic;tic=GetTickCount();printf("Elapsed: %d\n",tic-toc);
#define pause() system("pause");

Monday, November 04, 2013

Matlab Single Value Default Function

function default(varargin)
   param = [varargin{:} ';'];
   ind = find(param=='=');
   stmt = 'if ~exist(''%s'',''var'');%s;end';
   str = sprintf(stmt,param(1:(ind(1)-1)),[varargin{:}]);
   evalin('caller', str);
end


Example use

default x=2

Tuesday, October 22, 2013

Wednesday, August 28, 2013

Good observation

"Just as machine learning algorithms can overfit by tuning a classifier’s parameters to the
accidental properties of a training set, a research community can overfit by refining algorithms that
have already done well on the existing data sets"



Lewis, D. D.; Yang, Y.; Rose, T.; and Li, F. RCV1: A New Benchmark Collection for Text Categorization Research. Journal of Machine Learning Research, 5:361-397, 2004. http://www.jmlr.org/papers/volume5/lewis04a/lewis04a.pdf

Monday, July 22, 2013

Matlab Keyboard function

keyboard function is useful for debugging purposes. It stops execution of m file and allows user to watch and manipulate variables.

Wednesday, July 10, 2013

Matlab Jit Acceleration


Monday, July 01, 2013

Moving file to folder in HG versioning system

Just copy files into desired directory. Go into that directory and right click. Go to hg->guess renames. Rest is straightforward.

http://kiln.stackexchange.com/questions/1943/moving-a-file-in-a-repository

Semi Turing Test

A loosely definition for semi-Turing test is whether a human is capable to understand an output from human and output from computer aided human. For example If I am using spell checker , how someone can understand that I am doing so. It requires much more effort to distinguish.

Wednesday, April 03, 2013

Matlab Long Simulation Interactive Debug , Set Debug flag using GUI , Pause execution to debug

Create a button function:


function util_DebugGuiButtons()
global debugFlag;
uicontrol('Position',[30 10 35 40],'String','||','Callback',@wait);
uicontrol('Position',[70 10 35 40],'String','>>','Callback',@dontwait);
function wait(hObject,eventdata)
debugFlag = 1;
end

function dontwait(hObject,eventdata)
debugFlag = 0;
dbcont;
end
end



Define in top of document:
global debugFlag


Put this inside your loop :


    if (debugFlag)
        dbstop in file.m at line
end



Continue Button is not working as desired now. It just clears the breakpoints but does not issue dbcont command properly. I will try to figure out later.

Sunday, March 17, 2013

Comments on variables

Matlab displays comments of functions when you tend to use it. It would be good if it can show the comment of variables while holding mouse on top of variable name. This way can provide a tool to remember what each variable if for without using long descriptive variable names.

Monday, March 11, 2013

Wednesday, March 06, 2013

mouse and pencil

While being a student my life is accomodated with two items   mouse and pencil.So why we are not combining them . Put a wireless mouse pen to one side and put a pencil to other side. A gyro sensor can figure out if mouse is active.

Tuesday, March 05, 2013

Robot Dish Washer

It is difficult to create robot that cleans our arbitrary dirty dishes. However  , if we put some digital information on dishes (special designed for this machine) such as RFID , than robot can easily understand the shape , coordinates and features of the dish. In this way it will be easy to optimize the placement of the dishes based on current dirty dishes information.
I imagine we can create machine that has two part , first part is regular dish washer and second part is open area for dirty dishes and attached robot hands at top. It will increase the size of the machine , but it may worth , especially for big restaurants.

Friday, February 15, 2013

Best LLM Model ?

Offcourse trying to sell the race cars for everyone will not work.