Wednesday, June 20, 2018

Java - Create generic array

If you don't need to use this outside of the class, then create a new Object array and cast it.

T[] newArray = (T[])new Object[newSize];

If you need to use this array outside of your class, using the above code will generate a ClassCastException. In order to create a new array, you need a reference to the original array and call Array.newInstance.

T[] newArray = (T[]) Array.newInstance(originalArray.getClass().getComponentType(), newSize);

If you need to create a new array and copy old values from the old array, use Arrays.copyOf

T[] newArray = Arrays.copyOf(originalArray, newSize);



Tuesday, August 30, 2016

Using LetsEncrypt certbot to add certificate to Dokku




  1. Get a certificate
Download certbot: $ wget https://dl.eff.org/certbot-auto
Allow user to execute certbot: $ chmod a+x ./certbot-auto
Download libs: $./certbot-auto
Get certificate: $ ./certbot-auto certonly --standalone -d [domain-name]
Ex: $ ./certbot-auto certonly --standalone -d unony.org -d www.unony.org  


2. Create the file necessary for dokku
Navigate to certificates: $ cd /etc/letsencrypt/live/[domain-name]
Create key: $ cp privkey.pem server.key
Create certificate: $ cp fullchain.pem server.crt
Add certificate to app: $ dokku certs:add [app-name] server.crt server.key



Tuesday, July 21, 2015

Ubuntu: Installing pg gem

After updating my Ubuntu from 14.04 to 15.04, I ran across problem running "bundle install". It told me to install the pg gem manually. I did, but I got the error below. To fix the problem, I had to install libpg-dev before running bundle install again.

sudo apt-get install libpq-dev

Error

Building native extensions.  This could take a while...
ERROR:  Error installing pg:
    ERROR: Failed to build gem native extension.

    /home/irobot/.rvm/rubies/ruby-2.2.0/bin/ruby -r ./siteconf20150721-26806-ml2lou.rb extconf.rb
checking for pg_config... no
No pg_config... trying anyway. If building fails, please try again with
 --with-pg-config=/path/to/pg_config
checking for libpq-fe.h... no
Can't find the 'libpq-fe.h header
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options.

Provided configuration options:
    --with-opt-dir
    --without-opt-dir
    --with-opt-include
    --without-opt-include=${opt-dir}/include
    --with-opt-lib
    --without-opt-lib=${opt-dir}/lib
    --with-make-prog
    --without-make-prog
    --srcdir=.
    --curdir
    --ruby=/home/irobot/.rvm/rubies/ruby-2.2.0/bin/$(RUBY_BASE_NAME)
    --with-pg
    --without-pg
    --enable-windows-cross
    --disable-windows-cross
    --with-pg-config
    --without-pg-config
    --with-pg_config
    --without-pg_config
    --with-pg-dir
    --without-pg-dir
    --with-pg-include
    --without-pg-include=${pg-dir}/include
    --with-pg-lib
    --without-pg-lib=${pg-dir}/lib

extconf failed, exit code 1

Gem files will remain installed in /home/irobot/.rvm/gems/ruby-2.2.0/gems/pg-0.18.2 for inspection.
Results logged to /home/irobot/.rvm/gems/ruby-2.2.0/extensions/x86_64-linux/2.2.0/pg-0.18.2/gem_make.out


Resource:

http://stackoverflow.com/questions/6040583/cant-find-the-libpq-fe-h-header-when-trying-to-install-pg-gem

Tuesday, May 12, 2015

Basic markdown

Link

[Link name](www.url.com)

Reference link
[The New York Times][NY Times]
[ny times]: http://www.nytimes.com/ 

Headers

# Header 1
## Header 2

### Header 3

Emphasis
*italicize*
**bold**
_**italicize and bold**_  or __*really strong emphasis*__


List
Unordered list - dash and space
- Item 1
- Item 2
  - Nested item needs 2 spaces
    - 2 spaces for each 'nest'

Order list - only need a number and a period and space
1. Item 1
1. Item 2 
1. Item 3

Code
`inlined code`

Code block may needs new line before and after block.

```java
public void static main(String[] args) {

}
```

Image

![alt text](/path/to/img.jpg "Title")


![](./pic/pic1_50.png =100x20)

Wednesday, March 4, 2015

Install Django for Ubuntu

Assuming you have python installed, you can install Django with this command:
  • sudo apt-get install python-django
You can check that Django is installed by checking its version:
  • python -c "import django; print(django.get_version())"