Archive

Can we teach Node Js without callbacks? (Miguel Gamboa, January 15, 2021)

After another semester teaching Web Development, the following question arises to my mind: can we teach Node Js without callbacks? Considering that we cannot avoid Promises and async/await, should we continually introduce...
Read more...


Test in real environment (João Pedro Patriarca, December 20, 2020)

The status reached in the TrackBees equipment allowed us to perform a test in a real operating environment. During 2015, the equipment was installed in a hive in full activity, that is,...
Read more...


Tests on version 2014 (v0.2) (João Pedro Patriarca, November 29, 2020)

The 2014 release of TrackBees project was the first release considered to be in a state capable of performing several tests of the system to validate its goals, like consumption, autonomy, theft...
Read more...


Teaching on Twitch (Paulo Pereira, November 27, 2020)

Last March I ventured into streaming my lectures on Twitch (here) and, let me tell you, I’m having a great time. A massive thank you is, therefore, due. So here it goes:...
Read more...


20 years after, still Dotnet events and delegates (Miguel Gamboa, November 20, 2020)

Almost 20 years after, Dotnet is still on the race and many developers are still misunderstanding the weird conception between Events and Delegates. Today, we have already abandoned Events and MulticasteDelegate from...
Read more...


JavaScript known behavior or specification? (Pedro Félix, October 30, 2020)

What is the expected behavior from the following usage that manages two Promises (one rejected on creation and other fulfilled after a 100 milliseconds timeout), which results in another rejected Promise? const f = async () => {...
Read more...


New navigation on curricular programme diagram (Pedro Pereira, October 23, 2020)

CCISEL site has been updated to include a navigation structure that leads to the LEIC curriculum pages, both in English and Portuguese. We are aiming to provide easy and fast navigation capabilities...
Read more...


Battery charge should last for months (Monitoring hives - part 2) (João Pedro Patriarca, October 16, 2020)

Battery charge is an important issue in the hive monitoring device to avoid the need of in-loco support just to charge the battery. So, how long should last the charge of a...
Read more...


Suspending functions, coroutines and state machines (Pedro Félix, October 9, 2020)

How the well-known Continuation-passing style proposed in 1975 relates with state-of-the-art Kotlin’s suspend functions and coroutines? In the following posts, CCISEL engineer Pedro Félix answered this question and wrote about these topics:...
Read more...


Monitoring hives? Why and issues. (João Pedro Patriarca, October 2, 2020)

What challenges faces an anti-theft system and GPS tracker for beehives? Power supply? Networking? What else? The CCISEL Engineer João Pedro Patriarca is the author and developer of the TrackBees project started...
Read more...


Open position for a research fellowship to WebFluid project (Miguel Gamboa, September 25, 2020)

Open position for a research fellowship MsC student to integrate the WebFluid project team, with a reward of 3 x 798 euros/month. More information here: Anúncio para atribuição de uma Bolsa de...
Read more...


New CCISEL web site (Pedro Pereira, September 18, 2020)

CCISEL has a new web site with an updated interface and more fluid navigation. This new website has an archive of published articles and projects carried out by CCISEL members and a...
Read more...


ISEL on Kotlin's world map (Paulo Pereira, September 11, 2020)

Once again, pioneers in the software engineering landscape. =) ISEL was one of the seminal schools world wide including Kotlin in university courses. Feels good to have ISEL on Kotlin’s world map....
Read more...


WebFluid - reactive web streams (Miguel Gamboa, August 13, 2020)

The WebFluid project, lead by the CCISEL engineer Miguel Gamboa, has been selected in 5th edition of R&D projects of Polytechnical Institute of Lisbon. In this scope we will be extending the...
Read more...


Being an inquisitor and top 5% of Stackoverflow (Miguel Gamboa, August 7, 2020)

