185013154198061056
| Feature | BoatBot | Others |
|---|---|---|
| Detailed Player Data | ✅ | ⭕ |
| Score Tracking | To be repaired | ⭕ |
| Works with all osu modes | ✅ | ⭕ |
| Works with private servers | ❌ | ⭕ |
| Easy to use with difficult usernames | ✅ | ❌ |
| Oldest osu! bot that's still working | ✅ | ❌ |
| Source Available | ✅ | ⭕ |
BoatBot is no longer being actively developed and will cease operations in April 2022. See<EMAIL_ADDRESS>for more details.
| Item | Status | ETA |
|---|---|---|
| BoatBot End of Active Development | In Effect | June 18, 2020 |
| EOL Determination | In Effect | Yearly, beginning on May 25, 2021 |
| Service Shutdown | Pending | April, 2022 |
| Stop processing all support requests (data/privacy) | Pending | April, 2023 |
<>
indicate required parameters and
[]
indicate optional parameters[ign?]
mean?
[]
: nothing needs to be specified if you want to pull up your own
informationign
: the username (whatever it is)$shortcut
: any $shortcut set for a user using !setshortcut
@mention
: mention any other discord user^
: the player whose information was most recently requested[range?]
mean?
[]
: nothing needs to be specified if you want to use the default range1-15
: the range of values (in this case, #1 to #15)-15
: the range of values just before #15 (..., #13, #14, #15)
1-
: the range of values starting at #1 (#1, #2, #3, ...)20
: show the top 20 values (#1 to #20)
COMMANDS vLazer |
ACTION | EXAMPLE |
|---|---|---|
!recent [ign?] !r [ign?] |
Shows your most recent score from any mode | |
Standard mode:
!recentstandard[play#] [ign?] !recentstandard[play#] [ign?] !rstandard[play#] [ign?] !rstd[play#] [ign?] !rs[play#] [ign?]Taiko: !recenttaiko[play#] [ign?] !rtaiko[play#] [ign?] !rt[play#] [ign?]Catch the Beat: !recentctb[play#] [ign?] !rctb[play#] [ign?] !rc[play#] [ign?]Mania: !recentmania[play#] [ign?] !rmania[play#] [ign?] !rm[play#] [ign?] |
Shows your most recent score from a specified mode. A play # can be specified where 1 is the most recent play and 50 is the 50th most recent play. | |
Standard mode:
!beststandard[top #] [ign?] !beststd[top #] [ign?] !best[top #] [ign?] !top[top #] [ign?]Taiko: !besttaiko[top #] [ign?] !toptaiko[top #] [ign?] !btaiko[top #] [ign?] !ttaiko[top #] [ign?] !bt[top #] [ign?] !tt[top #] [ign?]Catch the Beat: !bestctb[top #] [ign?] !topctb[top #] [ign?] !bctb[top #] [ign?] !tctb[top #] [ign?] !bc[top #] [ign?] !tc[top #] [ign?]Mania: !bestmania[top #] [ign?] !topmania[top #] [ign?] !bmania[top #] [ign?] !tmania[top #] [ign?] !bm[top #] [ign?] !tm[top #] [ign?] |
Shows one of your top plays. A top score # can be specified where 1 is the highest pp play and 100 is the 100th highest pp play. | |
Standard mode:
!alltop[range?] [ign?]Taiko: !alltoptaiko[range?] [ign?]Catch the Beat: !alltopctb[range?] [ign?]Mania: !alltopmania[range?] [ign?] |
Shows multiple top pp plays from any player. The range of valid scores is #1 to #100. | |
!scorecompare [ign?] [+mods] !scompare [ign?] [+mods] !compare [ign?] [+mods] !c [ign?] [+mods] |
Compare a user's score to the most recently posted beatmap. You may optionally specify mods to filter the result. Use + for nomod. |
|
!whatif [ign?] +<new pp value> !whatiftaiko [ign?] +<new pp value> !whatifctb [ign?] +<new pp value> !whatifmania [ign?] +<new pp value> |
Calculates net pp change if a new score made it to a user's top 100 | |
!whatif [ign?] <new beatmap pp value> !whatiftaiko [ign?] <new beatmap pp value> !whatifctb [ign?] <new beatmap pp value> !whatifmania [ign?] <new beatmap pp value> |
Calculates net pp change if a score on a beatmap was replaced | |
<osu multi lobby link> |
Shows the most recently played beatmap and player scores in a multi lobby. |
<>
indicate required parameters and
[]
indicate optional parameters[ign?]
mean?
[]
: nothing needs to be specified if you want to pull up your own
informationign
: the username (whatever it is)$shortcut
: any $shortcut set for a user using !setshortcut
@mention
: mention any other discord user^
: the player whose information was most recently requested
COMMANDS vLazer |
ACTION | EXAMPLE |
|---|---|---|
Standard mode:
!statsplus [ign?] !sp [ign?] !osu [ign?] !std [ign?]Taiko: !taiko [ign?] !sptaiko [ign?] !spt [ign?]Catch the Beat: !ctb [ign?] !spctb [ign?] !spc [ign?]Mania: !mania [ign?] !spmania [ign?] !spm [ign?] |
Shows detailed osu stats for a certain player | |
Standard mode:
!statsplus-m [ign?] !sp-m [ign?] !osu-m [ign?] !std-m [ign?]Taiko: !taiko-m [ign?] !sptaiko-m [ign?] !spt-m [ign?]Catch the Beat: !ctb-m [ign?] !spctb-m [ign?] !spc-m [ign?]Mania: !mania-m [ign?] !spmania-m [ign?] !spm-m [ign?] |
Shows mod breakdown of top 100 scores for a certain player | |
<osu user page link> !osusignature [ign?] !osusign [ign?] !osusig [ign?] |
Shows basic player information | |
!stats <username> !stat <username> |
BoatBot !stats emulator |
<>
indicate required parameters and
[]
indicate optional parameters[ign?]
mean?
[]
: nothing needs to be specified if you want to pull up your own
informationign
: the username (whatever it is)$shortcut
: any $shortcut set for a user using !setshortcut
@mention
: mention any other discord user^
: the player whose information was most recently requested
COMMANDS vLazer |
ACTION | EXAMPLE |
|---|---|---|
<osu beatmap link> [+mods] <osu beatmap download link> [+mods] |
Shows information on a beatmap/beatmap set. | |
!beatmap <beatmap link or ID> [+mods] !map <beatmap link or ID> [+mods] |
Shows information on a specific beatmap. | |
!beatmapinfo [+mods] !binfo [+mods] |
Shows information on the most recently posted score or beatmap. | |
!oppai [oppai args] |
Runs oppai-ng on the most recent beatmap information posted in the same channel. |
<>
indicate required parameters and
[]
indicate optional parameters[ign?]
mean?
[]
: nothing needs to be specified if you want to pull up your own
informationign
: the username (whatever it is)$shortcut
: any $shortcut set for a user using !setshortcut
@mention
: mention any other discord user^
: the player whose information was most recently requested
COMMANDS vLazer |
ACTION | EXAMPLE |
|---|---|---|
!invite |
Gives a link to add BoatBot to another server. |
!invite
|
!help !docs !documentation |
Gives a link to this website, as well as providing information on how to ask for help from our staff. |
!docs
|
!roll [text] !roll [max number] |
Returns a random number between 1-100 or 1-max range. |
!roll 1000
|
!coin !coinflip !flipcoin |
Returns HEADS(49%), TAILS(49%), or SIDE (2%). |
!coin
|
!complain <text> |
Tell us why BoatBot isn't working out for you. |
!complain BoatBot is too slow
|
!suggest <text> |
Give us a suggestion. |
!suggest make this a new command
|
!praise <text> |
Give us a pat on the back. |
!praise BoatBot is great!
|
!ask <text> !question <text> |
Send us your questions. |
!ask when's the next update coming?
|
!ping [text] !latency [text] |
Checks BoatBot response time. If text follows
!ping , then the response will be a repeat of the text. |
!ping
|
!about !credits !acknowledgements !contributors !contributions |
Shows list of people who have contributed to the BoatBot project |
!credits
|
!owner !owners |
Shows the current list of CMs and their IDs. |
!owners
|
<>
indicate required parameters and
[]
indicate optional parameters
COMMANDS vLazer |
ACTION | EXAMPLE |
|---|---|---|
!link <ign> !osuset user <ign> |
If your osu ign is different from your discord username, you can set your osu ign using this command, and BoatBot will remember it. |
!link iaace |
!getlink !gl |
Tells you what osu username you currently have registered with BoatBot |
!gl |
!unlink !removelink |
BoatBot forgets your preferred username. |
!unlink |
!shortcuts !shortcut |
Displays a list of nicknames you've set for friends with hard to spell names. All shortcuts begin with an "$". |
!shortcuts |
!setshortcut $<nickname> <ign> !ss $<nickname> <ign> !createshortcut $<nickname> <ign> !addshortcut $<nickname> <ign> |
Add a nickname to your preferences. |
!ss $test -_ _-_ [] |
!removeshortcut $<nickname> !deleteshortcut $<nickname> !ds $<nickname> |
Remove a nickname from your preferences. |
!rs $jon |
!removeallshortcuts |
Remove all nicknames from your preferences. |
!removeallshortcuts |
<>
indicate required parameters and
[]
indicate optional parameters
COMMANDS vLazer |
ACTION | DEFAULT | EXAMPLE |
|---|---|---|---|
boatsetprefix [new prefix] |
Changes the prefix for BoatBot. If none is specified, BoatBot will operate without using prefixes. |
! |
boatsetprefix ! |
!setting release-notifications <on/off> |
Show BoatBot release notes in your server. | on | !setting release-notifications off |
!setting comparisons <on/off> |
Enables or disables the !compare/!c command in a server. | on | !setting comparisons off |
!setting abi <on/off> |
Enables or disables automatic beatmap information (ABI). | on | !setting abi off |
!scm <full/reduced/compact> |
Sets the default display mode for scorecards. Full will show labeled information and beatmap information. Compact will only show score information without labels. Reduced will use "full" mode for 1 minute, and then switch to "compact" mode. | on | !scm full |
!setting global-feedback <on/off> |
Enables or disables !complain and other boatbot feedback commands. | on | !setting global-feedback off |
!setting multi-score-max <0-30> |
Sets the maximum allowable scores in a single command (!alltop). Set to 0 to disable !alltop. | 30 | !setting multi-score-max 0 |
!setting cmdgroup-score <on/off> |
Enables or disables score commands. | on | !setting cmdgroup-score off |
!setting cmdgroup-beatmap <on/off> |
Enables or disables beatmap commands. | on | !setting cmdgroup-beatmap off |
!setting cmdgroup-player <on/off> |
Enables or disables player statistic commands. | on | !setting cmdgroup-player off |
!setting cmdgroup-general <on/off> |
Enables or disables general commands. | on | !setting cmdgroup-general off |
!setting cmdgroup-username <on/off> |
Enables or disables username commands. | on | !setting cmdgroup-username off |
<>
indicate required parameters and
[]
indicate optional parameters
COMMANDS vLazer |
ACTION | OWNER PERMISSIONS REQUIRED |
|---|---|---|
!as <target uid> <command to run> |
Impersonates using a command as another user in the same server. | Yes |
eval <javascript code> |
Evaluates javascript and sends the result as a reply. | Yes |
iapi eval <javascript code> |
Evaluates javascript on the internal API process and sends the result as a reply. | Yes |
notify <message> |
Sends a message in each server BoatBot is connected to. | Yes |
!releasenotify <message> |
Sends a message about a new BoatBot release to all servers. This type of mass notification can be disabled on a per-server basis. | Yes |
!link <ign> <@user> |
Sets a link for a different user. | Yes |
!unlink <@user> !removelink <@user> |
Removes a link for a different user. | Yes |
!getlink <@user> !gl <@user> |
Retrieves a link for a different user. | Yes |
!banuser <user id> <duration> <reason> |
Bans a user from using BoatBot. Set duration as
0 for a permaban. Accepted time modifiers are "H" hours and "D" days.
|
Yes |
!shadowbanuser <user id> <duration> <reason> |
Bans a user from using BoatBot. Set duration as
0 for a permaban. Accepted time modifiers are "H" hours and "D" days. This version does not notify the person banned.
|
Yes |
!banserver <server id> <reason> |
Bans a server from using BoatBot. Set duration as
0 for a permaban. Accepted time modifiers are "H" hours and "D" days.
If a server is issued a permaban, BoatBot
MAY leave the server on its own. |
Yes |
!shadowbanserver <server id> <reason> |
Bans a server from using BoatBot. Set duration as
0 for a permaban. Accepted time modifiers are "H" hours and "D" days.
If a server is issued a permaban, BoatBot
MAY leave the server on its own. This version does not notify the server banned. |
Yes |
!warnuser <user id> <reason> |
Warns a user to not abuse BoatBot. | Yes |
!warnserver <server id> <reason> |
Warns a server to not abuse BoatBot. | Yes |
!noteuser <user id> <reason> |
Quietly makes an internal note about a user. | Yes |
!noteserver <server id> <reason> |
Quietly makes an internal note about a server. | Yes |
!userhistory <user id> |
Views user disciplinary records and notes. | Yes |
!serverhistory <server id> |
Views server disciplinary records and notes. | Yes |
!unbanuser <user id> |
Unbans an actively banned user. | Yes |
!unbanserver <server id> |
Unbans an actively banned server. | Yes |
!actionreport <admin user id> |
Shows disciplinary actions issued by any BoatBot admin. | Yes |
!mail <user id> <text> |
Send a message to a user, with language flags. | Yes |
!approve <message id> |
Approve a message in the external feedback channel for public viewing. | Yes |
!deny <message id> |
Deny a message in the external feedback channel for public viewing. | Yes |
!migratelinks |
Migrate links from v1 to v2 database. Will overwrite. | Yes |
!cs |
Detailed status information about software and hardware systems. | Yes |
iping |
Shows ping times on the connection to the internal api server. | No |
!permissionstest [@user] !pt [@user] |
Shows whether or not someone has elevated permissions in the BoatBot context. | No |
wping |
Shows ping times on the websocket connection to the internal api server. | No |
TERMS OF SERVICE – Don’t be a bot on a user account and use BoatBot. – Don’t abuse bugs. If you find a bug, please report it to us. – Don’t spam useless feedback. – If you do not want to use BoatBot, let us know and we’ll opt you out of our services. – We reserve the right to ban users and servers from using BoatBot at our discretion. - We collect data on BoatBot usage to improve user experience and to prevent abuse. BoatBot is not affiliated with ppy Ltd. or osu.ppy.sh . For additional support, please visit https://discord.gg/57Z8Npg


|
Steam Audio API
2.0-beta.18
|
Functions for managing a Binaural Renderer object. More...
Data Structures | |
| struct | IPLHrtfParams |
| Parameters used to describe the HRTF database you want to use when creating a Binaural Renderer object. More... | |
Enumerations | |
| enum | IPLHrtfDatabaseType { IPL_HRTFDATABASETYPE_DEFAULT, IPL_HRTFDATABASETYPE_SOFA } |
| The type of HRTF database to use for binaural rendering. More... | |
Functions | |
| IPLAPI IPLerror | iplCreateBinauralRenderer (IPLhandle context, IPLRenderingSettings renderingSettings, IPLHrtfParams params, IPLhandle *renderer) |
| Creates a Binaural Renderer object. More... | |
| IPLAPI IPLvoid | iplDestroyBinauralRenderer (IPLhandle *renderer) |
| Destroys a Binaural Renderer object. More... | |
Functions for managing a Binaural Renderer object.
Before creating any effect objects that perform spatialization or binaural rendering, you must create a Binaural Renderer object. This object describes global settings and audio pipeline parameters that will be used by all spatialization and binaural rendering effect objects.
| enum IPLHrtfDatabaseType |
The type of HRTF database to use for binaural rendering.
You can either use the built-in HRTF database, or supply your own HRTF data at run-time.
| Enumerator | |
|---|---|
| IPL_HRTFDATABASETYPE_DEFAULT | The built-in HRTF database. |
| IPL_HRTFDATABASETYPE_SOFA | An HRTF database loaded from a SOFA file. SOFA is an AES standard file format for storing and exchanging acoustic data, including HRTFs. For more information on the SOFA format, see https://www.sofaconventions.org/ |
| IPLAPI IPLerror iplCreateBinauralRenderer | ( | IPLhandle | context, |
| IPLRenderingSettings | renderingSettings, | ||
| IPLHrtfParams | params, | ||
| IPLhandle * | renderer | ||
| ) |
Creates a Binaural Renderer object.
This function must be called before creating any Panning Effect objects, Object-Based Binaural Effect objects, Virtual Surround Effect objects, or Ambisonics Binaural Effect objects. Calling this function for the first time is somewhat expensive; avoid creating Binaural Renderer objects in your audio thread if at all possible. This function is not thread-safe. It cannot be simultaneously called from multiple threads.
| context | The Context object used by the audio engine. |
| renderingSettings | An IPLRenderingSettings object describing the audio pipeline's DSP processing parameters. These properties must remain constant throughout the lifetime of your application. |
| params | Parameters describing the type of HRTF data you wish to use (built-in HRTF data or your own custom HRTF data). |
| renderer | [out] Handle to the created Binaural Renderer object. |
Destroys a Binaural Renderer object.
If any other API objects are still referencing the Binaural Renderer object, it will not be destroyed; destruction occurs when the object's reference count reaches zero.
| renderer | [in, out] Address of a handle to the Binaural Renderer object to destroy. |


chatter|app
- #Yummy
- #SevenContinents
- #KillerApp
- #FirstPersonOnMars
- #Octoberfest
#SevenContinents
by
cheeses.yard.applies
What's the place you folks call home?
BRISBANE! Hang loose!
thus.best.dishes
Wed, June 20th, 14:02
12 min. left
The big apple.
Eu sou um Carocas.
Greetings from the western cape!
北京


JS Ruby
Throwdown: In Which I Rant
2/5/15
Hello Again Blog!
I really like me some Ruby. Relative to all other computer languages I know at this point I can safely say that I think Ruby is the best. For now. Maybe.
I just feel like switching from Ruby to JS is like switching to a car without AC, a radio, GPS, or basically anything that would help you do what you need to do in the car other than literally making the wheels go or stop or turn. There is so much functionality that I assume is basic and obvious for all computer languages because Ruby had it. Without modifying functions JS can't reverse a string. It can't randomize the items in an array, nor flatten nested arrays (all particularly vexing problems when I was trying to make my JS version of that most elementary card game: War). If you try to sort an array of numbers without writing your own additional qualifying block of code it will sort by value in a table, not by numerical value. Meaning since 1 is less then 2, anything starting with a 1, even, 1,000,000,000 will be sorted as if it were less than 2.
Having said all that, some things in JS are more user friendly. specifically I can think only of for loops right now. But that is a big one. Iteration in Ruby comes in many varieties. I got into the habit early on of using while loops with incremented variables to keep track of the conditionals. JS for loops put all that into one neat little line that lets you increment however you want as the third argument passed into the for loop.
Like so. for (var index = someNumber; someNumber < something.length; index += 4){Do something}
you can change the index by 1 each time, or by as much as you want and only access certain positions in an array while iterating through an array, instead of iterating every index. A Ruby while loop can be very similar, but not as obvious to read because often the incrementing variable and the degree of incrementation are separated by a code block or two.
Other than that there are just a lot of little things that are different. Back to the car analogy. It's is a bit like things are just in weird places. JS makes you write var
before every variable. and function
before every function. It's like having to yell "Turning" before every turn you make. Sure that's kind of what the blinkers are for. (But if so the JS equivalent would have me yell twice. 1 - I'm hitting the blinker! 2 - I'm Turning! Oh, And I wouldn't be able to reverse. I would have to take apart the car piece by piece, move everything around. then build a new car that points in the opposite direction and then go.)


When you first jump into CSS you might be a bit confused when it comes to padding and margins. On the surface of it they seem to both deal with the same thing; the space around the element you are trying to style. However, there are a couple of key differences between the two which make them behave very differently. In this technical blog we will look at some of the differences between the two and a few use cases.
To describe padding and margins it is first important to understand borders. Essentially, borders are the edge of a given element.  Sometimes they are a dotted line with rounded Borders. Often the border isn't styled at all and it's impossible to see where it is without the use of developer tools. Borders take many different forms and sometimes it can be hard for a beginner to find where the border of an element lies.
Now that we know what a border is we can talk about padding. Applying padding to an element gives the content inside it a 'cushion' of dead space between it and the border. Think of your content as an important object you are sending out for delivery. The padding is like the bubble-wrap surrounding your important object, and the border is the box it is delivered in. It provides a gap between the object and the box so it the package is dropped then the contents aren't damaged. Now, our padding doesn't actually physically protect the content in any way but take a look at the diagram below and see how our metaphor works. Furthermore, our padding follows all the rules laid out for the element it is applied to. The positioning should stay more or less the same because we are not changing the physical size of our element and any background colour, or images, will also be applied to the padding.
Where padding creates dead space inside an element's border, a margin does the same but outside the border. Again, we are not changing the physical size of our element, however, margins will affect our positioning. To return to our package analogy, imagine adding a margin as not being able to stack parcels in the courier van directly next to each other. The back of our courier van is 1m x 1m in size. Each parcel is 10cm x 10cm in size. Normally we can fit the parcels in the back of the van in 10 rows of 10 parcels. However, because so many packages were being damaged in transit the boss has introduced a new rule (our margin). The rule says each parcel must have 10cm of empty space from each other parcel and any of it's empty space. We can imagine the first parcel fits in no problem; there is 10cm between it and each wall of the van so happy days! When we go to add the next parcel thing start to get a little weird... Because we also need to keep space between the space of last parcel there is now 20cm between the two parcels! If we keep adding parcels we can only fit nine parcels before they start to fall out the back of the van. Another option would be to add this same rule to the top and left hand sides of out parcels. Now, we strike a balance between potentially damaging parcels (those on the bottom and right hand sides) and fitting much more parcels in the van.
As a general rule, if you want to clearly define the edge of an element then you can style the border. If you want to move the content inside away from the border without affecting your layout then you probably want some padding. And if you want to move an entire element away from another then your looking at a margin.
The best way to understand these concepts is to practice them. Create a new practice project and try spacing out all the content in grids, or pyramids. When you think you have a good grasp on that try find some new tricks; for instance if you add 'margin: 0 auto' your element will have no margin on the top and bottom, and will magically automatically center itself horizontally within it's parent element. For extra points, find a page that you like and try to block out the basic layout using just empty elements. If you do all three of these steps you should be well on your way to becoming a border, padding, and margin pro!


class: center, middle, inverse, title-slide # Features ### Machine Learning with R
Basel R Bootcamp
### October 2019 --- layout: true
        www.therbootcamp.com      Machine Learning with R | October 2019
 --- .pull-left45[ # Feature issues
 Too many features - Curse of dimensionality - Feature importance Wrong features - Feature scaling - Feature correlation - Feature quality Create new features - Feature engineering ] .pull-right45[

 from xkcd.com
 ] --- # Curse of dimensionality .pull-left35[ As the number of features grows... <high>Performance</high> - the amount of data that needs to generalize accurately grows exponentially. <high>Efficiency</high> - the amount of computations grows (how much depends on the model). <high>Redundancy</high> - the amount of redundancy grows (how much depends on the model). → <high>Small set of good predictors<high> ] .pull-right6[

 from medium.freecodecamp.org
 ] --- # How to reduce dimensionality? .pull-left45[ 3 ways 1 - Reduce variables <high>manually</high> based on statistical or intuitive considerations. 2 - Reduce variables <high>automatically</high> using the right ML algorithms, e.g., `random forests` or `lasso regression`, or feature selection algorithms, e.g., `recursive feature selection`. 3 - Compress variables using <high>dimensionality reduction algorithms</high>, such as `principal component analysis` (PCA). ] .pull-right5[
  from Interstellar
 ] --- # Feature importance .pull-left4[ <high>Feature importance</high> characterizes how much a feature contributes to the fitting/prediction performance. The metric is <high>model specific </high>, but typically <high>normalized</high> to `[0, 100]`. Strategies - Single variable prediction (e.g., using `LOESS`, `ROC`) - Accuracy loss from scrambling - `random forests` importance - etc. ] .pull-right5[ ```r # plot variable importance for lm(income ~ .) plot(varImp(income_lm)) ```  ] --- # `varImp()` .pull-left45[ `varImp()` <high>automatically selects appropriate measure</high> of variable importance for a given algorithm. ```r varImp(income_lm) ``` ``` lm variable importance Overall age 100.000 food 41.134 alcohol 25.247 happiness 11.582 tattoos 5.888 children 2.745 height 2.337 weight 0.983 ``` ] .pull-right5[ ```r # plot variable importance for lm(income ~ .) plot(varImp(income_lm)) ```  ] --- .pull-left35[ # Recursive feature selection `rfe()` Find the <high>best number of `n` predictors</high>, with `n` drawn from specified candidate sets `N`, e.g., `N = [2,3,5,10]`. Algorithm 1. <high>Resample</high> and split data<br2> 2. Identify <high>best `n` predictors</high> and their prediction performance<br2> 3. <high>Aggregate performance</high> and select best `n` and the accordingly best predictors ] .pull-right55[

 ```r # Run feature elimination rfe(x = ..., y = ..., sizes = c(3,4,5,10), # feature set sizes rfeControl = rfeControl(functions = lmFuncs)) ``` ``` Recursive feature selection Outer resampling method: Bootstrapped (25 reps) Resampling performance over subset size: Variables RMSE Rsquared MAE RMSESD RsquaredSD MAESD Selected 3 0.371 0.861 0.292 0.0133 0.0139 0.01078 4 0.367 0.863 0.288 0.0127 0.0126 0.00992 * 5 0.368 0.863 0.289 0.0122 0.0124 0.00951 10 0.371 0.861 0.292 0.0123 0.0121 0.00922 14 0.371 0.861 0.291 0.0122 0.0120 0.00918 The top 4 variables (out of 4): age, food, alcohol, happiness ``` ] --- # Dimensionality reduction using `PCA` .pull-left45[ The go-to algorithm for dimensionality reduction is <high>principal component analysis</high> (PCA). PCA is an <high>unsupervised</high>, regression-based algorithm that re-represents the data in a <high>new feature space</high>. The new features aka principal components are greedy. <high>Skimming off the best components</high> results in a small number of features that <high>preserve the original features</high> as well as possible. ] .pull-right45[
  from blog.umetrics.com
 ] --- # Using `PCA` .pull-left45[ ```r # train model WITHOUT PCA preprocessing model = train(income ~ ., method = 'lm', data = bas_train) plot(varImp(model)) ```  ] .pull-right45[ ```r # train model WITH PCA preprocessing model = train(income ~ ., method = 'lm', data = bas_train, preProc = c('pca')) plot(varImp(model)) ```  ] --- # Other, easy feature problems .pull-left45[ ### Multi-collinearity Multi-collinearity, <high>high feature correlations</high>, mean that there is redundancy in the data, which can lead to <high>less stable fits</high>, <high>uninterpretable variable importances</high>, and <high>worse predictions</high>. ```r # identify redundant variables findCorrelation(cor(baselers)) ``` ``` [1] 5 ``` ```r # remove from data remove <- findCorrelation(cor(baselers)) baselers <- baselers %>% select(-remove) ``` ] .pull-right45[ ### Unequal & low variance Unequal variance <high>breaks regularization</high> (L1, L2) and renders estimates difficult to interpret. ```r # standardize and center variables train(..., preProc("center", "scale")) ``` Low variance variables add parameters, but <high>can hardly contribute to prediction</high> and are, thus, also redundant. ```r # identify low variance variables nearZeroVar(baselers) ``` ``` integer(0) ``` ] --- # Difficult feature problems
 .pull-left25[ 1 - Trivial features Successful prediction not necessarily implies that a meaningful pattern has been detected.
 2 - Missing features Some problems are hard, requiring the engineering of new features. ] .pull-right65[

 from xkcd.com
 ] --- # Trivial features .pull-left3[ An urban myth?! "The Army trained a program to differentiate American tanks from Russian tanks with 100% accuracy. Only later did analysts realize that the American tanks had been photographed on a sunny day and the Russian tanks had been photographed on a cloudy day. The computer had learned to detect brightness."

 New York Times [Full text] ] .pull-right6[
  from wikipedia.org
 ] --- # Trivial features In 2012, Nate Silver was praised to have correctly predicted the outcomes of the presidential election in 50 states after having correctly predicted 49 states in 2008. <high>But how much of a challenge was that?</high> .pull-left5[

 from vox.com
 ] .pull-right5[

 from vox.com
 ] --- # (Always!) missing features "…some machine learning projects succeed and some fail. What makes the difference? Easily the most important factor is the features used." Pedro Domingos "The algorithms we used are very standard for Kagglers. […] We spent most of our efforts in feature engineering. [...] We were also very careful to discard features likely to expose us to the risk of over-fitting our model." Xavier Conort "Coming up with features is difficult, time-consuming, requires expert knowledge. "Applied machine learning" is basically feature engineering." Andrew Ng --- # Feature engineering .pull-left45[ “Feature engineering is the process of <high>transforming raw data</high> into features that <high>better represent the underlying problem</high> to the predictive models, resulting in improved model accuracy on unseen data.” Jason Brownlee "...while avoiding the <high>curse of dimensionality</high>." duw Feature engineering involves - Transformations - Interactions - New features ] .pull-right45[

 from open.edu
 ] --- class: middle, center
