Category Archives: Tech

Tech related stuff, usually in terms of code and libraries.

Interdepartmental Secrecy

This would be mostly about rant. That’s it. My work with a particular client has been running since last year in developing a system to store and make simple analysis regarding all of their work, in short. Their substantial work, however, has ties with several bodies in the same level as theirs. These ties imply data connection between them and protocols with which data can be interchanged. From this point, they argue which data can be shared either publicly or internally.

The definition of secrecy, of confidentiality belongs to data-master, as I usually call it. The master has every right to declare which are confidential and which are not. In the latter case, the data might be in public domain for public review. The data-masters have their superior, their supervisor which has also every right to command them to release everything they have. At some point they, the data-masters simply agreed but later one person stood up and challenge the forum about possible consequences.

Personally attending the forum, I had to contribute one or two arguments, which were later considered as rude and sharp by my colleagues. Seeing that attendees seemed to be confused about which would be hidden in our system and which would be open for public, it was only fair to make a point or two for their misconceptions, in short sentence of course.

I beg your pardon for pointing this out again and again. From your requirement, you might let your data be visible on public domain. This aspect has been very clear for us from the beginning that public shall not see data on this level of detail. They are only to see, if necessary, the final data containing final result. The on-going data shall not be for them to see. For personal inquiry regarding their case and how far their case have been handled, they have been given credential unique to themselves to access such information. Therefore, I thought there is no need to expose our storeroom to all crowds.

A colleague of mine reprimanded¬† me for being rude again but at this point, I couldn’t be anymore careless. It’s their data, their integrity, their system. While being maintained by me (and my friends, we formed a formidable team here), I, as representation of my team, cannot let our work be only a toy instead of serious collaboration.

The conclusion was that we would develop a prototype which would have intentional data breach. Such prototype would allow public domain to see data, which were deemed confidential at first but later requested to be public. This prototype, however, would not be deployed on formal server but on one PC which belongs to a colleague, from which all access would only be permitted from localhost.

Following meeting should be held afterwards with regard of this experimental and intentional breach. Different stakeholders, I assume, will either fight against themselves head on while figuring out why these data should be hidden and why not by request of higher authorities, or they would willingly submit to these authorities.

Advertisements

Leave a comment

Filed under Tech

postgis Extension

A friend of mine told me to use postgresql for spatial web development. I haven’t acquired any reference as to why this particular database should be chosen. Since he works in spatial analysis, I just follow his words. My work is mainly done on Windows platform since I have tendency to game while working. To work on spatial database, I need to install postgis extension on my database. There are several ways on how to do this. There are zip files you can extract to your postgresql folder or you can download binary file containing your extension or you can use tools which can find you the most suitable postgis. I chose the third and began my dependency towards StackBuilder.

I have gotten use to utilize StackBuilder tool provided by postgresql itself. If you download the postgresql installer, you might find StackBuilder under bin folder. From there, you just run it, choose your local sever, choose Spatial Extensions, and there you can find suitable postgis bundle.

StackBuilder is not a default tools though. If you download the postgresql installer provided by BigSQL, this tool isn’t available. You’ll need to download postgresql installer from EnterpriseDB to get StackBuilder tools. I haven’t familiarized myself with those from BigSQL. They might have something different. But for now, I prefer to use tools I’m familiar with.

Leave a comment

Filed under Tech

Impression of pgAdmin

I happen to use pgAdmin tools quite often. It makes things easier for database management. But then I stumbled upon pgAdmin 4. It’s not as intuitive as pgAdmin III. It came to me first when I want to create new table. The steps begin with the same right-click, create table, and then the table is there. But I couldn’t create columns while in create table dialog. On the other hand, pgAdmin III allows me to do this particular task. The UI of pgAdmin 4 seems out of Windows-UI sense. Below is pgAdmin 3.

See how simple the UI is? A friend of mine told me that he rarely uses this tool because he uses migration command line provided for his working framework. He only uses pgAdmin as browsing tool. This tool comes with postgresql-9.5. I tried with version 10 and 9.6. Both of them uses pgAdmin 4. Compared to 9.6, 9.5 only comes with postgis 2.3 which is fine since I don’t know how the versions differ from each other and I haven’t experienced anything crucial related to these versions.¬†2.3 works just fine.

