Tag: floating-point
Blog
Best Frenemies: Julia and Python
Julia and Python are often seen as competitors, but in this video I want to show the integration between them. Using the PythonCall and the JuliaCall packages we can call Julia from Python and Python from Julia. Check the video out or check edited transcript below.
Don’t forget to like and subscribe.
Download the python-from-julia.jl Pluto notebook.
Download the julia-from-python.ipynb Jupyter notebook.
There are currently two ways to integrate Python in Julia and Julia in Python.
Blog
Julia Language Can't Even Handle Simple Math
I have a new video up about how Julia cannot even handle simple math! Check the video out or check an edited written version below.
Don’t forget to like and subscribe
Introduction Julia is supposed to be a great programming language, but it can’t even do simple math correctly. Take a look at this:
julia> 0.1 + 0.2 - 0.3 5.551115123125783e-17 It should be zero, but it’s actually not. The notation means
Tag: julia
Blog
Best Frenemies: Julia and Python
Julia and Python are often seen as competitors, but in this video I want to show the integration between them. Using the PythonCall and the JuliaCall packages we can call Julia from Python and Python from Julia. Check the video out or check edited transcript below.
Don’t forget to like and subscribe.
Download the python-from-julia.jl Pluto notebook.
Download the julia-from-python.ipynb Jupyter notebook.
There are currently two ways to integrate Python in Julia and Julia in Python.
Blog
Julia Language Can't Even Handle Simple Math
I have a new video up about how Julia cannot even handle simple math! Check the video out or check an edited written version below.
Don’t forget to like and subscribe
Introduction Julia is supposed to be a great programming language, but it can’t even do simple math correctly. Take a look at this:
julia> 0.1 + 0.2 - 0.3 5.551115123125783e-17 It should be zero, but it’s actually not. The notation means
Blog
Demand of your art
On a previous video/blog post, I talked about production planning using an example of selling art on the beach. One simplification of that model was the assumption that everything that we build can be sold.
You can check the pluto notebook html or download the notebook.
I have an excert down here, but for more details, check the video.
If you just want, you can just skip to questions.
As we saw on last episode, Javier is creating and selling his art on the beach.
Blog
Selling art on the beach
I just released a video about using mathematical modeling to solve a production planning with the thematic of selling your art on the beach.
You can check the pluto notebook html here or download the notebook here.
I have an excert down here, but for more details, check the video.
In Brazil, a common joke between undergrad students (usually during exams) is that “maybe I should give up and go sell my art on the beach”.
Blog
Solving an RPG puzzle with Julia
I have a new video out where I talk about solving an RPG puzzle using Julia:
You can check the pluto notebook html here or download the notebook here.
Here’s a more fantastic setup than I used in the video:
You walk into a large room with a 3 pointed star painted on the floor. Three triangular stones sit on top of the points of the star. One of the points of the triangle complement the point of the star, indicating that there is a correct orientation for it.
Blog
10 examples of embedding Julia in C/C++
I worked on this blog post working for the Netherlands eScience Center.
Check the blog post here.
Blog
Can Python with Julia be faster than low-level code?
I worked on this blog post working for eScience Center. This is the third and last part of a three-part series. Co-authored by Faruk Diblen.
Check the blog post here.
Blog
Speed up your Python code using Julia
I worked on this blog post working for the Netherlands eScience Center. This is the second part of a three-part series. Co-authored by Faruk Diblen.
Check the blog post here.
Blog
How to call Julia code from Python
I worked on this blog post working for the Netherlands eScience Center. This is the first part of a three-part series. Co-authored by Faruk Diblen.
Check the blog post here.
Blog
Migração do site para Franklin.jl
Update 2022-12-30: Já não uso mais Franklin.jl.
Há algum tempo o Jekyll tem me dado trabalho. Como não sou usuário de Ruby, volta e meia falta alguma coisa na minha instalação e eu passo horas tentando corrigir o problema pra fazer meu site rodar localmente. Para o CiDAMO, eu considerei o Hugo, já que tem mais suporte e eu não seria a única pessoa a cuidar do site. Já para meu site pessoal, e o site do Julia Smooth Optimizers, resolvi usar Franklin, já que eu quero mais é usar Julia mesmo.
Blog
Koch snowflakes for the holidays
Code for these images.
I hope you’re familiar with the Koch curve fractal or snowflake. It essentially consists taking a line segment, splitting it in three, and substituting the middle part by two segments that form an equilateral triangle without the base. From one segment you obtain four. For each new segment, repeat the process.
Images:
The most important aspect of the koch line is that it looks awesome. Furthermore, you can do it for any image that is a collection of segments.
Blog
Package Development in Julia 1.0 using the REPL
This is a quick post on package development in Julia 1.0. Let me know if you’re interested in more, and what.
Suppose you’re developing a package - say, MyPackage.jl - whether from scratch, or updating from Julia 0.6. First, and foremost, you need to be able to run and test it. On Julia 1.0, this is one possible way, while using the REPL.
Choose a folder to develop it and create the necessary files
Blog
Optimizing the Dollar Game from Numberphile
I just watched The Dollar Game - Numberphile, in which a game involving graphs is presented. I recommend you watch the video for complete information.
The game involves a graph with integer values on its nodes, positive and negative. For instance, the following graph:
Each node corresponds to a person, the node value is the amount of money that person has, the edges are the people that person can give or take money from.
Blog
My experience in the JuMP-dev annual workshop
Last week I had the pleasure of being invited to the Second annual JuMP-dev workshop, which happened in June 27-29, 2018 at Bordeaux, France. I’ve presented the packages from the Julia Smooth Optimizers organization, and had a very good time meeting with the JuMP developers.
For those still unaware, JuMP is a modelling language for Mathematical Programming written in Julia. It provides access to a few different solvers for many kinds of problems, and it works inside of Julia, so one can enjoy the advantages of having a robust language if there is a need for advanced usage.
Blog
Minicurso de Julia no IX Simpósio de Análise Numérica e Otimização da UFPR
Hoje ministrarei mais um minicurso de Julia na UFPR. Desta vez será no IX Simpósio de Análise Numérica e Otimização da UFPR.
Por enquanto, deixo esta página apenas com o link para o notebook que utilizarei: aqui.
Blog
NLPModels.jl and CUTEst.jl: Constrained optimization
This is a continuation of this post. And again, you can follow the commands of this post in the asciinema.
If you followed along last post, you should know the basics of our NLPModels API, including CUTEst access.
One thing I didn’t explore, though, was constrained problems. It’d complicate too much.
However, now that we know how to handle the basics, we can move to the advanced.
Nonlinear Programming format
Blog
NLPModels.jl, CUTEst.jl and other Nonlinear Optimization Packages on Julia
A couple of weeks ago me and Professor Dominique Orban have finally made a release of CUTEst.jl, a wrapper for the CUTEst repository of problems for nonlinear optimization (which I’ve mentioned before). Along with this release, we’ve done a release of NLPModels.jl, the underlying package. I think it’s time I explain a little about these packages, others, and how to use them together. If you want to see the output of the commands, you can open this ASCIInema side by side.
Blog
Julia Fractal on Julia
I wanted a background that would update automatically in some interesting way, instead of just random images. After some thought, I decided to use some Julia fractals.
I made a code to create the Julia fractals in the Julia language, and then some code to run it for a random point.
The code is here, including some explaining on how to use and install it.
Here are some examples:
Blog
Advent of Code 2016 in Julia
Last year I discovered by chance a code competition that happens in the month of December: The Advent of Code. This event consists of small puzzles release every day of December, up to the 25th. Which amounts to 25 problems! (I can do math).
Last year I tried doing some on Bash, and latter switched to Julia, but never got to finish them. This year I decided to use Julia, because I want to test it for these general problems.
Blog
Apresentação de Julia no SMNE
Nos dias 30 de Novembro à 2 de Dezembro de 2016 acontece o primeiro Simpósio de Métodos Numéricos em Engenharia. Neste simpósio darei um minicurso sobre Julia.
Deixo aqui o material preliminar para os alunos do minicurso, ou interessados.
Notebook (necessário) exemplo.jl (necessário) HTML estático do notebook - para quem não conseguiu instalar Também deixo aqui o link do Etherpad para usarmos na aula.
Quem não conseguiu instalar até agora, pode tentar usar o JuliaBox, que roda Julia online.
Blog
Test Driven Development in Julia
First, what is Test Driven Development (TDD)? Well, I’m not an expert, so don’t quote me, but in practice it means that you develop your code to fulfill tests that you define prior to beginning your work. You do not define all your tests first, though. You define a single test, and produce code to pass it. Then you define another code, and produce code to pass both. And so forth until you complete your specification.
Blog
Minicurso de Julia para Otimização
Semana passada, nos dias 22 a 24 de Fevereiro aconteceu o VIII Simpósio de Análise Numérica e Otimização. Nesse evento, eu apresentei um minicurso de Julia com foco em Otimização não Linear. Entre 10 e 15 pessoas participaram no total, entre alunos de graduação, de pós-graduação, e professores. O objetivo principal era apresentar a linguagem e alguns detalhes importante para otimização não linear, o que foi obtido. Por outro lado, as aulas foram mais longas do que deveriam, e o conteúdo ficou muito esparso, pois tive que variar entre o básico e uma aplicação mais avançada.
Blog
Automated testing
We’re gonna learn how to make a test for your Julia code that runs whenever you publish it online. We’re gonna use
GitHub to store the code; Travis CI to run your tests; Coveralls.io to verify which lines of code your test are missing. Alternatively, for a open source alternative, see GitLab, which I don’t know enough yet.
Let’s make a litte code to solve a linear system, paying attention to the problems it may arise, like incorrect dimensions, underdetermined and overdetermined systems, singular matrices, etc.
Blog
VIII Simpósio de Análise Numérica e Otimização - Minicurso de Julia
Nos dias 22 a 24 de Fevereiro de 2016 acontecerá o VIII Simpósio de Análise Numérica e Otimização. É uma ótima oportunidade para interagir com colegas e conhecer alguns assuntos novos de pesquisa.
Em particular, nesse simpósio apresentarei um minicurso sobre Julia com foco em Otimização. O minicurso é voltado para pessoas que conhecem um pouco de MatLab ou alguma outra linguagem. Serão três dias, com uma introdução à linguagem, alguns exemplos, o CUTEst.
Blog
Installing CUTEst and CUTEst.jl
This post will tell you how to install CUTEst using a different tool that makes it much easier. Also, I’ll install CUTEst.jl, the CUTEst interface for Julia.
Edit: Now, CUTEst.jl install CUTEst by itself. Check this post. Also, for Linux, I’ve created this CUTEst installer, which should be easier to use. February, 11, 2017.
Edit: Some corrections were made on February, 15, 2016.
Edit: Some corrections were made on November, 11, 2015.
Blog
Workshop de Ferramentas Computacionais - Maio de 2015
Sobre No dia 30 de Maio de 2015 acontecerá uma Oficina de Ferramentas Computacionais para Pesquisadores. Essa oficina será focada em três ferramentas básicas para desenvolvimento de software:
Bash Git Julia O Bash é o terminal tradicinal dos sistemas GNU/Linux (a tela preta). As possibilidades de uso são ilimitadas, mas vamos focar no básico, tentando chegar até a criação de um script simples.
O Git é uma ferramenta para controlar versões de softwares e outros arquivos.
Blog
Apresentação no VII Simpósio de Análise Numérica e Otimização - UFPR
No dia 24 de Fevereiro de 2015 aconteceu o (primeiro dia do) VII Simpósio de Análise Numérica e Otimização. Participei deste congresso fazendo uma apresentação sobre Ferramentas Computacionais para Pesquisadores (ver código).
Nesta apresentação, introduzo algumas ferramentas que considero bastante importantes para pesquisadores, principalmente da área de matemática computacional. Um resumo do que apresento é
Aprenda outras linguagens. Recomendo, por exemplo, conhecer Python ou Ruby, Shell e Makefile. Com essas ferramentas já é possível automatizar testes e fazer scripts com uso variado.
Blog
CUTEst.jl
About an year ago, Raniere started working on a interface for CUTEst. He decided to create ugly, a repository for CUTEst, but following the Unix procedure for building packages (./configure, make, make install). Also with ugly, he wanted to enable building a shared library to be used with Julia. This approach worked, but maintaining it is troublesome, since it would require updating and testing of ugly for every update of CUTEst.
Blog
A Study in Julia
Today I begin a study in Julia. This fantastic tool has syntax similar to that of Octave/Matlab, but is much faster. Furthermore, the interface with functions made in C and Fortran is much easier to accomplish, and since most things in computational mathematics are on these languages, this feature is wonderful.
My intented work is
make a simple julia and C interface, with auto-compiling and test on GitHub and Travis CI; develop a nonlinear optimization tool completely in Julia, then improve the slow bits by using C and/or Fortran; implement/improve the CUTEst interface [1], [2], possibly creating a SIF converter.
Blog
The End of Fortran
One of my main interest is the end of Fortran as the only programming language used by mathematicias. If you’re not in the area of mathematical programming, you probably find it strange for me to be talking about Fortran, so I explain. Fortran is considered the fastest programming language in mathematics, and most things made are in this language. Other often used languages such as MatLab/Octave and Mathematica are high-level, which means they are slower and are not considered for serious applications.
Tag: math
Blog
Best Frenemies: Julia and Python
Julia and Python are often seen as competitors, but in this video I want to show the integration between them. Using the PythonCall and the JuliaCall packages we can call Julia from Python and Python from Julia. Check the video out or check edited transcript below.
Don’t forget to like and subscribe.
Download the python-from-julia.jl Pluto notebook.
Download the julia-from-python.ipynb Jupyter notebook.
There are currently two ways to integrate Python in Julia and Julia in Python.
Blog
Julia Language Can't Even Handle Simple Math
I have a new video up about how Julia cannot even handle simple math! Check the video out or check an edited written version below.
Don’t forget to like and subscribe
Introduction Julia is supposed to be a great programming language, but it can’t even do simple math correctly. Take a look at this:
julia> 0.1 + 0.2 - 0.3 5.551115123125783e-17 It should be zero, but it’s actually not. The notation means
Tag: numerical-methods
Blog
Best Frenemies: Julia and Python
Julia and Python are often seen as competitors, but in this video I want to show the integration between them. Using the PythonCall and the JuliaCall packages we can call Julia from Python and Python from Julia. Check the video out or check edited transcript below.
Don’t forget to like and subscribe.
Download the python-from-julia.jl Pluto notebook.
Download the julia-from-python.ipynb Jupyter notebook.
There are currently two ways to integrate Python in Julia and Julia in Python.
Blog
Julia Language Can't Even Handle Simple Math
I have a new video up about how Julia cannot even handle simple math! Check the video out or check an edited written version below.
Don’t forget to like and subscribe
Introduction Julia is supposed to be a great programming language, but it can’t even do simple math correctly. Take a look at this:
julia> 0.1 + 0.2 - 0.3 5.551115123125783e-17 It should be zero, but it’s actually not. The notation means
Tag: scientific-computing
Blog
Best Frenemies: Julia and Python
Julia and Python are often seen as competitors, but in this video I want to show the integration between them. Using the PythonCall and the JuliaCall packages we can call Julia from Python and Python from Julia. Check the video out or check edited transcript below.
Don’t forget to like and subscribe.
Download the python-from-julia.jl Pluto notebook.
Download the julia-from-python.ipynb Jupyter notebook.
There are currently two ways to integrate Python in Julia and Julia in Python.
Blog
Julia Language Can't Even Handle Simple Math
I have a new video up about how Julia cannot even handle simple math! Check the video out or check an edited written version below.
Don’t forget to like and subscribe
Introduction Julia is supposed to be a great programming language, but it can’t even do simple math correctly. Take a look at this:
julia> 0.1 + 0.2 - 0.3 5.551115123125783e-17 It should be zero, but it’s actually not. The notation means
Tag: demand
Blog
Demand of your art
On a previous video/blog post, I talked about production planning using an example of selling art on the beach. One simplification of that model was the assumption that everything that we build can be sold.
You can check the pluto notebook html or download the notebook.
I have an excert down here, but for more details, check the video.
If you just want, you can just skip to questions.
As we saw on last episode, Javier is creating and selling his art on the beach.
Tag: mathematical-programming
Blog
Demand of your art
On a previous video/blog post, I talked about production planning using an example of selling art on the beach. One simplification of that model was the assumption that everything that we build can be sold.
You can check the pluto notebook html or download the notebook.
I have an excert down here, but for more details, check the video.
If you just want, you can just skip to questions.
As we saw on last episode, Javier is creating and selling his art on the beach.
Blog
Selling art on the beach
I just released a video about using mathematical modeling to solve a production planning with the thematic of selling your art on the beach.
You can check the pluto notebook html here or download the notebook here.
I have an excert down here, but for more details, check the video.
In Brazil, a common joke between undergrad students (usually during exams) is that “maybe I should give up and go sell my art on the beach”.
Tag: microeconomics
Blog
Demand of your art
On a previous video/blog post, I talked about production planning using an example of selling art on the beach. One simplification of that model was the assumption that everything that we build can be sold.
You can check the pluto notebook html or download the notebook.
I have an excert down here, but for more details, check the video.
If you just want, you can just skip to questions.
As we saw on last episode, Javier is creating and selling his art on the beach.
Blog
Selling art on the beach
I just released a video about using mathematical modeling to solve a production planning with the thematic of selling your art on the beach.
You can check the pluto notebook html here or download the notebook here.
I have an excert down here, but for more details, check the video.
In Brazil, a common joke between undergrad students (usually during exams) is that “maybe I should give up and go sell my art on the beach”.
Tag: modeling
Blog
Demand of your art
On a previous video/blog post, I talked about production planning using an example of selling art on the beach. One simplification of that model was the assumption that everything that we build can be sold.
You can check the pluto notebook html or download the notebook.
I have an excert down here, but for more details, check the video.
If you just want, you can just skip to questions.
As we saw on last episode, Javier is creating and selling his art on the beach.
Blog
Selling art on the beach
I just released a video about using mathematical modeling to solve a production planning with the thematic of selling your art on the beach.
You can check the pluto notebook html here or download the notebook here.
I have an excert down here, but for more details, check the video.
In Brazil, a common joke between undergrad students (usually during exams) is that “maybe I should give up and go sell my art on the beach”.
Tag: optimization
Blog
Demand of your art
On a previous video/blog post, I talked about production planning using an example of selling art on the beach. One simplification of that model was the assumption that everything that we build can be sold.
You can check the pluto notebook html or download the notebook.
I have an excert down here, but for more details, check the video.
If you just want, you can just skip to questions.
As we saw on last episode, Javier is creating and selling his art on the beach.
Blog
Selling art on the beach
I just released a video about using mathematical modeling to solve a production planning with the thematic of selling your art on the beach.
You can check the pluto notebook html here or download the notebook here.
I have an excert down here, but for more details, check the video.
In Brazil, a common joke between undergrad students (usually during exams) is that “maybe I should give up and go sell my art on the beach”.
Blog
Optimizing the Dollar Game from Numberphile
I just watched The Dollar Game - Numberphile, in which a game involving graphs is presented. I recommend you watch the video for complete information.
The game involves a graph with integer values on its nodes, positive and negative. For instance, the following graph:
Each node corresponds to a person, the node value is the amount of money that person has, the edges are the people that person can give or take money from.
Blog
My experience in the JuMP-dev annual workshop
Last week I had the pleasure of being invited to the Second annual JuMP-dev workshop, which happened in June 27-29, 2018 at Bordeaux, France. I’ve presented the packages from the Julia Smooth Optimizers organization, and had a very good time meeting with the JuMP developers.
For those still unaware, JuMP is a modelling language for Mathematical Programming written in Julia. It provides access to a few different solvers for many kinds of problems, and it works inside of Julia, so one can enjoy the advantages of having a robust language if there is a need for advanced usage.
Blog
Introduction to Performance Profile
The comparison of algorithms is an active area of work. When we start learning algorithms, or more advanced programming, we learn of different ways of doing the same complex task. The most usual first example is sorting, which introduces a series of different ways to sort a single array, such as selection sort, insertion sort, quick sort, merge sort, etc. When comparing these algorithms, we take into account a few things: how fast it is, how much memory it needs, what are the best/worst/average-case complexities, and so on.
Blog
NLPModels.jl and CUTEst.jl: Constrained optimization
This is a continuation of this post. And again, you can follow the commands of this post in the asciinema.
If you followed along last post, you should know the basics of our NLPModels API, including CUTEst access.
One thing I didn’t explore, though, was constrained problems. It’d complicate too much.
However, now that we know how to handle the basics, we can move to the advanced.
Nonlinear Programming format
Blog
NLPModels.jl, CUTEst.jl and other Nonlinear Optimization Packages on Julia
A couple of weeks ago me and Professor Dominique Orban have finally made a release of CUTEst.jl, a wrapper for the CUTEst repository of problems for nonlinear optimization (which I’ve mentioned before). Along with this release, we’ve done a release of NLPModels.jl, the underlying package. I think it’s time I explain a little about these packages, others, and how to use them together. If you want to see the output of the commands, you can open this ASCIInema side by side.
Blog
Minicurso de Julia para Otimização
Semana passada, nos dias 22 a 24 de Fevereiro aconteceu o VIII Simpósio de Análise Numérica e Otimização. Nesse evento, eu apresentei um minicurso de Julia com foco em Otimização não Linear. Entre 10 e 15 pessoas participaram no total, entre alunos de graduação, de pós-graduação, e professores. O objetivo principal era apresentar a linguagem e alguns detalhes importante para otimização não linear, o que foi obtido. Por outro lado, as aulas foram mais longas do que deveriam, e o conteúdo ficou muito esparso, pois tive que variar entre o básico e uma aplicação mais avançada.
Tag: orms
Blog
Demand of your art
On a previous video/blog post, I talked about production planning using an example of selling art on the beach. One simplification of that model was the assumption that everything that we build can be sold.
You can check the pluto notebook html or download the notebook.
I have an excert down here, but for more details, check the video.
If you just want, you can just skip to questions.
As we saw on last episode, Javier is creating and selling his art on the beach.
Blog
Selling art on the beach
I just released a video about using mathematical modeling to solve a production planning with the thematic of selling your art on the beach.
You can check the pluto notebook html here or download the notebook here.
I have an excert down here, but for more details, check the video.
In Brazil, a common joke between undergrad students (usually during exams) is that “maybe I should give up and go sell my art on the beach”.
Tag: planning
Blog
Demand of your art
On a previous video/blog post, I talked about production planning using an example of selling art on the beach. One simplification of that model was the assumption that everything that we build can be sold.
You can check the pluto notebook html or download the notebook.
I have an excert down here, but for more details, check the video.
If you just want, you can just skip to questions.
As we saw on last episode, Javier is creating and selling his art on the beach.
Blog
Selling art on the beach
I just released a video about using mathematical modeling to solve a production planning with the thematic of selling your art on the beach.
You can check the pluto notebook html here or download the notebook here.
I have an excert down here, but for more details, check the video.
In Brazil, a common joke between undergrad students (usually during exams) is that “maybe I should give up and go sell my art on the beach”.
Tag: dungeons-and-dragons
Blog
Solving an RPG puzzle with Julia
I have a new video out where I talk about solving an RPG puzzle using Julia:
You can check the pluto notebook html here or download the notebook here.
Here’s a more fantastic setup than I used in the video:
You walk into a large room with a 3 pointed star painted on the floor. Three triangular stones sit on top of the points of the star. One of the points of the triangle complement the point of the star, indicating that there is a correct orientation for it.
Tag: linear-algebra
Blog
Solving an RPG puzzle with Julia
I have a new video out where I talk about solving an RPG puzzle using Julia:
You can check the pluto notebook html here or download the notebook here.
Here’s a more fantastic setup than I used in the video:
You walk into a large room with a 3 pointed star painted on the floor. Three triangular stones sit on top of the points of the star. One of the points of the triangle complement the point of the star, indicating that there is a correct orientation for it.
Tag: modular-arithmetic
Blog
Solving an RPG puzzle with Julia
I have a new video out where I talk about solving an RPG puzzle using Julia:
You can check the pluto notebook html here or download the notebook here.
Here’s a more fantastic setup than I used in the video:
You walk into a large room with a 3 pointed star painted on the floor. Three triangular stones sit on top of the points of the star. One of the points of the triangle complement the point of the star, indicating that there is a correct orientation for it.
Tag: rpg
Blog
Solving an RPG puzzle with Julia
I have a new video out where I talk about solving an RPG puzzle using Julia:
You can check the pluto notebook html here or download the notebook here.
Here’s a more fantastic setup than I used in the video:
You walk into a large room with a 3 pointed star painted on the floor. Three triangular stones sit on top of the points of the star. One of the points of the triangle complement the point of the star, indicating that there is a correct orientation for it.
Tag: c
Blog
10 examples of embedding Julia in C/C++
I worked on this blog post working for the Netherlands eScience Center.
Check the blog post here.
Blog
A Study in Julia
Today I begin a study in Julia. This fantastic tool has syntax similar to that of Octave/Matlab, but is much faster. Furthermore, the interface with functions made in C and Fortran is much easier to accomplish, and since most things in computational mathematics are on these languages, this feature is wonderful.
My intented work is
make a simple julia and C interface, with auto-compiling and test on GitHub and Travis CI; develop a nonlinear optimization tool completely in Julia, then improve the slow bits by using C and/or Fortran; implement/improve the CUTEst interface [1], [2], possibly creating a SIF converter.
Tag: cpp
Blog
10 examples of embedding Julia in C/C++
I worked on this blog post working for the Netherlands eScience Center.
Check the blog post here.
Tag: embedding
Blog
10 examples of embedding Julia in C/C++
I worked on this blog post working for the Netherlands eScience Center.
Check the blog post here.
Tag: nlesc
Blog
10 examples of embedding Julia in C/C++
I worked on this blog post working for the Netherlands eScience Center.
Check the blog post here.
Blog
Can Python with Julia be faster than low-level code?
I worked on this blog post working for eScience Center. This is the third and last part of a three-part series. Co-authored by Faruk Diblen.
Check the blog post here.
Blog
Speed up your Python code using Julia
I worked on this blog post working for the Netherlands eScience Center. This is the second part of a three-part series. Co-authored by Faruk Diblen.
Check the blog post here.
Blog
How to call Julia code from Python
I worked on this blog post working for the Netherlands eScience Center. This is the first part of a three-part series. Co-authored by Faruk Diblen.
Check the blog post here.
Blog
cffinit: NOW is the time to get more recognition for your software!
I worked on this blog post working for eScience Center. Co-authored by Faruk Diblen.
Check the blog post here.
Tag: python
Blog
Can Python with Julia be faster than low-level code?
I worked on this blog post working for eScience Center. This is the third and last part of a three-part series. Co-authored by Faruk Diblen.
Check the blog post here.
Blog
Speed up your Python code using Julia
I worked on this blog post working for the Netherlands eScience Center. This is the second part of a three-part series. Co-authored by Faruk Diblen.
Check the blog post here.
Blog
How to call Julia code from Python
I worked on this blog post working for the Netherlands eScience Center. This is the first part of a three-part series. Co-authored by Faruk Diblen.
Check the blog post here.
Blog
perprof-py: A Performance Profile Package for Python
One of the things I worked with was a Performance Profile tool, in the sense of Dolan and Moré. This tool, perprof-py, written in Python, reads input in the form of a table of problem with time and exitflag, and outputs a image/pdf with the performance profile. This tool is very important for the nonlinear optimization community, since it is one of the main comparison tools for the algorithms.
The package is open source, available for changes, improvements and suggestions.
Tag: cff
Blog
cffinit: NOW is the time to get more recognition for your software!
I worked on this blog post working for eScience Center. Co-authored by Faruk Diblen.
Check the blog post here.
Tag: cffinit
Blog
cffinit: NOW is the time to get more recognition for your software!
I worked on this blog post working for eScience Center. Co-authored by Faruk Diblen.
Check the blog post here.
Tag: software-citation
Blog
cffinit: NOW is the time to get more recognition for your software!
I worked on this blog post working for eScience Center. Co-authored by Faruk Diblen.
Check the blog post here.
Tag: franklin
Blog
Migração do site para Franklin.jl
Update 2022-12-30: Já não uso mais Franklin.jl.
Há algum tempo o Jekyll tem me dado trabalho. Como não sou usuário de Ruby, volta e meia falta alguma coisa na minha instalação e eu passo horas tentando corrigir o problema pra fazer meu site rodar localmente. Para o CiDAMO, eu considerei o Hugo, já que tem mais suporte e eu não seria a única pessoa a cuidar do site. Já para meu site pessoal, e o site do Julia Smooth Optimizers, resolvi usar Franklin, já que eu quero mais é usar Julia mesmo.
Tag: site
Blog
Migração do site para Franklin.jl
Update 2022-12-30: Já não uso mais Franklin.jl.
Há algum tempo o Jekyll tem me dado trabalho. Como não sou usuário de Ruby, volta e meia falta alguma coisa na minha instalação e eu passo horas tentando corrigir o problema pra fazer meu site rodar localmente. Para o CiDAMO, eu considerei o Hugo, já que tem mais suporte e eu não seria a única pessoa a cuidar do site. Já para meu site pessoal, e o site do Julia Smooth Optimizers, resolvi usar Franklin, já que eu quero mais é usar Julia mesmo.
Blog
Professional site and blog for researchers, professors and students
TL; DR: Make a professional web page, like mine, and/or a blog, like mine. Use Jekyll and my links: work page, blog page.
Summary: Summary: Introduction General Information Using my site as a starting point Work page - Easy way Work page - Hard way Blog page - Easy way Blog page - Hard way Both - Hard way Introduction We live in the age of information. It is easier than ever to find someone from another site of the planet, and contact them.
Tag: fractal
Blog
Koch snowflakes for the holidays
Code for these images.
I hope you’re familiar with the Koch curve fractal or snowflake. It essentially consists taking a line segment, splitting it in three, and substituting the middle part by two segments that form an equilateral triangle without the base. From one segment you obtain four. For each new segment, repeat the process.
Images:
The most important aspect of the koch line is that it looks awesome. Furthermore, you can do it for any image that is a collection of segments.
Blog
Julia Fractal on Julia
I wanted a background that would update automatically in some interesting way, instead of just random images. After some thought, I decided to use some Julia fractals.
I made a code to create the Julia fractals in the Julia language, and then some code to run it for a random point.
The code is here, including some explaining on how to use and install it.
Here are some examples:
Tag: dev
Blog
Package Development in Julia 1.0 using the REPL
This is a quick post on package development in Julia 1.0. Let me know if you’re interested in more, and what.
Suppose you’re developing a package - say, MyPackage.jl - whether from scratch, or updating from Julia 0.6. First, and foremost, you need to be able to run and test it. On Julia 1.0, this is one possible way, while using the REPL.
Choose a folder to develop it and create the necessary files
Tag: pkg
Blog
Package Development in Julia 1.0 using the REPL
This is a quick post on package development in Julia 1.0. Let me know if you’re interested in more, and what.
Suppose you’re developing a package - say, MyPackage.jl - whether from scratch, or updating from Julia 0.6. First, and foremost, you need to be able to run and test it. On Julia 1.0, this is one possible way, while using the REPL.
Choose a folder to develop it and create the necessary files
Tag: test
Blog
Package Development in Julia 1.0 using the REPL
This is a quick post on package development in Julia 1.0. Let me know if you’re interested in more, and what.
Suppose you’re developing a package - say, MyPackage.jl - whether from scratch, or updating from Julia 0.6. First, and foremost, you need to be able to run and test it. On Julia 1.0, this is one possible way, while using the REPL.
Choose a folder to develop it and create the necessary files
Blog
Automated testing
We’re gonna learn how to make a test for your Julia code that runs whenever you publish it online. We’re gonna use
GitHub to store the code; Travis CI to run your tests; Coveralls.io to verify which lines of code your test are missing. Alternatively, for a open source alternative, see GitLab, which I don’t know enough yet.
Let’s make a litte code to solve a linear system, paying attention to the problems it may arise, like incorrect dimensions, underdetermined and overdetermined systems, singular matrices, etc.
Tag: jump
Blog
Optimizing the Dollar Game from Numberphile
I just watched The Dollar Game - Numberphile, in which a game involving graphs is presented. I recommend you watch the video for complete information.
The game involves a graph with integer values on its nodes, positive and negative. For instance, the following graph:
Each node corresponds to a person, the node value is the amount of money that person has, the edges are the people that person can give or take money from.
Blog
My experience in the JuMP-dev annual workshop
Last week I had the pleasure of being invited to the Second annual JuMP-dev workshop, which happened in June 27-29, 2018 at Bordeaux, France. I’ve presented the packages from the Julia Smooth Optimizers organization, and had a very good time meeting with the JuMP developers.
For those still unaware, JuMP is a modelling language for Mathematical Programming written in Julia. It provides access to a few different solvers for many kinds of problems, and it works inside of Julia, so one can enjoy the advantages of having a robust language if there is a need for advanced usage.
Tag: linearprogramming
Blog
Optimizing the Dollar Game from Numberphile
I just watched The Dollar Game - Numberphile, in which a game involving graphs is presented. I recommend you watch the video for complete information.
The game involves a graph with integer values on its nodes, positive and negative. For instance, the following graph:
Each node corresponds to a person, the node value is the amount of money that person has, the edges are the people that person can give or take money from.
Tag: numberphile
Blog
Optimizing the Dollar Game from Numberphile
I just watched The Dollar Game - Numberphile, in which a game involving graphs is presented. I recommend you watch the video for complete information.
The game involves a graph with integer values on its nodes, positive and negative. For instance, the following graph:
Each node corresponds to a person, the node value is the amount of money that person has, the edges are the people that person can give or take money from.
Tag: work
Blog
My experience in the JuMP-dev annual workshop
Last week I had the pleasure of being invited to the Second annual JuMP-dev workshop, which happened in June 27-29, 2018 at Bordeaux, France. I’ve presented the packages from the Julia Smooth Optimizers organization, and had a very good time meeting with the JuMP developers.
For those still unaware, JuMP is a modelling language for Mathematical Programming written in Julia. It provides access to a few different solvers for many kinds of problems, and it works inside of Julia, so one can enjoy the advantages of having a robust language if there is a need for advanced usage.
Blog
Introduction to Performance Profile
The comparison of algorithms is an active area of work. When we start learning algorithms, or more advanced programming, we learn of different ways of doing the same complex task. The most usual first example is sorting, which introduces a series of different ways to sort a single array, such as selection sort, insertion sort, quick sort, merge sort, etc. When comparing these algorithms, we take into account a few things: how fast it is, how much memory it needs, what are the best/worst/average-case complexities, and so on.
Blog
Installing Gurobi 7 on Linux
Disclaimer: What I did here might work on Windows or OSX, but I give no guarantee.
Request by Clóvis Gonzaga.
First, create an account here and login.
Secondly, download the appropriate Gurobi version clicking on Gurobi Optimizer. In my case, it is Linux 64 bits. Where to download this is optional, but you have to remember, as we’ll use later. I use a folder packages on my home folder.
Third, unpack the file.
Blog
Minicurso de Julia no IX Simpósio de Análise Numérica e Otimização da UFPR
Hoje ministrarei mais um minicurso de Julia na UFPR. Desta vez será no IX Simpósio de Análise Numérica e Otimização da UFPR.
Por enquanto, deixo esta página apenas com o link para o notebook que utilizarei: aqui.
Blog
NLPModels.jl and CUTEst.jl: Constrained optimization
This is a continuation of this post. And again, you can follow the commands of this post in the asciinema.
If you followed along last post, you should know the basics of our NLPModels API, including CUTEst access.
One thing I didn’t explore, though, was constrained problems. It’d complicate too much.
However, now that we know how to handle the basics, we can move to the advanced.
Nonlinear Programming format
Blog
NLPModels.jl, CUTEst.jl and other Nonlinear Optimization Packages on Julia
A couple of weeks ago me and Professor Dominique Orban have finally made a release of CUTEst.jl, a wrapper for the CUTEst repository of problems for nonlinear optimization (which I’ve mentioned before). Along with this release, we’ve done a release of NLPModels.jl, the underlying package. I think it’s time I explain a little about these packages, others, and how to use them together. If you want to see the output of the commands, you can open this ASCIInema side by side.
Blog
Apresentação de Julia no SMNE
Nos dias 30 de Novembro à 2 de Dezembro de 2016 acontece o primeiro Simpósio de Métodos Numéricos em Engenharia. Neste simpósio darei um minicurso sobre Julia.
Deixo aqui o material preliminar para os alunos do minicurso, ou interessados.
Notebook (necessário) exemplo.jl (necessário) HTML estático do notebook - para quem não conseguiu instalar Também deixo aqui o link do Etherpad para usarmos na aula.
Quem não conseguiu instalar até agora, pode tentar usar o JuliaBox, que roda Julia online.
Blog
A quasi-solution to my bib problem
For some time, one of my concerns is bibliography management. See my projects page if you have interest on working with something like that.
In the past, what we had was simply writing all your bibliographies directly on a .tex file. Then, if you needed to write again, you would copy-paste it somewhere. If you made a mistake, you would have to fix it by hand. If the journal changed styles, you would have to change everything by hand.
Blog
Minicurso de Julia para Otimização
Semana passada, nos dias 22 a 24 de Fevereiro aconteceu o VIII Simpósio de Análise Numérica e Otimização. Nesse evento, eu apresentei um minicurso de Julia com foco em Otimização não Linear. Entre 10 e 15 pessoas participaram no total, entre alunos de graduação, de pós-graduação, e professores. O objetivo principal era apresentar a linguagem e alguns detalhes importante para otimização não linear, o que foi obtido. Por outro lado, as aulas foram mais longas do que deveriam, e o conteúdo ficou muito esparso, pois tive que variar entre o básico e uma aplicação mais avançada.
Blog
Ubuntu graphic interface stopped working
Some time ago, I helped a colleague install Ubuntu in a Sony Vaio, which ended up having SSD problems. Today, his computer started without the bar and menu from Unity. Only the desktop and icons were appearing, and the keyboards shortcuts were also not working.
To fix, I found this askubuntu question, that worked like a charm.
The steps were simply:
Enter the terminal mode with Ctrl+Shift+F2 (or other number); Login; Enter the commands export DISPLAY=:0 sudo dconf reset -f /org/compiz/ setsid unity Reboot with sudo reboot Verify everything is working now.
Blog
VIII Simpósio de Análise Numérica e Otimização - Minicurso de Julia
Nos dias 22 a 24 de Fevereiro de 2016 acontecerá o VIII Simpósio de Análise Numérica e Otimização. É uma ótima oportunidade para interagir com colegas e conhecer alguns assuntos novos de pesquisa.
Em particular, nesse simpósio apresentarei um minicurso sobre Julia com foco em Otimização. O minicurso é voltado para pessoas que conhecem um pouco de MatLab ou alguma outra linguagem. Serão três dias, com uma introdução à linguagem, alguns exemplos, o CUTEst.
Blog
Apresentação no Poincaré - 2015
Fui convidado a fazer alguma apresentação para os seminários Poincaré do PET Matemática da UFPR. Irei falar sobre o Método de Newton para zeros de funções, sistemas não lineares, e para otimização.
A apresentação será hoje, dia 20 de Novembro, às 17h40. Os slides você pode pegar aqui ou ver o código no GitHub.
Blog
New computer at work
I just got a new notebook at work. This is a HP computer, with a AMD a10-4600M processor, 4GB of RAM and 320GB of HD space. I have a personal notebook with a similar configuration and my work desktop also has a similar configuration, so this isn’t a great improvement. However, we’re gonna have an additional monitor, so this is good enough. Also, I’ll leave the other one as the always-on screen+irssi computer.
Blog
Apresentação no VII Simpósio de Análise Numérica e Otimização - UFPR
No dia 24 de Fevereiro de 2015 aconteceu o (primeiro dia do) VII Simpósio de Análise Numérica e Otimização. Participei deste congresso fazendo uma apresentação sobre Ferramentas Computacionais para Pesquisadores (ver código).
Nesta apresentação, introduzo algumas ferramentas que considero bastante importantes para pesquisadores, principalmente da área de matemática computacional. Um resumo do que apresento é
Aprenda outras linguagens. Recomendo, por exemplo, conhecer Python ou Ruby, Shell e Makefile. Com essas ferramentas já é possível automatizar testes e fazer scripts com uso variado.
Blog
A Study in Julia
Today I begin a study in Julia. This fantastic tool has syntax similar to that of Octave/Matlab, but is much faster. Furthermore, the interface with functions made in C and Fortran is much easier to accomplish, and since most things in computational mathematics are on these languages, this feature is wonderful.
My intented work is
make a simple julia and C interface, with auto-compiling and test on GitHub and Travis CI; develop a nonlinear optimization tool completely in Julia, then improve the slow bits by using C and/or Fortran; implement/improve the CUTEst interface [1], [2], possibly creating a SIF converter.
Blog
Instalando o Ubuntu 14.10 no Sony Vaio (Problemas com o SSD)
Hoje instalei em dual-boot o Ubuntu 14.10 e o windows 8. Não tive problemas com o UEFI, nem secure boot. Não tenho certeza, mas talvez o windows não seja o que veio de fábrica.
Eu já tinha um USB com o Ubuntu 14.10, então pluguei-o e bootei o computador. F12-F12-F12-F12… A tela de seleção de boot não apareceu, mas o usb foi escolhido automaticamente.
O ubuntu bootou e selecionei instalar. Escolhi o particionamento manual, que é minha escolha usual.
Blog
Mudando de HD
Ontem eu acabei de montar um computador novo. Esse computador é um upgrade do meu, e o meu passaria para a Kally. No entanto, eu não gostaria de perder a minha instalação dor Arch, nem de ficar com o HD antigo, então decidi tentar copiar as partições.
Nota: Não sei a aplicabilidade destes comandos para outras distribuições.
Nota: Você também poderia fazer o que fiz, usando o dd, mas eu preferi evitar.
Blog
Instalação da Impressora no DMAT-UFPR
Hoje tive que instalar a impressora do DMAT da UFPR no meu archlinux. Infelizmente o suporte técnico da universidade não dá suporte para essa distribuição (só Ubuntu). Existe o suporte ao Windows (aqui), que foi necessário para eu obter algumas informações sobre a impressora. Tive algum trabalho para achar as configurações corretas, mas acho que consegui, e vou deixar explicado aqui caso alguém precise. Infelizmente não refiz os passos a seguir, porque fui costurando até chegar ao ponto em que a impressora funcionou.
Blog
Academic Path
TL;DR:
11/2014-present - Professor at UFPR; 12/2013-11/2014 - Postdoctorate at UNICAMP, improving the work of my doctorate; 01/2009-11/2013 - Doctorate at UNICAMP on the field of Applied Mathematics, working with Nonlinear Optimization. My thesis was "Dynamic Control of Infeasibility for Nonlinear Programming" 03/2005-12/2008 - Bachelor of Applied Mathematics; Long version:
I began working on mathematics on 2005, entering the course 51 of UNICAMP, where you study for one and half year the common classes to Mathematics, Applied Mathematics, Physics, and some other courses.
Blog
Caminho Acadêmico
Versão curta:
11/2014-presente - Professor na UFPR; 12/2013-11/2014 - Pós-doutorado na UNICAMP, melhorando o trabalho do meu doutorado; 01/2009-11/2013 - Doutorado na UNICAMP na área de Matemática Aplicada, trabalhando com Otimização Não-Linear. Minha tese foi "Controle Dinâmico da Infactibilidade para Programação Não-Linear"; 03/2005-12/2008 - Bacharel em Matemática Aplicada. Versão Longa:
Eu comecei a trabalhar com matemática em 2005, entrando no curso 51 da UNICAMP, onde se estuda por um ano e meio as classes comuns aos cursos de Matemática, Matemática Aplicada, Física, e outros cursos.
Tag: performance
Blog
Introduction to Performance Profile
The comparison of algorithms is an active area of work. When we start learning algorithms, or more advanced programming, we learn of different ways of doing the same complex task. The most usual first example is sorting, which introduces a series of different ways to sort a single array, such as selection sort, insertion sort, quick sort, merge sort, etc. When comparing these algorithms, we take into account a few things: how fast it is, how much memory it needs, what are the best/worst/average-case complexities, and so on.
Blog
perprof-py: A Performance Profile Package for Python
One of the things I worked with was a Performance Profile tool, in the sense of Dolan and Moré. This tool, perprof-py, written in Python, reads input in the form of a table of problem with time and exitflag, and outputs a image/pdf with the performance profile. This tool is very important for the nonlinear optimization community, since it is one of the main comparison tools for the algorithms.
The package is open source, available for changes, improvements and suggestions.
Tag: profile
Blog
Introduction to Performance Profile
The comparison of algorithms is an active area of work. When we start learning algorithms, or more advanced programming, we learn of different ways of doing the same complex task. The most usual first example is sorting, which introduces a series of different ways to sort a single array, such as selection sort, insertion sort, quick sort, merge sort, etc. When comparing these algorithms, we take into account a few things: how fast it is, how much memory it needs, what are the best/worst/average-case complexities, and so on.
Blog
perprof-py: A Performance Profile Package for Python
One of the things I worked with was a Performance Profile tool, in the sense of Dolan and Moré. This tool, perprof-py, written in Python, reads input in the form of a table of problem with time and exitflag, and outputs a image/pdf with the performance profile. This tool is very important for the nonlinear optimization community, since it is one of the main comparison tools for the algorithms.
The package is open source, available for changes, improvements and suggestions.
Tag: gurobi
Blog
Installing Gurobi 7 on Linux
Disclaimer: What I did here might work on Windows or OSX, but I give no guarantee.
Request by Clóvis Gonzaga.
First, create an account here and login.
Secondly, download the appropriate Gurobi version clicking on Gurobi Optimizer. In my case, it is Linux 64 bits. Where to download this is optional, but you have to remember, as we’ll use later. I use a folder packages on my home folder.
Third, unpack the file.
Tag: linux
Blog
Installing Gurobi 7 on Linux
Disclaimer: What I did here might work on Windows or OSX, but I give no guarantee.
Request by Clóvis Gonzaga.
First, create an account here and login.
Secondly, download the appropriate Gurobi version clicking on Gurobi Optimizer. In my case, it is Linux 64 bits. Where to download this is optional, but you have to remember, as we’ll use later. I use a folder packages on my home folder.
Third, unpack the file.
Blog
New computer at work
I just got a new notebook at work. This is a HP computer, with a AMD a10-4600M processor, 4GB of RAM and 320GB of HD space. I have a personal notebook with a similar configuration and my work desktop also has a similar configuration, so this isn’t a great improvement. However, we’re gonna have an additional monitor, so this is good enough. Also, I’ll leave the other one as the always-on screen+irssi computer.
Blog
Mudando de HD
Ontem eu acabei de montar um computador novo. Esse computador é um upgrade do meu, e o meu passaria para a Kally. No entanto, eu não gostaria de perder a minha instalação dor Arch, nem de ficar com o HD antigo, então decidi tentar copiar as partições.
Nota: Não sei a aplicabilidade destes comandos para outras distribuições.
Nota: Você também poderia fazer o que fiz, usando o dd, mas eu preferi evitar.
Tag: simposio
Blog
Minicurso de Julia no IX Simpósio de Análise Numérica e Otimização da UFPR
Hoje ministrarei mais um minicurso de Julia na UFPR. Desta vez será no IX Simpósio de Análise Numérica e Otimização da UFPR.
Por enquanto, deixo esta página apenas com o link para o notebook que utilizarei: aqui.
Tag: tutorial
Blog
Minicurso de Julia no IX Simpósio de Análise Numérica e Otimização da UFPR
Hoje ministrarei mais um minicurso de Julia na UFPR. Desta vez será no IX Simpósio de Análise Numérica e Otimização da UFPR.
Por enquanto, deixo esta página apenas com o link para o notebook que utilizarei: aqui.
Blog
NLPModels.jl, CUTEst.jl and other Nonlinear Optimization Packages on Julia
A couple of weeks ago me and Professor Dominique Orban have finally made a release of CUTEst.jl, a wrapper for the CUTEst repository of problems for nonlinear optimization (which I’ve mentioned before). Along with this release, we’ve done a release of NLPModels.jl, the underlying package. I think it’s time I explain a little about these packages, others, and how to use them together. If you want to see the output of the commands, you can open this ASCIInema side by side.
Tag: ufpr
Blog
Minicurso de Julia no IX Simpósio de Análise Numérica e Otimização da UFPR
Hoje ministrarei mais um minicurso de Julia na UFPR. Desta vez será no IX Simpósio de Análise Numérica e Otimização da UFPR.
Por enquanto, deixo esta página apenas com o link para o notebook que utilizarei: aqui.
Blog
Oficina de Ferramentas Computacionais na UFPR, 01 de Agosto de 2016
Nesta semana que passou, dos dias 01 a 03 de Agosto, aconteceu uma Oficina de Ferramentas Computacionais na UFPR. Essa oficina seguiu os moldes das oficinas do Software Carpentry e Data Carpentry. Esta foi a segunda oficina neste padrão que organizei, a primeira foi há um pouco mais de um ano, e foi apenas um dia. Nesta tivemos 3 dias de atividades, e vários participantes.
A oficina teve 28 participantes, porém nem todos vieram a todos os tutoriais.
Blog
Instalação da Impressora no DMAT-UFPR
Hoje tive que instalar a impressora do DMAT da UFPR no meu archlinux. Infelizmente o suporte técnico da universidade não dá suporte para essa distribuição (só Ubuntu). Existe o suporte ao Windows (aqui), que foi necessário para eu obter algumas informações sobre a impressora. Tive algum trabalho para achar as configurações corretas, mas acho que consegui, e vou deixar explicado aqui caso alguém precise. Infelizmente não refiz os passos a seguir, porque fui costurando até chegar ao ponto em que a impressora funcionou.
Tag: constrained
Blog
NLPModels.jl and CUTEst.jl: Constrained optimization
This is a continuation of this post. And again, you can follow the commands of this post in the asciinema.
If you followed along last post, you should know the basics of our NLPModels API, including CUTEst access.
One thing I didn’t explore, though, was constrained problems. It’d complicate too much.
However, now that we know how to handle the basics, we can move to the advanced.
Nonlinear Programming format
Tag: cutest
Blog
NLPModels.jl and CUTEst.jl: Constrained optimization
This is a continuation of this post. And again, you can follow the commands of this post in the asciinema.
If you followed along last post, you should know the basics of our NLPModels API, including CUTEst access.
One thing I didn’t explore, though, was constrained problems. It’d complicate too much.
However, now that we know how to handle the basics, we can move to the advanced.
Nonlinear Programming format
Blog
NLPModels.jl, CUTEst.jl and other Nonlinear Optimization Packages on Julia
A couple of weeks ago me and Professor Dominique Orban have finally made a release of CUTEst.jl, a wrapper for the CUTEst repository of problems for nonlinear optimization (which I’ve mentioned before). Along with this release, we’ve done a release of NLPModels.jl, the underlying package. I think it’s time I explain a little about these packages, others, and how to use them together. If you want to see the output of the commands, you can open this ASCIInema side by side.
Blog
Installing CUTEst and CUTEst.jl
This post will tell you how to install CUTEst using a different tool that makes it much easier. Also, I’ll install CUTEst.jl, the CUTEst interface for Julia.
Edit: Now, CUTEst.jl install CUTEst by itself. Check this post. Also, for Linux, I’ve created this CUTEst installer, which should be easier to use. February, 11, 2017.
Edit: Some corrections were made on February, 15, 2016.
Edit: Some corrections were made on November, 11, 2015.
Blog
CUTEst.jl
About an year ago, Raniere started working on a interface for CUTEst. He decided to create ugly, a repository for CUTEst, but following the Unix procedure for building packages (./configure, make, make install). Also with ugly, he wanted to enable building a shared library to be used with Julia. This approach worked, but maintaining it is troublesome, since it would require updating and testing of ugly for every update of CUTEst.
Blog
Selecting a Subgroup of CUTEst Problems According to Specific Criteria
For some time now I’ve been using CUTEst or CUTEr, and one of the common problems is selecting the problem you want to use.
Unfortunately, the classification on the site is not updated, and may contain errors, so I decided to create something, with low requirements and high reliability, to select problems according to a criteria.
This work was created before, but used the site’s classification as one of the sources of information for the selection.
Blog
CUTEst Com Matlab
No meu vídeo do YouTube, eu ensinei como se faz para instalar o CUTEst. Hoje estendo a instalação para instalar o MatLab também, mas para uma instalação mais detalhada, talvez o vídeo seja mais indicado.
Inicialmente instale o Matlab. Não vou entrar em detalhes, mas atente-se a duas coisas:
Algumas versões do matlab não colocam o executável num lugar “visível pelo terminal". Para resolver, usando o bash, adicione o caminho dos executáveis do MATLAB ao PATH no arquivo `~/.
Tag: nlpmodels
Blog
NLPModels.jl and CUTEst.jl: Constrained optimization
This is a continuation of this post. And again, you can follow the commands of this post in the asciinema.
If you followed along last post, you should know the basics of our NLPModels API, including CUTEst access.
One thing I didn’t explore, though, was constrained problems. It’d complicate too much.
However, now that we know how to handle the basics, we can move to the advanced.
Nonlinear Programming format
Blog
NLPModels.jl, CUTEst.jl and other Nonlinear Optimization Packages on Julia
A couple of weeks ago me and Professor Dominique Orban have finally made a release of CUTEst.jl, a wrapper for the CUTEst repository of problems for nonlinear optimization (which I’ve mentioned before). Along with this release, we’ve done a release of NLPModels.jl, the underlying package. I think it’s time I explain a little about these packages, others, and how to use them together. If you want to see the output of the commands, you can open this ASCIInema side by side.
Tag: juliasmoothoptimizers
Blog
NLPModels.jl, CUTEst.jl and other Nonlinear Optimization Packages on Julia
A couple of weeks ago me and Professor Dominique Orban have finally made a release of CUTEst.jl, a wrapper for the CUTEst repository of problems for nonlinear optimization (which I’ve mentioned before). Along with this release, we’ve done a release of NLPModels.jl, the underlying package. I think it’s time I explain a little about these packages, others, and how to use them together. If you want to see the output of the commands, you can open this ASCIInema side by side.
Tag: background
Blog
Julia Fractal on Julia
I wanted a background that would update automatically in some interesting way, instead of just random images. After some thought, I decided to use some Julia fractals.
I made a code to create the Julia fractals in the Julia language, and then some code to run it for a random point.
The code is here, including some explaining on how to use and install it.
Here are some examples:
Tag: fun
Blog
Julia Fractal on Julia
I wanted a background that would update automatically in some interesting way, instead of just random images. After some thought, I decided to use some Julia fractals.
I made a code to create the Julia fractals in the Julia language, and then some code to run it for a random point.
The code is here, including some explaining on how to use and install it.
Here are some examples:
Blog
Advent of Code 2016 in Julia
Last year I discovered by chance a code competition that happens in the month of December: The Advent of Code. This event consists of small puzzles release every day of December, up to the 25th. Which amounts to 25 problems! (I can do math).
Last year I tried doing some on Bash, and latter switched to Julia, but never got to finish them. This year I decided to use Julia, because I want to test it for these general problems.
Blog
SiCLIPoD - Um Gerenciador de Podcasts Simples em Linha de Comando
Há algum tempo eu, esporadicamente, eu escuto o podcast do Jovem Nerd. Mas acessar o site é chato, então eu fui procurar um gerenciador de podcasts. Não gostei de nenhum (o gpodder quase foi escolhido). Daí, resolvi cria um no estilo que eu gosto. Falta MUITO pra ficar bom mas pode ser de alguma utilidade para alguém. O código está no GitHub. O básico pra funcionar é
siclipod add URL siclipod list siclipod list NAME siclipod search NAME STUFF siclipod download NAME STUFF siclipod play NAME STUFF O normal é tocar com o smplayer, mas você pode editar $HOME/.
Blog
Jogos de Tabuleiro
Eu (não tão) recementemente me interessei em jogos de tabuleiro. Para clarificar, não estou me referindo aos jogos de tabuleiro “clássicos”, como War, Banco Imobiliário, etc.. Estou me referindo aos jogos de tabuleiro com mecânica avançada. Isso não significa que todos eles são complexos, mas que eles são (em sua maioria) bem pensados e balanceados. Esse jogos de tabuleiro juntaram uma legião de seguidores, a maioria geeks e nerds, que está interessada em algum hobby legal.
Tag: image
Blog
Julia Fractal on Julia
I wanted a background that would update automatically in some interesting way, instead of just random images. After some thought, I decided to use some Julia fractals.
I made a code to create the Julia fractals in the Julia language, and then some code to run it for a random point.
The code is here, including some explaining on how to use and install it.
Here are some examples:
Tag: code
Blog
Advent of Code 2016 in Julia
Last year I discovered by chance a code competition that happens in the month of December: The Advent of Code. This event consists of small puzzles release every day of December, up to the 25th. Which amounts to 25 problems! (I can do math).
Last year I tried doing some on Bash, and latter switched to Julia, but never got to finish them. This year I decided to use Julia, because I want to test it for these general problems.
Tag: presentation
Blog
Apresentação de Julia no SMNE
Nos dias 30 de Novembro à 2 de Dezembro de 2016 acontece o primeiro Simpósio de Métodos Numéricos em Engenharia. Neste simpósio darei um minicurso sobre Julia.
Deixo aqui o material preliminar para os alunos do minicurso, ou interessados.
Notebook (necessário) exemplo.jl (necessário) HTML estático do notebook - para quem não conseguiu instalar Também deixo aqui o link do Etherpad para usarmos na aula.
Quem não conseguiu instalar até agora, pode tentar usar o JuliaBox, que roda Julia online.
Blog
VIII Simpósio de Análise Numérica e Otimização - Minicurso de Julia
Nos dias 22 a 24 de Fevereiro de 2016 acontecerá o VIII Simpósio de Análise Numérica e Otimização. É uma ótima oportunidade para interagir com colegas e conhecer alguns assuntos novos de pesquisa.
Em particular, nesse simpósio apresentarei um minicurso sobre Julia com foco em Otimização. O minicurso é voltado para pessoas que conhecem um pouco de MatLab ou alguma outra linguagem. Serão três dias, com uma introdução à linguagem, alguns exemplos, o CUTEst.
Blog
Apresentação no Poincaré - 2015
Fui convidado a fazer alguma apresentação para os seminários Poincaré do PET Matemática da UFPR. Irei falar sobre o Método de Newton para zeros de funções, sistemas não lineares, e para otimização.
A apresentação será hoje, dia 20 de Novembro, às 17h40. Os slides você pode pegar aqui ou ver o código no GitHub.
Blog
Apresentação no VII Simpósio de Análise Numérica e Otimização - UFPR
No dia 24 de Fevereiro de 2015 aconteceu o (primeiro dia do) VII Simpósio de Análise Numérica e Otimização. Participei deste congresso fazendo uma apresentação sobre Ferramentas Computacionais para Pesquisadores (ver código).
Nesta apresentação, introduzo algumas ferramentas que considero bastante importantes para pesquisadores, principalmente da área de matemática computacional. Um resumo do que apresento é
Aprenda outras linguagens. Recomendo, por exemplo, conhecer Python ou Ruby, Shell e Makefile. Com essas ferramentas já é possível automatizar testes e fazer scripts com uso variado.
Tag: smne
Blog
Apresentação de Julia no SMNE
Nos dias 30 de Novembro à 2 de Dezembro de 2016 acontece o primeiro Simpósio de Métodos Numéricos em Engenharia. Neste simpósio darei um minicurso sobre Julia.
Deixo aqui o material preliminar para os alunos do minicurso, ou interessados.
Notebook (necessário) exemplo.jl (necessário) HTML estático do notebook - para quem não conseguiu instalar Também deixo aqui o link do Etherpad para usarmos na aula.
Quem não conseguiu instalar até agora, pode tentar usar o JuliaBox, que roda Julia online.
Tag: bibliography
Blog
A quasi-solution to my bib problem
For some time, one of my concerns is bibliography management. See my projects page if you have interest on working with something like that.
In the past, what we had was simply writing all your bibliographies directly on a .tex file. Then, if you needed to write again, you would copy-paste it somewhere. If you made a mistake, you would have to fix it by hand. If the journal changed styles, you would have to change everything by hand.
Blog
BibCLI - Command Line Interface to Manage Bibliography
After working with references and citations in latex for a while, with multiple files, I noticed that some things need improvement. First of all, you need to use some way to store your bibliography outside of the tex file. For instance, using bibtex. Second, you probably want some bibliography package, such as biblatex or natbib. Third, you need some way to manage your bibliography entries and verify if they are correct.
Tag: bibtex
Blog
A quasi-solution to my bib problem
For some time, one of my concerns is bibliography management. See my projects page if you have interest on working with something like that.
In the past, what we had was simply writing all your bibliographies directly on a .tex file. Then, if you needed to write again, you would copy-paste it somewhere. If you made a mistake, you would have to fix it by hand. If the journal changed styles, you would have to change everything by hand.
Blog
BibCLI - Command Line Interface to Manage Bibliography
After working with references and citations in latex for a while, with multiple files, I noticed that some things need improvement. First of all, you need to use some way to store your bibliography outside of the tex file. For instance, using bibtex. Second, you probably want some bibliography package, such as biblatex or natbib. Third, you need some way to manage your bibliography entries and verify if they are correct.
Tag: latex
Blog
A quasi-solution to my bib problem
For some time, one of my concerns is bibliography management. See my projects page if you have interest on working with something like that.
In the past, what we had was simply writing all your bibliographies directly on a .tex file. Then, if you needed to write again, you would copy-paste it somewhere. If you made a mistake, you would have to fix it by hand. If the journal changed styles, you would have to change everything by hand.
Blog
LaTeX tools for revision
This post is just to introduce two new tools I found.
LatexDiff is a tool that compares two tex files and generates a third marking the differences between them. It is great, for instance, when you update a thesis or article, and want to show the differences to your advisor or colleague.
Beware that this tool is not without mistakes. Sometimes it fails to mark a difference, specially in equations.
Blog
ShareLaTeX e o básico do cabeçalho
Este post serve principalmente para meus alunos e outros interessados em começar a usar o LaTeX. A primeira coisa a se notar é que instalar o compilador é bem chato e complicado, então sugiro usarem o ShareLaTeX que é um editor e compilador de LaTeX online. O ShareLaTeX possui uma boa documentação para quem está começando que infelizmente não está traduzida para português. Uma outra recomendação para quem está querendo ler sobre antes de começar a utilizar é http://en.
Blog
BibCLI - Command Line Interface to Manage Bibliography
After working with references and citations in latex for a while, with multiple files, I noticed that some things need improvement. First of all, you need to use some way to store your bibliography outside of the tex file. For instance, using bibtex. Second, you probably want some bibliography package, such as biblatex or natbib. Third, you need some way to manage your bibliography entries and verify if they are correct.
Tag: oficina
Blog
Oficina de Ferramentas Computacionais na UFPR, 01 de Agosto de 2016
Nesta semana que passou, dos dias 01 a 03 de Agosto, aconteceu uma Oficina de Ferramentas Computacionais na UFPR. Essa oficina seguiu os moldes das oficinas do Software Carpentry e Data Carpentry. Esta foi a segunda oficina neste padrão que organizei, a primeira foi há um pouco mais de um ano, e foi apenas um dia. Nesta tivemos 3 dias de atividades, e vários participantes.
A oficina teve 28 participantes, porém nem todos vieram a todos os tutoriais.
Tag: swc
Blog
Oficina de Ferramentas Computacionais na UFPR, 01 de Agosto de 2016
Nesta semana que passou, dos dias 01 a 03 de Agosto, aconteceu uma Oficina de Ferramentas Computacionais na UFPR. Essa oficina seguiu os moldes das oficinas do Software Carpentry e Data Carpentry. Esta foi a segunda oficina neste padrão que organizei, a primeira foi há um pouco mais de um ano, e foi apenas um dia. Nesta tivemos 3 dias de atividades, e vários participantes.
A oficina teve 28 participantes, porém nem todos vieram a todos os tutoriais.
Blog
Workshop de Ferramentas Computacionais - Maio de 2015
Sobre No dia 30 de Maio de 2015 acontecerá uma Oficina de Ferramentas Computacionais para Pesquisadores. Essa oficina será focada em três ferramentas básicas para desenvolvimento de software:
Bash Git Julia O Bash é o terminal tradicinal dos sistemas GNU/Linux (a tela preta). As possibilidades de uso são ilimitadas, mas vamos focar no básico, tentando chegar até a criação de um script simples.
O Git é uma ferramenta para controlar versões de softwares e outros arquivos.
Tag: workshop
Blog
Oficina de Ferramentas Computacionais na UFPR, 01 de Agosto de 2016
Nesta semana que passou, dos dias 01 a 03 de Agosto, aconteceu uma Oficina de Ferramentas Computacionais na UFPR. Essa oficina seguiu os moldes das oficinas do Software Carpentry e Data Carpentry. Esta foi a segunda oficina neste padrão que organizei, a primeira foi há um pouco mais de um ano, e foi apenas um dia. Nesta tivemos 3 dias de atividades, e vários participantes.
A oficina teve 28 participantes, porém nem todos vieram a todos os tutoriais.
Blog
VIII Simpósio de Análise Numérica e Otimização - Minicurso de Julia
Nos dias 22 a 24 de Fevereiro de 2016 acontecerá o VIII Simpósio de Análise Numérica e Otimização. É uma ótima oportunidade para interagir com colegas e conhecer alguns assuntos novos de pesquisa.
Em particular, nesse simpósio apresentarei um minicurso sobre Julia com foco em Otimização. O minicurso é voltado para pessoas que conhecem um pouco de MatLab ou alguma outra linguagem. Serão três dias, com uma introdução à linguagem, alguns exemplos, o CUTEst.
Blog
Resultado da Oficina de Ferramentas Computacionais Para Pesquisadores
Hoje aconteceu a Oficina de Ferramentas Computacionais para Pesquisadores. Como era esperado, tivemos um pouco de atrasado, mas não tanto. Conseguimos começar uns 5 minutos depois do esperado, mas não conseguimos fazer chamada. O período da manhã teve por volta de 20 participantes, sendo que alguns eram meus alunos que vieram pelo Julia. Algumas pessoas foram embora durante o almoço, e a oficina acabou com 15 participantes.
Veja também o post do Raniere sobre a oficina.
Blog
Workshop de Ferramentas Computacionais - Maio de 2015
Sobre No dia 30 de Maio de 2015 acontecerá uma Oficina de Ferramentas Computacionais para Pesquisadores. Essa oficina será focada em três ferramentas básicas para desenvolvimento de software:
Bash Git Julia O Bash é o terminal tradicinal dos sistemas GNU/Linux (a tela preta). As possibilidades de uso são ilimitadas, mas vamos focar no básico, tentando chegar até a criação de um script simples.
O Git é uma ferramenta para controlar versões de softwares e outros arquivos.
Tag: life
Blog
Long time away
Hello, it’s been a long time since my last post, and a lot has happened since. I’ve had difficulty finding time to write a good post, or even a bad post, sometimes, but now I return with a brief explaining, and some possible continuation posts.
First, during the classes period, I have a lot of obligations that use a lot of time: Preparing classes, tests, projects, grading, etc. This was most of my time.
Tag: games
Blog
Games for Programmers
Ever since I can remember I liked puzzles. My father had a book on puzzles, and there were also puzzle magazines. I liked it much I also liked gaming very much. I don’t remember where it started, but I played a lot. Well, today I’ll talk about games that have programming involved, albeit indirectly.
Light-Bot This is a very simple game at first. It scales after some levels, but a programmer shouldn’t have much trouble completing it.
Tag: programming
Blog
Games for Programmers
Ever since I can remember I liked puzzles. My father had a book on puzzles, and there were also puzzle magazines. I liked it much I also liked gaming very much. I don’t remember where it started, but I played a lot. Well, today I’ll talk about games that have programming involved, albeit indirectly.
Light-Bot This is a very simple game at first. It scales after some levels, but a programmer shouldn’t have much trouble completing it.
Blog
The End of Fortran
One of my main interest is the end of Fortran as the only programming language used by mathematicias. If you’re not in the area of mathematical programming, you probably find it strange for me to be talking about Fortran, so I explain. Fortran is considered the fastest programming language in mathematics, and most things made are in this language. Other often used languages such as MatLab/Octave and Mathematica are high-level, which means they are slower and are not considered for serious applications.
Tag: teaching
Blog
Games for Programmers
Ever since I can remember I liked puzzles. My father had a book on puzzles, and there were also puzzle magazines. I liked it much I also liked gaming very much. I don’t remember where it started, but I played a lot. Well, today I’ll talk about games that have programming involved, albeit indirectly.
Light-Bot This is a very simple game at first. It scales after some levels, but a programmer shouldn’t have much trouble completing it.
Tag: tdd
Blog
Test Driven Development in Julia
First, what is Test Driven Development (TDD)? Well, I’m not an expert, so don’t quote me, but in practice it means that you develop your code to fulfill tests that you define prior to beginning your work. You do not define all your tests first, though. You define a single test, and produce code to pass it. Then you define another code, and produce code to pass both. And so forth until you complete your specification.
Tag: diff
Blog
LaTeX tools for revision
This post is just to introduce two new tools I found.
LatexDiff is a tool that compares two tex files and generates a third marking the differences between them. It is great, for instance, when you update a thesis or article, and want to show the differences to your advisor or colleague.
Beware that this tool is not without mistakes. Sometimes it fails to mark a difference, specially in equations.
Tag: revision
Blog
LaTeX tools for revision
This post is just to introduce two new tools I found.
LatexDiff is a tool that compares two tex files and generates a third marking the differences between them. It is great, for instance, when you update a thesis or article, and want to show the differences to your advisor or colleague.
Beware that this tool is not without mistakes. Sometimes it fails to mark a difference, specially in equations.
Tag: xournal
Blog
LaTeX tools for revision
This post is just to introduce two new tools I found.
LatexDiff is a tool that compares two tex files and generates a third marking the differences between them. It is great, for instance, when you update a thesis or article, and want to show the differences to your advisor or colleague.
Beware that this tool is not without mistakes. Sometimes it fails to mark a difference, specially in equations.
Tag: ubuntu
Blog
Ubuntu graphic interface stopped working
Some time ago, I helped a colleague install Ubuntu in a Sony Vaio, which ended up having SSD problems. Today, his computer started without the bar and menu from Unity. Only the desktop and icons were appearing, and the keyboards shortcuts were also not working.
To fix, I found this askubuntu question, that worked like a charm.
The steps were simply:
Enter the terminal mode with Ctrl+Shift+F2 (or other number); Login; Enter the commands export DISPLAY=:0 sudo dconf reset -f /org/compiz/ setsid unity Reboot with sudo reboot Verify everything is working now.
Blog
Instalando o Ubuntu 14.10 no Sony Vaio (Problemas com o SSD)
Hoje instalei em dual-boot o Ubuntu 14.10 e o windows 8. Não tive problemas com o UEFI, nem secure boot. Não tenho certeza, mas talvez o windows não seja o que veio de fábrica.
Eu já tinha um USB com o Ubuntu 14.10, então pluguei-o e bootei o computador. F12-F12-F12-F12… A tela de seleção de boot não apareceu, mas o usb foi escolhido automaticamente.
O ubuntu bootou e selecionei instalar. Escolhi o particionamento manual, que é minha escolha usual.
Tag: coveralls
Blog
Automated testing
We’re gonna learn how to make a test for your Julia code that runs whenever you publish it online. We’re gonna use
GitHub to store the code; Travis CI to run your tests; Coveralls.io to verify which lines of code your test are missing. Alternatively, for a open source alternative, see GitLab, which I don’t know enough yet.
Let’s make a litte code to solve a linear system, paying attention to the problems it may arise, like incorrect dimensions, underdetermined and overdetermined systems, singular matrices, etc.
Tag: github
Blog
Automated testing
We’re gonna learn how to make a test for your Julia code that runs whenever you publish it online. We’re gonna use
GitHub to store the code; Travis CI to run your tests; Coveralls.io to verify which lines of code your test are missing. Alternatively, for a open source alternative, see GitLab, which I don’t know enough yet.
Let’s make a litte code to solve a linear system, paying attention to the problems it may arise, like incorrect dimensions, underdetermined and overdetermined systems, singular matrices, etc.
Tag: travis
Blog
Automated testing
We’re gonna learn how to make a test for your Julia code that runs whenever you publish it online. We’re gonna use
GitHub to store the code; Travis CI to run your tests; Coveralls.io to verify which lines of code your test are missing. Alternatively, for a open source alternative, see GitLab, which I don’t know enough yet.
Let’s make a litte code to solve a linear system, paying attention to the problems it may arise, like incorrect dimensions, underdetermined and overdetermined systems, singular matrices, etc.
Tag: blog
Blog
Professional site and blog for researchers, professors and students
TL; DR: Make a professional web page, like mine, and/or a blog, like mine. Use Jekyll and my links: work page, blog page.
Summary: Summary: Introduction General Information Using my site as a starting point Work page - Easy way Work page - Hard way Blog page - Easy way Blog page - Hard way Both - Hard way Introduction We live in the age of information. It is easier than ever to find someone from another site of the planet, and contact them.
Tag: jekyll
Blog
Professional site and blog for researchers, professors and students
TL; DR: Make a professional web page, like mine, and/or a blog, like mine. Use Jekyll and my links: work page, blog page.
Summary: Summary: Introduction General Information Using my site as a starting point Work page - Easy way Work page - Hard way Blog page - Easy way Blog page - Hard way Both - Hard way Introduction We live in the age of information. It is easier than ever to find someone from another site of the planet, and contact them.
Tag: arch
Blog
New computer at work
I just got a new notebook at work. This is a HP computer, with a AMD a10-4600M processor, 4GB of RAM and 320GB of HD space. I have a personal notebook with a similar configuration and my work desktop also has a similar configuration, so this isn’t a great improvement. However, we’re gonna have an additional monitor, so this is good enough. Also, I’ll leave the other one as the always-on screen+irssi computer.
Blog
Mudando de HD
Ontem eu acabei de montar um computador novo. Esse computador é um upgrade do meu, e o meu passaria para a Kally. No entanto, eu não gostaria de perder a minha instalação dor Arch, nem de ficar com o HD antigo, então decidi tentar copiar as partições.
Nota: Não sei a aplicabilidade destes comandos para outras distribuições.
Nota: Você também poderia fazer o que fiz, usando o dd, mas eu preferi evitar.
Tag: install
Blog
New computer at work
I just got a new notebook at work. This is a HP computer, with a AMD a10-4600M processor, 4GB of RAM and 320GB of HD space. I have a personal notebook with a similar configuration and my work desktop also has a similar configuration, so this isn’t a great improvement. However, we’re gonna have an additional monitor, so this is good enough. Also, I’ll leave the other one as the always-on screen+irssi computer.
Blog
Instalando o Ubuntu 14.10 no Sony Vaio (Problemas com o SSD)
Hoje instalei em dual-boot o Ubuntu 14.10 e o windows 8. Não tive problemas com o UEFI, nem secure boot. Não tenho certeza, mas talvez o windows não seja o que veio de fábrica.
Eu já tinha um USB com o Ubuntu 14.10, então pluguei-o e bootei o computador. F12-F12-F12-F12… A tela de seleção de boot não apareceu, mas o usb foi escolhido automaticamente.
O ubuntu bootou e selecionei instalar. Escolhi o particionamento manual, que é minha escolha usual.
Blog
Mudando de HD
Ontem eu acabei de montar um computador novo. Esse computador é um upgrade do meu, e o meu passaria para a Kally. No entanto, eu não gostaria de perder a minha instalação dor Arch, nem de ficar com o HD antigo, então decidi tentar copiar as partições.
Nota: Não sei a aplicabilidade destes comandos para outras distribuições.
Nota: Você também poderia fazer o que fiz, usando o dd, mas eu preferi evitar.
Tag: impression
Blog
Resultado da Oficina de Ferramentas Computacionais Para Pesquisadores
Hoje aconteceu a Oficina de Ferramentas Computacionais para Pesquisadores. Como era esperado, tivemos um pouco de atrasado, mas não tanto. Conseguimos começar uns 5 minutos depois do esperado, mas não conseguimos fazer chamada. O período da manhã teve por volta de 20 participantes, sendo que alguns eram meus alunos que vieram pelo Julia. Algumas pessoas foram embora durante o almoço, e a oficina acabou com 15 participantes.
Veja também o post do Raniere sobre a oficina.
Tag: bash
Blog
Workshop de Ferramentas Computacionais - Maio de 2015
Sobre No dia 30 de Maio de 2015 acontecerá uma Oficina de Ferramentas Computacionais para Pesquisadores. Essa oficina será focada em três ferramentas básicas para desenvolvimento de software:
Bash Git Julia O Bash é o terminal tradicinal dos sistemas GNU/Linux (a tela preta). As possibilidades de uso são ilimitadas, mas vamos focar no básico, tentando chegar até a criação de um script simples.
O Git é uma ferramenta para controlar versões de softwares e outros arquivos.
Tag: git
Blog
Workshop de Ferramentas Computacionais - Maio de 2015
Sobre No dia 30 de Maio de 2015 acontecerá uma Oficina de Ferramentas Computacionais para Pesquisadores. Essa oficina será focada em três ferramentas básicas para desenvolvimento de software:
Bash Git Julia O Bash é o terminal tradicinal dos sistemas GNU/Linux (a tela preta). As possibilidades de uso são ilimitadas, mas vamos focar no básico, tentando chegar até a criação de um script simples.
O Git é uma ferramenta para controlar versões de softwares e outros arquivos.
Tag: remind
Blog
A CLI Reminder - Remind
I’ve struggled with remembering appointments and tasks for a long time. During my undergraduate courses, I learned to manage the tasks I had because they were few and regular. It’s easy to remember you have class at 7h30 if every weekday you have class at 7h30. Also, you normally have a group of people around you doing the same things, so someone usually remembers when something is due.
As years advanced, I started using what I could to remeber tasks.
Tag: review
Blog
A CLI Reminder - Remind
I’ve struggled with remembering appointments and tasks for a long time. During my undergraduate courses, I learned to manage the tasks I had because they were few and regular. It’s easy to remember you have class at 7h30 if every weekday you have class at 7h30. Also, you normally have a group of people around you doing the same things, so someone usually remembers when something is due.
As years advanced, I started using what I could to remeber tasks.
Tag: tools
Blog
Apresentação no VII Simpósio de Análise Numérica e Otimização - UFPR
No dia 24 de Fevereiro de 2015 aconteceu o (primeiro dia do) VII Simpósio de Análise Numérica e Otimização. Participei deste congresso fazendo uma apresentação sobre Ferramentas Computacionais para Pesquisadores (ver código).
Nesta apresentação, introduzo algumas ferramentas que considero bastante importantes para pesquisadores, principalmente da área de matemática computacional. Um resumo do que apresento é
Aprenda outras linguagens. Recomendo, por exemplo, conhecer Python ou Ruby, Shell e Makefile. Com essas ferramentas já é possível automatizar testes e fazer scripts com uso variado.
Tag: fortran
Blog
A Study in Julia
Today I begin a study in Julia. This fantastic tool has syntax similar to that of Octave/Matlab, but is much faster. Furthermore, the interface with functions made in C and Fortran is much easier to accomplish, and since most things in computational mathematics are on these languages, this feature is wonderful.
My intented work is
make a simple julia and C interface, with auto-compiling and test on GitHub and Travis CI; develop a nonlinear optimization tool completely in Julia, then improve the slow bits by using C and/or Fortran; implement/improve the CUTEst interface [1], [2], possibly creating a SIF converter.
Blog
The End of Fortran
One of my main interest is the end of Fortran as the only programming language used by mathematicias. If you’re not in the area of mathematical programming, you probably find it strange for me to be talking about Fortran, so I explain. Fortran is considered the fastest programming language in mathematics, and most things made are in this language. Other often used languages such as MatLab/Octave and Mathematica are high-level, which means they are slower and are not considered for serious applications.
Tag: classification
Blog
Selecting a Subgroup of CUTEst Problems According to Specific Criteria
For some time now I’ve been using CUTEst or CUTEr, and one of the common problems is selecting the problem you want to use.
Unfortunately, the classification on the site is not updated, and may contain errors, so I decided to create something, with low requirements and high reliability, to select problems according to a criteria.
This work was created before, but used the site’s classification as one of the sources of information for the selection.
Tag: tech
Blog
Instalando o Ubuntu 14.10 no Sony Vaio (Problemas com o SSD)
Hoje instalei em dual-boot o Ubuntu 14.10 e o windows 8. Não tive problemas com o UEFI, nem secure boot. Não tenho certeza, mas talvez o windows não seja o que veio de fábrica.
Eu já tinha um USB com o Ubuntu 14.10, então pluguei-o e bootei o computador. F12-F12-F12-F12… A tela de seleção de boot não apareceu, mas o usb foi escolhido automaticamente.
O ubuntu bootou e selecionei instalar. Escolhi o particionamento manual, que é minha escolha usual.
Blog
CUTEst Com Matlab
No meu vídeo do YouTube, eu ensinei como se faz para instalar o CUTEst. Hoje estendo a instalação para instalar o MatLab também, mas para uma instalação mais detalhada, talvez o vídeo seja mais indicado.
Inicialmente instale o Matlab. Não vou entrar em detalhes, mas atente-se a duas coisas:
Algumas versões do matlab não colocam o executável num lugar “visível pelo terminal". Para resolver, usando o bash, adicione o caminho dos executáveis do MATLAB ao PATH no arquivo `~/.
Blog
Mudando de HD
Ontem eu acabei de montar um computador novo. Esse computador é um upgrade do meu, e o meu passaria para a Kally. No entanto, eu não gostaria de perder a minha instalação dor Arch, nem de ficar com o HD antigo, então decidi tentar copiar as partições.
Nota: Não sei a aplicabilidade destes comandos para outras distribuições.
Nota: Você também poderia fazer o que fiz, usando o dd, mas eu preferi evitar.
Blog
Instalação da Impressora no DMAT-UFPR
Hoje tive que instalar a impressora do DMAT da UFPR no meu archlinux. Infelizmente o suporte técnico da universidade não dá suporte para essa distribuição (só Ubuntu). Existe o suporte ao Windows (aqui), que foi necessário para eu obter algumas informações sobre a impressora. Tive algum trabalho para achar as configurações corretas, mas acho que consegui, e vou deixar explicado aqui caso alguém precise. Infelizmente não refiz os passos a seguir, porque fui costurando até chegar ao ponto em que a impressora funcionou.
Tag: matlab
Blog
CUTEst Com Matlab
No meu vídeo do YouTube, eu ensinei como se faz para instalar o CUTEst. Hoje estendo a instalação para instalar o MatLab também, mas para uma instalação mais detalhada, talvez o vídeo seja mais indicado.
Inicialmente instale o Matlab. Não vou entrar em detalhes, mas atente-se a duas coisas:
Algumas versões do matlab não colocam o executável num lugar “visível pelo terminal". Para resolver, usando o bash, adicione o caminho dos executáveis do MATLAB ao PATH no arquivo `~/.
Tag: sharelatex
Blog
ShareLaTeX e o básico do cabeçalho
Este post serve principalmente para meus alunos e outros interessados em começar a usar o LaTeX. A primeira coisa a se notar é que instalar o compilador é bem chato e complicado, então sugiro usarem o ShareLaTeX que é um editor e compilador de LaTeX online. O ShareLaTeX possui uma boa documentação para quem está começando que infelizmente não está traduzida para português. Uma outra recomendação para quem está querendo ler sobre antes de começar a utilizar é http://en.
Tag: printer
Blog
Instalação da Impressora no DMAT-UFPR
Hoje tive que instalar a impressora do DMAT da UFPR no meu archlinux. Infelizmente o suporte técnico da universidade não dá suporte para essa distribuição (só Ubuntu). Existe o suporte ao Windows (aqui), que foi necessário para eu obter algumas informações sobre a impressora. Tive algum trabalho para achar as configurações corretas, mas acho que consegui, e vou deixar explicado aqui caso alguém precise. Infelizmente não refiz os passos a seguir, porque fui costurando até chegar ao ponto em que a impressora funcionou.
Tag: siclipod
Blog
SiCLIPoD - Um Gerenciador de Podcasts Simples em Linha de Comando
Há algum tempo eu, esporadicamente, eu escuto o podcast do Jovem Nerd. Mas acessar o site é chato, então eu fui procurar um gerenciador de podcasts. Não gostei de nenhum (o gpodder quase foi escolhido). Daí, resolvi cria um no estilo que eu gosto. Falta MUITO pra ficar bom mas pode ser de alguma utilidade para alguém. O código está no GitHub. O básico pra funcionar é
siclipod add URL siclipod list siclipod list NAME siclipod search NAME STUFF siclipod download NAME STUFF siclipod play NAME STUFF O normal é tocar com o smplayer, mas você pode editar $HOME/.
Tag: rant
Blog
The End of Fortran
One of my main interest is the end of Fortran as the only programming language used by mathematicias. If you’re not in the area of mathematical programming, you probably find it strange for me to be talking about Fortran, so I explain. Fortran is considered the fastest programming language in mathematics, and most things made are in this language. Other often used languages such as MatLab/Octave and Mathematica are high-level, which means they are slower and are not considered for serious applications.
Tag: perprof
Blog
perprof-py: A Performance Profile Package for Python
One of the things I worked with was a Performance Profile tool, in the sense of Dolan and Moré. This tool, perprof-py, written in Python, reads input in the form of a table of problem with time and exitflag, and outputs a image/pdf with the performance profile. This tool is very important for the nonlinear optimization community, since it is one of the main comparison tools for the algorithms.
The package is open source, available for changes, improvements and suggestions.
Tag: boardgames
Blog
Jogos de Tabuleiro
Eu (não tão) recementemente me interessei em jogos de tabuleiro. Para clarificar, não estou me referindo aos jogos de tabuleiro “clássicos”, como War, Banco Imobiliário, etc.. Estou me referindo aos jogos de tabuleiro com mecânica avançada. Isso não significa que todos eles são complexos, mas que eles são (em sua maioria) bem pensados e balanceados. Esse jogos de tabuleiro juntaram uma legião de seguidores, a maioria geeks e nerds, que está interessada em algum hobby legal.
Tag: cli
Blog
BibCLI - Command Line Interface to Manage Bibliography
After working with references and citations in latex for a while, with multiple files, I noticed that some things need improvement. First of all, you need to use some way to store your bibliography outside of the tex file. For instance, using bibtex. Second, you probably want some bibliography package, such as biblatex or natbib. Third, you need some way to manage your bibliography entries and verify if they are correct.