Last year ICANN (Internet Corporation for Assigned Names and Numbers), the organisation that supervises DNS, lifted the price cap on .org domain names, despite many protests. This was a decision taken by staff, not by the board. .org domain names are used by many non-profit organisations.
Now that more money can be made here, ISOC (Internet SOCiety), the authority who manages the .org domain, has put the top domain up for sale.
ISOC has immediatly found a candidate who wants to pay $1.135bn for it: Ethos Capital a completely new company with only two staff members, set up by... the former CEO of ICANN, Fadi Chehade, backed by investment companies. Ties of these investment companies with American republican billionaires have raised concerns about political neutrality with respect to the non-profit organisations under the .org umbrella.
A third of the purchase is going to be financed by debt, implying that Ethos capital will have to earn a lot of money with the sale of those domains.
People have been protesting and asked the ICANN board to halt the decision, arguing that, as ICOS never purchased .org, they do not have the right to sell it for more than a billion dollar.
25 January 2020
ISOC to sell .org domain to private investors for over 1 billion dollar
16 January 2020
SHA-1 fully and practically broken
Redently scientists have been able to break SHA-1, with a computational cost (e.g. on Amazon cloud) of $11K.
You should only use the SHA-2 family of secure hash functions (SHA-256, SHA-512...) now.
Labels:
encryption,
security,
sha-1,
sha-2
15 January 2020
Jongeren in tijden van big data
Met hun video’s op TikTok
als een digitale prikklok
weten machtige Chinezen
heel hun leven af te lezen.
als een digitale prikklok
weten machtige Chinezen
heel hun leven af te lezen.
Wie er links of rechts een date had?
Wel, Mark Zuckerberg, die weet dat.
Dankzij kiekjes, filmpjes, flardjes,
ruim voorzien van tags en hartjes.
Wel, Mark Zuckerberg, die weet dat.
Dankzij kiekjes, filmpjes, flardjes,
ruim voorzien van tags en hartjes.
Een id moet dezer dagen
ook hun vingerafdruk dragen.
Privacy is, zo te zien,
zó 2019!
ook hun vingerafdruk dragen.
Privacy is, zo te zien,
zó 2019!
Stijn de Paepe - dagvers 11/01/2020
Labels:
big data,
dagvers,
stijn de paepe
9 January 2020
Firefox 72: get rid of push notification popups
In Firefox 72 you can now avoid random websites asking to send you notifications. Automatically say no in options> privacy and security, scroll down to notifications and click settings...
Then:
Additionally Firefox has enhanced security by making fingerprinting more difficult.
Developer features:
- debugger watchpoints: breakpoints on property changes.
- experimental CSS motion path feauture: an easier way to animate than transform.
2 January 2020
30 December 2019
JPA: Composite Primary Key with Foreign Keys
Entity for the ProductSales Table:
package com.example.model;
import javax.persistence.*;
@Entity
@IdClass(ProductSalesPK.class)
public class ProductSales {
@Column(name = "QUANTITY")
private int quantity_sold;
@Id
@ManyToOne
@JoinColumn(name = "sales_id")
private Sales sales;
@Id
@ManyToOne
@JoinColumn(name = "product_id")
private Product product;
public ProductSales() {
}
public ProductSales(Sales sales, Product product, int quantity_sold) {
this.sales = sales;
this.product = product;
this.quantity_sold = quantity_sold;
}
public Product getProduct() {
return product;
}
public Sales getSales() {
return sales;
}
public void setProduct(Product product) {
this.product = product;
}
public void setSales(Sales sales) {
this.sales = sales;
}
public int getQuantity_sold() {
return quantity_sold;
}
public void setQuantity_sold(int quantity_sold) {
this.quantity_sold = quantity_sold;
}
}
ProductSalesPK Id class:
package com.example.model;
import java.util.Objects;
public class ProductSalesPK {
private int sales;
private String product;
public ProductSalesPK(int sales_id, String product_id) {
this.sales = sales_id;
this.product = product_id;
}
@Override
public int hashCode() {
int hash = 5;
hash = 83 * hash + this.sales;
hash = 83 * hash + Objects.hashCode(this.product);
return hash;
}
@Override
public boolean equals(Object obj) {
if (obj == null) {
return false;
}
if (getClass() != obj.getClass()) {
return false;
}
final ProductSalesPK other = (ProductSalesPK) obj;
if (this.sales != other.sales) {
return false;
}
if (!Objects.equals(this.product, other.product)) {
return false;
}
return true;
}
}
Entity class fpor Product:package com.example.model;
package com.example.model;
import java.util.Objects;
import javax.persistence.*;
import javax.validation.constraints.*;
@Entity
public class Product {
@NotNull(message="product id not null") @Size (min = 1,message="product id not empty")
@Id
private String product_id;
@NotNull(message="product name not null") @Size (min = 10,message="product name length at least 10")
private String prod_name;
@Min(value=5, message="price >= {value}")
private double price;
private String prod_desc;
public Product() {
}
public Product(String id, String name, double price, String description) {
this.product_id = id;
this.prod_name = name;
this.price = price;
this.prod_desc = description;
}
public String getId() {
return product_id;
}
public String getName() {
return prod_name;
}
public void setName(String name) {
this.prod_name = name;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public String getDescription() {
return prod_desc;
}
public void setDescription(String description) {
this.prod_desc = description;
}
@Override
public String toString() {
String s = String.format("Product id: %s\n"
+ "Name: %s\n"
+ "Description: %s\n"
+ "Price: $%.2f", product_id, prod_name, prod_desc, price);
return s;
}
@Override
public int hashCode() {
int hash = 3;
hash = 97 * hash + Objects.hashCode(this.product_id);
hash = 97 * hash + Objects.hashCode(this.prod_name);
hash = 97 * hash + (int) (Double.doubleToLongBits(this.price) ^ (Double.doubleToLongBits(this.price) >>> 32));
hash = 97 * hash + Objects.hashCode(this.prod_desc);
return hash;
}
@Override
public boolean equals(Object obj) {
if (obj == null) {
return false;
}
if (getClass() != obj.getClass()) {
return false;
}
final Product other = (Product) obj;
if (!Objects.equals(this.product_id, other.product_id)) {
return false;
}
if (!Objects.equals(this.prod_name, other.prod_name)) {
return false;
}
if (Double.doubleToLongBits(this.price) != Double.doubleToLongBits(other.price)) {
return false;
}
if (!Objects.equals(this.prod_desc, other.prod_desc)) {
return false;
}
return true;
}
}
Labels:
FJ-310,
JPA,
SL-340-EE6
Subscribe to:
Posts (Atom)