Now this is pgAdmin 4. It seems like web browser to me and it feels not natively Windows-UI. It also works slower than the previous version. While surely 10 and 9.6 provide several improvements compared to their predecessor, my deployment environment still use postgresql-9.3. I wonder if database created on 9.5 would work just fine on 9.3. By the way, this is a pgAdmin 4 UI.

Again, this is only impression of mine towards these two product. Those who prefer entering command line through Terminal or working in Linux/UNIX environment shouldn’t have this issue.

Leave a comment

Filed under Tech

Back to the Olden Days

Does that sound right? Anyway, this would refer to using good old Windows XP again after a while. Current hardware generation is normally not supported by Windows XP. For example, first Core i3 processor wasn’t supported by this operating system directly. Some said that one had to tweak some of the included drivers but since there is a software called virtual machine, why not give it a try?

xp-vm

How cool is that seeing that legendary background once again?

Next thing to do was software for work. There are drivers, tools, editor, and security application that might be necessary. Those, however, might need some adjustment. Several software might not support Windows XP any longer which means one should browse around several archives to find compatible version. But that’s a story for another day.

Good Day.

Leave a comment

Filed under Tech

Telegram Is Timed Out

I wanted to try Telegram for Desktop. Sadly, it’s timed out. Well, not that sadly. I hardly use it on my phone.

Only by using VPN, Telegram might be accessed.

And, that’s a wrap. Good Day, People.

Leave a comment

Filed under Tech

Redirection

Currently, I’m thinking about replacing this.context.router.push('/some/path') with some other lines. The idea is this. Before the page is loaded, it checks if current user is already logged in or not. If it is then please proceed to render the page normally and if not then please go to homepage.

The command for redirecting is either this.context.router.push or this.context.router.transitionTo. This depends on library version. Unfortunately, I found yesterday that push couldn’t be used anymore and neither could transition be. So, what should I do?

Apparently, you could put window.location = '/some/path' inside componentWillMount. But I wonder if that’s a good idea.

Leave a comment

Filed under Tech

Version Is Important

That’s true. Different version of libraries can make the whole thing a lot easier. It happened to me and my teammate.

We have been developing a sample application capable of presenting charts using NodeJS and ReactNative. At first, we just went our way and messing around with any libraries we found in the internet. Until one afternoon, my friend found a particular library that seemed promising. It is, though. That afternoon he tried the library and it worked just fine. He told me that we could go that way and finish our charting the next day. So I nodded and packed my bag and went home.

The morning arrived and I installed the libraries he had told me before. The name is react-native-pathjs-charts. After installing via terminal, I realized that the this thing was related to react-native-svg and not a moment later I also installed it. After that, I linked them. The instruction regarding how to set this up is available on the website.

$ npm install react-native-pathjs-charts --save
$ npm install react-native-svg --save
$ react-native link react-native-svg

After that, I got an error which wasn’t there when my friend tried the sample with it. After browsing around, I found that this issue had been found and posted on Github. It said that I needed to change some lines of code in a file because the package name had been changed. So I did. It didn’t work.

After an hour or two reading the website carefully, I realized that we might have different version of libraries. So I asked my friend which version he had used the day before. he didn’t know so he went back online and searched for possible version. After he gave me the numbers, I removed the existing libraries and re-installed them using their corresponding version.

$ npm remove react-native-pathjs-charts
$ npm remove react-native-svg

He said the version for svg was 5.1.3 and chart was 0.0.26. So I proceeded with the numbers.

$ npm install react-native-pathjs-charts@0.0.26 --save
$ npm install react-native-svg@5.1.3 --save
$ react-native link react-native-svg

I also cleared the cache, just in case. After that, I put back the sample charting code and run the project again.

$ react-native run-android

And it worked since I got the same result as my friend did the day before. After that we continued our work a bit more happier. Only a bit.

Leave a comment

Filed under Tech