Exercise yourself. Not only answering, but also asking is a tricky exercise to clearly expose an idea. Today the “inquisitor” and CCISEL engineer Miguel Gamboa achieved 7000 of reputation (top 5% this...
Read more...


Focus on representation rather than on the transfer semantics (Pedro Félix, July 31, 2020)

Why the focus of HTTP API design should be on the representation semantics rather than on the transfer semantics? In the following blog post, CCISEL engineer Pedro Félix argues about that: Leave...
Read more...


Unleash Web Views with Higher-order Templates - HtmlFlow (Miguel Gamboa, July 24, 2020)

Using server-side Web templating to render an HTML listing with 1000 records resulting of 20 pages with 50 items each, from a Web API with a rate limit of 1 req/sec, then...
Read more...


Should I PUT or should I POST? (Darling you gotta let me know) (Pedro Félix, July 17, 2020)

Selecting the proper methods (e.g. GET, POST, PUT, …) to use when designing HTTP based APIs is typically a subject of much debate, and eventually some bike-shedding. In this post, CCISEL engineer...
Read more...


Stretching Async/Await With Lambdas (Miguel Gamboa, July 9, 2020)

Can you figure out the difference resulting from the execution of the following code snippets? TIP: one performs requests concurrently and the other sequentially. Which one and why? Is there any difference...
Read more...


How to fail in HTTP APIs (Pedro Félix, July 3, 2020)

And because failure is indeed an option, CCISEL engineer Pedro Félix has a blog post that provides useful guidelines on how to fail in HTTP APIs.
Read more...


Java versus C# asynchronous abstractions (Miguel Gamboa, June 26, 2020)

Do you know the difference between the behavior of the two code snippets that answer the question “Java Equivalent of C# async/await?”? With almost 100K views on Stackoverflow, many developers are still...
Read more...


OAuth 2.0 and PKCE (Pedro Félix, June 19, 2020)

The current “OAuth 2.0 Security Best Current Practice” draft version recommends the use of PKCE (Proof Key for Code Exchange by OAuth Public Client) to protect the authorization code grant flow, for...
Read more...


Spliterator is not only about parallelism (Miguel Gamboa, June 5, 2020)

Many are still mistaken about the purpose of Spliterator. It is not only about parallelism. Spliterator is the core traversing mechanism of Java Streams, regardless of being processed in parallel or sequentially....
Read more...


How coroutines can be used for asynchronous and concurrent programming with Kotlin? (Pedro Félix, May 29, 2020)

In this video (https://lnkd.in/grwT3WQ) from last year’s NDC Porto conference, CCISEL engineer Pedro Felix shows how coroutines can be used for asynchronous and concurrent programming with the Kotlin language. This presentation starts...
Read more...


Consistency properties in internet services (Filipe Freitas, May 27, 2020)

The CCISEL engineer and professor Filipe Freitas recently achieved his PhD in the distributed systems area, namely on the study of consistency provided by online services. Such problems are particularly important regarding...
Read more...


Bridge the Gap of Zip Operation (Miguel Gamboa, May 22, 2020)

Accepted answer to “Zipping streams with lambda” on Stackoverflow considered harmful. See in the next article, why the 10th most voted answer would be a better choice? In “Bridge the Gap of...
Read more...


From Iterator to Reactive Streams (Miguel Gamboa, May 15, 2020)

Over the past 20 years, Modelling and Design Patterns course of LEIC evolved from the Gang of Four patterns to Reactive Domain Modeling in nowadays. See how the old fashioned Iterator pattern...
Read more...


On the adoption of Kotlin as the language of choice for LEIC’s introductory course to programming (Paulo Pereira, May 8, 2020)

Starting next semester, Kotlin will be adopted as the introductory programming language in LEIC’s curricular program, in the Programming course. Newcomers to ISEL’s LEIC will start their programmer’s journey with Kotlin, rather...
Read more...


Reactive streams: a play in multiple acts (Pedro Felix, May 1, 2020)

One of the most important things to understand when working with reactive streams is that “things” happen in different moments. In the following post, Pedro Felix describes this play in three different...
Read more...


Kotlin in Academia (Pedro Pereira, April 25, 2020)

The Kotlin programming language notoriety and popularity has been increasing significantly, especially since its adoption by Google as the preferred language for the Android platform. The Computer Science and Computer Engineering graduation...
Read more...


Excellence Award by Polytechnic Institute of Lisbon (Miguel Gamboa, June 1, 2019)

The HtmlFlow project, lead by the CCISEL engineer Miguel Gamboa, achieved the 1st place and the Excellence Award given by Polytechnic Institute of Lisbon.
Read more...


Using Kotlin Coroutines for Asynchronous and Concurrent Programming (Pedro Felix, February 27, 2019)

Pedro Félix presented the session Using Kotlin Coroutines for Asynchronous and Concurrent Programming at the 2019 NDC Porto conference, Portugal. The video is available here.
Read more...


Using Kotlin Coroutines for Asynchronous and Concurrent Programming (Pedro Felix, November 15, 2018)

Pedro Félix presented the session Using Kotlin Coroutines for Asynchronous and Concurrent Programming at the 2018 BuildStuff conference, Vilnius, Lithuania. The video is available here.
Read more...


.NET Dependency Management with Paket (Pedro Felix, June 24, 2017)

Pedro Félix presented the session .NET Dependency Management with Paket at the NetPonto Lisbon community event. The video is available here.
Read more...


Access Control for applications and APIs using JWT, OpenID Connect, and IdentityServer3 (Pedro Felix, July 16, 2016)

Pedro Félix presented the session Access Control for applications and APIs using JWT, OpenID Connect, and IdentityServer3 at the NetPonto Porto event. The video is available here.
Read more...


Designing Web APIs on the ASP.NET platform (Pedro Felix, December 22, 2015)

Pedro Félix presented the session Designing Web APIs on the ASP.NET platform at the Microsoft WebCamp 2015 event, Lisbon. The video is available here.
Read more...


Designing Evolvable APIs for the Web (Pedro Felix, December 8, 2015)

Pedro Félix published a three article series at Nordic APIs, on the theme of Designing Evolvable APIs for the Web: Designing Evolvable APIs for the Web: Identification Designing Evolvable APIs for the...
Read more...


Designing Evolvable APIs for the Web (Pedro Felix, May 13, 2015)

Pedro Félix presented the session Designing Evolvable APIs for the Web at the Munich and London events from the NordicAPIs World Tour 2015.
Read more...


Single Sign-on for Mobile Native Applications (Pedro Felix, June 7, 2014)

Pedro Félix presented the session Single Sign-on for Mobile Native Applications at the 2014 NDC Oslo developers conference. The video is available here.
Read more...


Designing and implementing Web APIs in the .NET platform (Pedro Felix, June 3, 2014)

Pedro Félix presented the two day workshop Designing and implementing Web APIs in the .NET platform at the 2014 NDC Oslo developers conference.
Read more...


Designing Evolvable Web APIs with ASP.NET (Pedro Felix, March 30, 2014)

The book Designing Evolvable Web APIs with ASP.NET, co-authored by Pedro Félix, was published by O’Reilly Media. From the foreword by Henrick Frystyk Nielsen, co-author of RFC 2616. What makes this book...
Read more...


Thoth ferramenta de apoio ao ensino (Carlos Guedes, January 1, 2014)

O Thoth é uma ferramenta de apoio ao ensino. O seu principal objectivo é simplificar o trabalho dos docentes e alunos, no desempenho das tarefas mais comuns relativas à vida académica. Os...
Read more...


A Deep Dive into the ASP.NET Web API Runtime Architecture (Pedro Felix, December 5, 2013)

Pedro Félix presented the session A Deep Dive into the ASP.NET Web API Runtime Architecture at the 2013 NDC London develoepers conference. The slides are available here.
Read more...


From Requests to Responses: a Journey into the ASP.NET Web API Runtime Architecture (Pedro Felix, June 12, 2013)

Pedro Félix presented the session From Requests to Responses: a Journey into the ASP.NET Web API Runtime Architecture at the 2013 NDC Oslo develoepers conference. The video is available here.
Read more...


PROMPT Programa Avançado em Métodos de Programação e Tecnologia (Miguel Gamboa, January 1, 2011)

O PROMPT é a primeira pós-graduação em Portugal focada no desenvolvimento de software, que dará maior capacidade e eficiência às equipas que lidam com projectos de sistemas de informação, quer seja na...
Read more...


Cool contents and promote cool initiatives (Luís Falcão, January 1, 2009)

Cool – infrastructure targeted to deliver cool contents and to promote cool initiatives.
Read more...


Tagus (Pedro Pereira, January 1, 2008)

Sistema de gestão integrado de transporte de mercadorias para rotas marítimas, ferroviárias e rodoviárias.
Read more...


TPA Pararede (Jorge Martins, January 1, 2008)

Desenvolvimento de Sistema Servidor de Download de versões de aplicações para TPA.
Read more...


Secure VPN Gateway (Ezequiel Conde, João Patriarca, January 1, 2008)

CCISEL is developing a gateway to create secure VPNs over Internet, in cooperation with the Portuguese Gabinete Nacional de Segurança.
Read more...


Cyclone (Luís Falcão, January 1, 2008)

Cyclone – Sistema de transformação automatizada de modelos de dados e respectiva migração.
Read more...


Microsoft TechDays 2007 – WCF (Pedro Félix, March 23, 2007)

Segurança na Windows Communication Foundation: objectivos, modelos, padrões e pontos de extensão.
Read more...


Microsoft TechDays 2007 – LINQ (Luís Falcão, March 22, 2007)

LINQ – .NET Language Integrated Query (LINQ) Framework.
Read more...


Microsoft TechDays 2007 – C# 3.0 (Luís Falcão, March 22, 2007)

C# 3.0 Futuras Direcções e Inovações na Linguagem.
Read more...


FORGest (Pedro Pereira, January 1, 2007)

FORGest – integração do ForGestPM com o MSProject.
Read more...


Cryptographic File Protection (Pedro Félix, January 1, 2007)

CCISEL is developing a system for secure information storage, in cooperation with the Portuguese Gabinete Nacional de Segurança.
Read more...


Microsoft TechDays 2005 – GC distribuído na plataforma .NET (Paulo Pereira, November 14, 2005)

Reciclagem automática de memória distribuída na Plataforma .NET.
Read more...


Evolução da plataforma .NET (@ISEL) (Pedro Pereira, April 7, 2005)

Seminário, constituído por 4 apresentações convidadas, trata aspectos evolutivos da plataforma .NET, alguns já integrados na versão 2.0 e outros ainda em estudo, nomeadamente: polimorfismo paramétrico em C#, Java e C++; ferramentas...
Read more...


Alvos móveis em radar de abertura sintética (Paulo Marques, January 1, 2005)

Instituto de Telecomunicações e Marinha Portuguesa Alvos móveis em radar de abertura sintética transportado por plataformas não tripuladas.
Read more...


Gateway XMPP/SIP (João Patriarca, January 1, 2005)

Consultancy and software development for PT Inovação, consisting of the implementation of an XMPP message converter component for SIP messages and the study, experimental evaluation and implementation of resource adapters for J2EE...
Read more...


Java on Demand 2003 – Personal Unified Communication (João Patriarca, May 16, 2003)

Presentation of the PUC (Personal Unified Communication) project. The project consisted of the design, development and integration of personal communication services called “myComs”. The project integrated the mail service, instant messaging service...
Read more...


Criptotelefone (Fernando Sousa, January 1, 2003)

Criptotelefone – sistema de segurança para comunicações na Rede Digital de Integração de Serviços, destinado ao Exército Português, em colaboração com as empresas SETCOM e FATRÓNICA.
Read more...


Public-Key Cryptography Module for (Pedro Félix, January 1, 2003)

CCISEL is developing a multi-platform software library for IF (Integer Factorization) based cryptographic schemes, following the X9.31 and X9.30 ANSI specifications. It includes key pair generation, signature creation, and signature validation functionalities....
Read more...


Sistema para controlo de fornos (João Patriarca, January 1, 2003)

System for controlling industrial kilns for ceramics - development of a computer system for ceramic kiln control, configurable and with the possibility of remote use by several users.
Read more...


Parquímetro coletivo (Ezequiel Conde, José Paraiso, January 1, 2001)

Development of a collective parking meter in collaboration with GAIN.
Read more...


Sistema de segurança para comunicações facsimile (Pedro Pereira, January 1, 1997)

Em 1997 iniciou-se o projecto e o desenvolvimento de um sistema de segurança para comunicações facsimile, em colaboração com o Estado Maior General das Forças Armadas (EMGFA), Batalhão de Informação e Segurança...
Read more...


Dispensadores de títulos de transporte por Porta-Moedas MULTIBANCO (Pedro Pereira, January 1, 1996)

Em 1996, em colaboração com a SIBS e com o Grupo de Apoio à Industria Nacional (GAIN), desenvolveram-se dispensadores de títulos de transporte por Porta-Moedas MULTIBANCO para instalação fixa, em regime deself-service....
Read more...


PETROFROTA (Ezequiel Conde, January 1, 1994)

Development, in collaboration with PETROTEC, of a fuel dispensing system for private companies.
Read more...


PETROTEC sistema POS Out Door (Ezequiel Conde, January 1, 1991)

Development in collaboration with PETROTEC, of a system for automatic fuel payment at service stations, without operator intervention.
Read more...


LUSA gestão de arquivos noticiosos (Pedro Pereira, January 1, 1990)

Em 1990, foi concluído o projecto do sistema distribuído que suportou toda a informatização da LUSA, Agência de Informação, nomeadamente a gestão dos arquivos noticiosos de longa data. Desde essa data e...
Read more...


Terminal ATM Papelaco (Luís Falcão, January 1, 1990)

Terminal ATM em colaboração com a PAPELACO.
Read more...


SIBS módulo POS (Point of Sale) (Pedro Pereira, January 1, 1988)

Em 1988-1989, mantendo a colaboração com a SIBS, deu-se continuidade ao projecto inicial do PINPAD, e desenvolveram-se os restantes módulos constituintes do Sistema de Transferência Electrónica de Fundos, nomeadamente: módulo POS (Point...
Read more...


PINPAD Multibanco (Pedro Pereira, January 1, 1987)

Em 1987, em colaboração com a SIBS, desenvolveu-se um PINPAD, componente de segurança dos Sistemas de Transferência Electrónica de Fundos, ligando à rede MULTIBANCO diversos equipamentos de “postos de venda”, contribuindo decisivamente...
Read more...


Rede local ISELNET CSMA/CD (Pedro Pereira, January 1, 1987)

Desenvolvimento uma arquitectura de rede local, denominada ISELNET, do tipo CSMA/CD com recuperação de erros utilizando o protocolo LAP-B, conforme a recomendação IEEE802.2, tendo em vista a sua utilização noutros projectos.
Read more...


Novo ramo de Sistemas Digitais do bacharelato. (Pedro Pereira, January 1, 1986)

No ano lectivo de 1985-1986, considerou-se que estava adquirido know-how bastante para realizar uma remodelação profunda no curriculum do curso de bacharelato em Electrónica e Telecomunicações. Assim, foi criado o ramo de...
Read more...


Núcleo de multiprogramação (MX51), para microprocessadores INTEL 8031/51 (Pedro Pereira, January 1, 1986)

Em 1986, desenvolveu-se o núcleo de multiprogramação (MX51), para microprocessadores INTEL 8031/51, o qual tem vindo a ser integrado em projectos que envolvem ambientes de multiprogramação, nomeadamente em projectos realizados no CCISEL,...
Read more...


Sistema de edição de informação para a agência noticiosa LUSA (Pedro Pereira, January 1, 1985)

Sistema de edição, encaminhamento e tratamento de informação para a agência noticiosa LUSA dispondo de 16 terminais de redacção. Este sistema suportou a expansão da informatização, iniciada em 1983.
Read more...


Sistema de edição de informação para a ANOP (Pedro Pereira, January 1, 1983)

Projecto de desenvolvimento para a ANOP de um sistema para edição, tratamento e expedição de serviço noticioso que suportava quatro terminais de redacção e no qual, pela primeira vez em Portugal, foram...
Read more...


Sistema conversor de informação para a EDP (Pedro Pereira, January 1, 1982)

Projecto em colaboração com a EDP para um sistema conversor de informação com suporte em papel perfurado, para disquetes de 8″ com formato IBM 3740.
Read more...


Kits microprocessador 8085 para laboratórios do bacharelato (Pedro Pereira, January 1, 1980)

No ano lectivo de 1979/1980, mercê do conhecimento e do know-how entretanto adquiridos, promoveu-se a remodelação do curso de bacharelato em Engenharia de Electrónica e Telecomunicações no sentido de integrar, com maior...
Read more...


Sistema de Cifra Offline de Mensagens Telex (Pedro Pereira, January 1, 1979)

Em 1979, foi projectado o Sistema de Cifra Offline de Mensagens Telex, para a CHERET (Chefia do Serviço de Reconhecimento das Transmissões) do Exército Português, industrializado pela Standard Eléctrica e ainda hoje...
Read more...