Practical


Recent graduate from University of Rochester with a passion for Information Technology. 5+ years experience specializing in technical consultant and IT support. Part time experience with web development and software development. Super nerd who loves Vim, Linux and OS X and enjoys to customize all of the development environment. Interested in devising a better problem-solving method for challenging tasks, automate everyday tasks and learning new technologies and tools if the need arises.
Parking inside a crowded garage can be difficult and though a car might fit in the space the driver may find it difficult to exit the vehicle. Using cameras, cars can be trained to be autonomous using machine learning models such as convolutional neural networks (CNN). This project is used to explore the autonomous parking into a garage using a remote controlled car as a test vehicle.
Buying headphone amplifiers can take a toll on your wallet, so we built a custom designed amplifier under $30 with load impedence of 30-200Ω using LT Spice and custom PCB designing. The amplifier is designed provided low noice interference and high audio quality.
This was the first real project I did in a hardware description language. This project was done as part of a logic design course and was programmed and tested on an Altera-DE2 FPGA development board. The traffic light controller had two different modes, one where it changed the lights entirely based on time, and the other where it only changed if pedestrians were waiting at an intersection.
In this project we will be making a Simon-Says game using Arduino. The circuit will give a visual feedback and the user has to press the corresponding buttons to get the sequence right. Every correct sequence will make user progress to next level which adds another led to the sequence. Number of levels can be changed in the code to make the game as hard or easy as the user wants.


