This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
My take on Ali Rahimi's "Test of Time" award talk at NIPS. | |
Ali gave an entertaining and well-delivered talk. But I fundamentally disagree with the message. | |
The main message was, in essence, that the current practice in machine learning is akin to "alchemy" (his word). | |
It's insulting, yes. But never mind that: It's wrong! | |
Ali complained about the lack of (theoretical) understanding of many methods that are currently used in ML, particularly in deep learning. | |
Understanding (theoretical or otherwise) is a good thing. It's the very purpose of many of us in the NIPS community. | |
But another important goal is inventing new methods, new techniques, and yes, new tricks. | |
In the history of science and technology, the engineering artifacts have almost always preceded the theoretical understanding: the lens and the telescope preceded optics theory, the steam engine preceded thermodynamics, the airplane preceded flight aerodynamics, radio and data communication preceded information theory, the computer preceded computer sci |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
export interface Item { | |
task: string; | |
priority: number; | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import React from "react"; | |
export interface Item { | |
task: string; | |
priority: number; | |
} | |
const getTableStyleProps = (): {} => { | |
return { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import React from "react"; | |
import { Item } from "./ToDoList"; | |
const isValid = (item: Item): boolean => { | |
return item.task !== "" && item.priority !== -1; | |
}; | |
class AddItem extends React.Component<{ addItem: any }, Item> { | |
constructor(props: any) { | |
super(props); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import React from "react"; | |
import ToDoList, { Item } from "./ToDoList"; | |
const initialList = [ | |
{ | |
task: "Pick up Milk", | |
priority: 1, | |
}, | |
{ | |
task: "Buy Eggs", |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import React from "react"; | |
import AddItem from "./AddItem"; | |
import ToDoList, { Item } from "./ToDoList"; | |
const initialList = [ | |
{ | |
task: "Pick up Milk", | |
priority: 1, | |
}, | |
{ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import express from "express"; | |
const app = express(); | |
const port = 3000; | |
app.get("/", (req, res) => { | |
res.send("You are listening from express server"); | |
}); | |
app.listen(port, (err) => { | |
if (err) { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import express from "express"; | |
import { router as item_router } from "./items"; | |
const app = express(); | |
const port = 3000; | |
app.use("/tdsvc/item", item_router); | |
app.listen(port, (err?) => { | |
if (err) { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import { readFileSync, writeFileSync } from "fs"; | |
import { item, user } from "./models"; | |
const ITEMS_SOURCE = "data/items.json"; | |
const USERS_SOURCE = "data/users.json"; | |
const load_items = (): Array<item> => { | |
const data = readFileSync(ITEMS_SOURCE, "utf-8"); | |
if (!data) { | |
return []; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import pg from "pg"; | |
import { item, user } from "./models"; | |
import { CONFIG } from "./pgenv"; | |
const to_item = (itemRow: pg.QueryResult<any>): item => { | |
return { | |
id: parseInt(itemRow["id"]), | |
task: itemRow["task"], | |
priority: parseInt(itemRow["priority"]), |
OlderNewer