A language pack is essentially a javascript code file with constants for specific strings in the grid that can be localized. In addition to that, there are formats (e.g. currency format, date format, etc) that can be predefined to match the locale of the specific country.
In order to modify a language pack, just open the respective javascript file and edit it with your favourite text editor. For example, let's say we want to modify the English language pack. Opening the /js/i18n/grid.locale-en.js file in a text editor brings are something along the lines of (this is just a part of the file):
$.jgrid = { defaults : { recordtext: "View {0} - {1} of {2}", emptyrecords: "No records to view", loadtext: "Loading...", pgtext : "Page {0} of {1}" }, search : { caption: "Search...", Find: "Find", Reset: "Reset", odata : ['equal', 'not equal', 'less', 'less or equal','greater','greater or equal', 'begins with', 'does not begin with','is in','is not in','ends with', 'does not end with','contains','does not contain'], groupOps: [ { op: "AND", text: "all" }, { op: "OR", text: "any" } ], matchText: " match", rulesText: " rules" }, ...
Just modify any of the strings/rules you wish. The naming of the string is self-explanatory - for example in order to modify the pager text displaying the number of pages, just modify the pgtext variable in the defaults array. Some of the variables have parameters, e.g. {0}, {1}, etc - these are placeholders for dynamic parameters for the respective string - e.g. pgtext requires two parameters - the current page and the total number of pages. They will be provided automatically by jqGrid.
You can also modify various locale specific formats in the same file. They are defined in the formatter portion of the localization file, for example (this is just a part of the formatter)
formatter : { integer : {thousandsSeparator: " ", defaultValue: '0'}, number : {decimalSeparator:".", thousandsSeparator: " ", decimalPlaces: 2, defaultValue: '0.00'}, currency : {decimalSeparator:".", thousandsSeparator: " ", decimalPlaces: 2, prefix: "", suffix:"", defaultValue: '0.00'}, date : { dayNames: [ "Sun", "Mon", "Tue", "Wed", "Thr", "Fri", "Sat", "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" ], monthNames: [ "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec", "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" ], ...
Just modify anything you wish, like thousandsSeparator for integer format, or the month or dayNames. Finally, save the file with another name, for example, "grid.locale-custom.js" and include it in your page instead of the English file, e.g.
... <head> <!-- The jQuery UI theme that will be used by the grid --> <link rel="stylesheet" type="text/css" media="screen" href="/themes/redmond/jquery-ui-1.7.1.custom.css" /> <!-- The jQuery UI theme extension jqGrid needs --> <link rel="stylesheet" type="text/css" media="screen" href="/themes/ui.jqgrid.css" /> <!-- jQuery runtime minified --> <script src="/js/jquery-1.3.2.min.js" type="text/javascript"></script> <!-- The localization file we need, Custom in this case --> <script src="/js/i18n/grid.locale-custom.js" type="text/javascript"></script> <!-- The jqGrid client-side javascript --> <script src="/js/jquery.jqGrid.min.js" type="text/javascript"></script> ... </head> ...


1. Statistics
The data presented is collected since Canvas was first deployed at KTH 2016-05-10.
1.1. Daily Statistics
Instructions
- Hover pointer for current data for any particular date.
- Zoom in/out by placing the pointer and use mousewheel/touchpad to zoom in on that area. You can also scroll left/right when you have zoomed in.
- Toggle which data to highlight/show by hovering/clicking on the legend.
1.2. Pageviews per content category
2.Course publishing
At KTH Canvas is mainly used to support regualar programme courses defined by the SIS Ladok. There are also other courses within Canvas such as sandboxes, demos or courses used for other purposes but they are not included in the course publishing data below. Ladok courses have 1-9 offerings/yearly and all offerings are represented as courses in Canvas. Cross listing is common due to teachers combining different offerings into one class.
2.1. Ladok course publishing over time
All courses imported from Ladok with
at least one person enrolled (teacher and/or student) and their publishing state in Canvas. The data grouped for each study period (P1-4) during the academic year. The bars represent the sum of all five schools at KTH.
| Ladok courses created |
Ladok courses published |
Ladok courses open |
| Shows all Ladok courses currently imported with at least one user enrolled. For future courses the bar is likely to grow as more courses are added in KOPPS. |
Ladok courses current published for the particular study period regardless of access restriction (closed, institution, public). |
All published Ladok courses that are published either as open to all users at KTH or Public and thus not requiring a KTH-account to access them. |
2.2. Ladok Course publishing ratio
Percentage of Ladok courses with at KTH with at least one enrolled user that are published during the academic year 2017/2018. Please observe that a course is counted
only for the study period (P1-4) on which the course
starts. This means that courses spanning more than one study period is only counted towards the first one.
2.2.1. KTH Ladok course publishing ratio
Aggregated publishing ratio of Ladok courses in Canvas preseted per study period and for the whole academic year.
<IP_ADDRESS>. KTH Ladok course publishing ratio 2018/2019
|
P1 2018/2019 |
P2 2018/2019 |
P3 2018/2019 |
P4 2018/2019 |
2018/2019 |
| KTH |
|
|
|
|
|
<IP_ADDRESS>. KTH Ladok course publishing ratio 2017/2018
|
P1 2017/2018 |
P2 2017/2018 |
P3 2017/2018 |
P4 2017/2018 |
2017/2018 |
| KTH |
|
|
|
|
|
2.2.2. School Ladok course publishing ratio
School level publishing ratio of Ladok courses in Canvas preseted per study period and for the whole academic year.
<IP_ADDRESS>.   Course publishing
Total number of courses created in KTH LMS Canvas and number of published courses in various states.
2.4. Ladok courses published 'open'
Canvas allows for teachers to set the "visibilty" of courses to a higher level than just registrered students. Below is a link to a listing of all Canvas courses in Canvas that currently are accessible either on "institution" (all with KTH account) or "public".
List of currently
open Canvas courses.
3. Usage
Overview of what is used in Canvas for Ladok courses.
3.1. Usage on school level
3.2. Course settings: startpage
This graph indicates which setting teachers have used for published Ladok courses with regards to: course starting page.
The default setting used to be "activity feed" but was changed to "modules" with the 2017-07-15 release, though the course must contain at least one module in order to allow using the default setting.
4. User activity
Number of accounts that has logged into at least one course. Please observe that the same user can be both student and teacher, the role is set on course level. New schools at KTH also have a slighly increased number of users since they encompass legacy courses that belong to 2 or 3 sub-accounts and thus a user can be counted more than once for ITM (ITM+ECE), CBH (BIO+CHE+STH) and EECS (CSC+EES+ICT).
4.1. Active teachers/school
Number of users with a teacher role (Teacher, Course responsible, Examinator or TA). Please note that one user can be listed as "teacher" on more than one of the school due to roles being set for each course.
4.2. Active students/school
Number of users with a student role (Admitted and/or Registrered) that has logged into the system. Please note that one user can be listed as "student" on more than one of the school due to roles being set on each course.


--- layout: post title: Academy of Sciences' Upcoming Free Days date: 2012-05-16 09:20:42.000000000 -07:00 type: post published: true status: publish categories: [] tags: [] meta: _edit_last: '1' author: login: admin email<EMAIL_ADDRESS>display_name: admin first_name: Carina C. last_name: Zon ---
Noooooooo. The Academy of Sciences' neighborhood free days are during Maker Faire? You've got to be kidding. Target market overlap, ahoy.


Republic of Ireland 1-1 Denmark - 5 things we learned as Boys in Green are resigned to Euro play-offs
It was a boisterous night at the Aviva Stadium, but McCarthy's men couldn't get that all important win
by Donagh CorbyIreland have been resigned to a place in the Euro 2020 play-offs after a 1-1 ldraw with old rivals Denmark in Dublin tonight.
Mick McCarthy's men were buoyed on by a raucous crowd at the Aviva Stadium, and looked to be the better side for a good portion of the first half.
They started even better for the second, but couldn't put away a number of chances.
And when Martin Braithewaite broke free of the Irish defence after 73 minutes to touch home Henrik Dalsgaard's cross that came back to haunt them.
Despite a late onslaught towards the Danish goal, that did yield an equaliser through Matt Doherty, Ireland couldn't find their way to the two necessary goals needed to earn an automatic spot at the Euros, and now head for the qualifiers.
Here are 5 things we learned from the game:
1. Ireland can play some great football with confidence
Regardless of tonight's result, Mick McCarthy really seems to have instilled a new mentality into his men since taking over from Martin O'Neill late last year.
It showed at a number of times this evening as there was some really great link-up play in the attacking third that led to some great chances, from a team who only two years ago were beaten 5-1 by tonight's opponents.
It's a promising sign of things to come, and there is certainly cause for optimism .
2. We played our best back four tonight
Richard Keogh's unfortunate injury earlier this month consolidated John Egan's place in the Ireland starting 11, and despite coming off injured at half time, he showed that he deserves that place.
Ciaran Clark is as solid a replacement you could get, but when everybody, including Keogh, is fully fit, Egan should start alongside Duffy, Stevens and Doherty.
Matt Doherty and Enda Stevens were impressive in their roles, including a lovely goal for the Wolves man.
3. David McGoldrick is the first choice striker
The Sheffield United man was immense up front on his own, and showed that Mick McCarthy was right to praise him so highly in the pre-match press conference.
Sure, Maguire and Robinson scored against New Zealand, but if we insist on playing with just one up top it will half to be McGoldrick in future.
4. Alan Browne deserves his spot
The Preston North End playmaker's inclusion may have left some fans bewildered before the game, but he showed some great touches in the final third.
He had a big effort from 25 yards that wasn't a mile off and the Cork native did very well when he got a bit of space on the ball.
The midfielder should definitely be in contention to start in future.
5. McCarthy's men need to wake up earlier
We play some great football under Mick McCarthy, but it took Denmark just one proper chance to score and force us down into the dreaded play-offs.
There were a number of good chances, particularly Conor Hourihane in the first half, for Ireland to take advantage of their dominance, but they seem to lack the killer edge before Denmark took the lead.
This seems to be a recurring problem where we really push the pace only after going behind.
If you haven't already, be sure to like our Irish Mirror Sport and Irish Mirror GAA pages on Facebook and follow us on Twitter.
How to follow the Irish Mirror on social media
You can like our main Facebook page here.
Our Irish Mirror Sports page - which brings you all your Irish and UK sports news - can be found here.
You can also check out our Irish Mirror GAA sports page.
The Irish Mirror Twitter account is @IrishMirror while our sports account is @MirrorSportIE.
Our Instagram account can be found here.